查看: 12854|回复: 10

用面包板自制Arduino(from《无线电》)

  [复制链接]
  • TA的每日心情
    郁闷
    2024-10-28 10:11
  • 签到天数: 1703 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2012-11-13 15:39:27 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 nemon 于 2012-12-10 09:22 编辑

    前言:
         各个Arduino产品其实都是对Arduino最小系统的各种功能扩展与集成,万变不离其宗,如果自己会做Arduino最小系统了,就可以很方便地定制出特殊功能的专用Arduino。另外,相信通过这篇文章,大家也会改变“Arduino就是买来的一块控制板”的印象。

         我们就用市面上最常见的ATmega8芯片来介绍怎样自己搭建一个最小系统。先来看一下芯片实物图(见图1),这是一个标准DIP封装的ATmega8。


                       5042_20121023141030_aW1hZ2UwMDE=.jpg
                                        图1  DIP封装的ATmega8

         然后我们再看一下DIP封装的ATmega8芯片的引脚图(见图2),每个引脚对应的是Arduino的哪个端口,图上也已经标出。

           5042_20121023151005_aW1hZ2UwMDQ=.png
                              图2  ATmega8芯片引脚及与Arduino端口的对应关系

    硬件连接
         一个最小系统,我们只需要一个16MHz晶体振荡器与两个22pF电容,按照如图3所示的样子连接9、10引脚即可,大家可以参照在面包板上的实物连接来看。
         最小系统的硬件部分其实就这么简单,但是Arduino之所以叫做Arduino,并不单单是硬件,一定要有配套的软件,我们现在就用Arduino 1.0.1 IDE把Bootloader下载进这个最小的硬件系统。


           5042_20121023151042_aW1hZ2UwMDc=.jpg       
    5042_20121023151032_aW1hZ2UwMDU=.jpg
                            图3  Arduino最小系统连接方法

    通过下载器下载程序
        下载器使用USBTINYISP,ICSP接口的1号口接D12,3号口接D13,5号口接RESET,2号口接VCC,3号口接D11,6号口接GND,如图4所示。

        5042_20121023151037_aW1hZ2UwMTE=.jpg
           5042_20121023151008_aW1hZ2UwMDk=.jpg

                          图4  Arduino最小系统与USBTINYISP下载器连接

        先把USB线接上,给USBTINYISP安装驱动后,我们点击进入Arduino 1.0.1 IDE,“板卡”选择“Arduino NG or older w/ATmega8”,“编程器”选择USBTINYSIP,点击“烧写Bootloader”,就可以看到下载器的BUSY灯开始亮,过不到1分钟后,Bootloader就下载好了,如图5所示。



        5042_20121023151050_aW1hZ2UwMTM=.jpg
           5042_20121023151055_aW1hZ2UwMTU=.jpg
                                      图5  下载Bootloader

         然后我们打开官方例子里的BLINK代码,如图6所示,也就是让D13引脚输出1s高电平,然后输出1s低电平,循环往复,如果D13引脚接上一个LED,就会有闪烁的效果。

                             5042_20121023151006_aW1hZ2UwMTg=.png

                               图6  打开官方例子里的BLINK代码

         这里很关键,编译程序后,选择“文件”里的“使用编程器下载”,如图7所示。下载好以后,给D13引脚接上一个LED,就可以看到LED在闪烁了。

                          5042_20121023151049_aW1hZ2UwMTk=.png

                               图7  编译程序后,选择“使用编程器下载”

    通过串口下载程序
        除了使用编程器下载,我们也可以对下载好Bootloader的最小系统通过串口下载,但是因为面包板电路的电器环境比较差,无法使用高速通信的Bootloader,所以如果要进行下面的最小系统实验,我们需要更换0022版本的IDE。
        首先,按照上面的步骤重新给ATmega8芯片刷0022 IDE的Arduino NG控制板的Bootloader(此Bootloader速度慢一些,但是容易实现手工复位下载程序)。
        我们给D13引脚串联一个220Ω的电阻和一颗LED(用作指示灯);给RST引脚串联一个10kΩ电阻,接VCC;同时再给RST引脚接一个按钮,按钮另一端接GND,用来做手工复位。实物连接如图8所示。

                            5042_20121023151022_aW1hZ2UwMjA=.jpg

                                     图8   在面包板上连接电阻、LED和按钮

        然后,我们把USB TO TTL的VCC接最小系统面包板上的VCC,GND接GND,TX接D0,RX接D1,如图9所示。

                         5042_20121023151001_aW1hZ2UwMjI=.jpg

                                  图9  Arduino最小系统与USB TO TTL连接

        运行Arduino 0022 IDE,“板卡”选择“Arduino NG or older w/ATmega8”,选好识别出来的端口号,同样选择BLINK程序例子,编译,下载。
    请注意,下载时有一个最关键的步骤,那就是在点击下载按钮后(见图10),要立刻手工按一下面包板上的复位按钮,程序才可以正常下载。下载好以后,我们就可以看到LED在闪烁了。

                             5042_20121023161056_aW1hZ2UwMjQ=.jpg
                     图10  点击下载按钮后,要立刻按一下面包板上的复位按钮,程序才可以正常下载。

         Arduino最小系统只是一个系统运行的最低要求,其他可以根据自己的实际需要进行扩展,做出来自己个性化的Arduino。
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2020-3-19 13:22
  • 签到天数: 805 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2012-11-13 16:35:57 | 显示全部楼层
    佩服  学习了 .                                          
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2015-2-14 09:02
  • 签到天数: 656 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-12-7 11:57:16 | 显示全部楼层
    看不到图
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2024-10-28 10:11
  • 签到天数: 1703 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2012-12-7 12:05:22 | 显示全部楼层
    exiao 发表于 2012-12-7 11:57
    看不到图

    已修复。谢谢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-12-9 17:46
  • 签到天数: 536 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-12-8 17:02:33 | 显示全部楼层
    这篇文章好眼熟啊...........
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2023-1-28 16:20
  • 签到天数: 980 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2012-12-14 16:32:40 | 显示全部楼层
    不错  回去用 万用版搞一个
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-8-25 12:42
  • 签到天数: 692 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-12-15 10:21:13 | 显示全部楼层
    这个开放平台真是不错
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2015-12-14 11:43
  • 签到天数: 556 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-12-22 13:40:16 | 显示全部楼层
    不错哦                 
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-7-16 16:03
  • 签到天数: 751 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2012-12-30 15:10:42 | 显示全部楼层
    不错,支持   
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-12-7 14:03
  • 签到天数: 108 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2013-8-21 20:37:28 | 显示全部楼层
    不错,学习了。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-12-24 20:46 , Processed in 0.213706 second(s), 34 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.