面包板搭建Arduino最小系统(修订版)
各个Arduino产品其实都是对Arduino最小系统的各种功能扩展与集成,万变不离其宗,如果自己会做Arduino最小系统了,就可以很方便的定制出特殊功能的专用Arduino。我们就用市面上最常见的ATMEGA8芯片来介绍怎样自己搭建一个最小系统。先来看一下芯片实物图,这是一个标准DIP封装的ATMEGA8。
然后我们再看一下DIP封装的ATMEGA8芯片的引脚图,每个引脚对应的是Arduino哪个端口,图上也已经标出。
一个最小系统我们只需要一个16M晶振与两个22PF电容,按照下图这样子连接9,10引脚。
在面包板上实物连接是这样子的。
最小系统的硬件部分其实就这么简单,但是Arduino之所以叫做Arduino并不单单是硬件,一定要有配套的软件,我们现在就用Arduino 1.0.1 IDE把Bootloader下载进入这个最小的硬件系统。
下载器使用USBTINYISP,ICSP接口1号口接D12,3号接D13,5号接RESET,2号口接VCC,3号口接D11,6号口接GND。如图:
我们看看实物连接图。
先把USB线接上,给USBTINYISP安装驱动后,然后我们点击进入Arduino 1.0.1 IDE,“板卡”选择Arduino NG,“编程器”选择USBTINYSIP,点击“烧写Bootloader”,就可以看到下载器的BUSY灯开始亮,过不到1分钟后,Bootloader就下载好了,
然后我们打开官方例子BLINK代码,就是让D13引脚1秒输出高电平,1秒输出低电平,如果D13引脚接上一个LED,就会有闪烁的效果。
这里很关键,我们编译后,选择文件里的“使用编程器下载”。
下载好以后,我们给D13引脚接上一个LED,就可以看到LED在闪烁了。
除了使用编程器下载,我们也可以对下载好Bootloader的最小系统通过串口下载,但是因为面包板电路电器环境比较差,导致无法使用高速通信的Bootloader,所以如果要进行下面的最小系统实验,我们需要更换0022版本IDE。
首先按照上面的步骤重新给ATMEGA8芯片刷0022 IDE的NG控制板的Bootloader(此Bootloader速度慢一些,但是容易实现手工复位下载程序)。
我们给13引脚串联一个220欧姆的电阻接一颗LED用来做指示灯。RST引脚串联一个10K电阻接VCC,RST引脚同时接一个按钮,按钮另一端接GND用来用作手工复位。实物连接如图:
然后我们把USB TO TTL的VCC接最小系统面包板上的VCC,GND接GND,TX接D0,RX接D1。这样子进行接好,如下图:
运行Arduino 0022 IDE 控制板选择NG ATMEGA8,选好识别出来的端口号,同样选择BLINK例子,点击编译,下载。
点击下载后就有一个最关键的步骤,那就是要点击下载后,要立刻手工按下面包板上的复位按钮,这样子程序才可以正常下载。
下载好以后,我们就可以看到LED在闪烁了。
Arduino最小系统,只是一个系统运行的最低要求,其他可以根据自己的实际需要进行扩展,做出来自己个性化的Arduino。
通过实际验证,AVCC、VCC和VGND、GND之间的105独石电容,还有AREF和GND之间的105独石电容不接的话,这个最小系统不稳定。比如说做按键PWM控制LED的实验的时候,LED不是渐亮渐灭的,而是按下按键一段时间之后忽然亮,或者忽然灭。不知道我这是不是个例,不过之前有看过帖子说加这个可以自动复位什么的。 我必须的试试了 这篇文章好眼熟,你不会是把....发了吧{:soso_e151:} 幻生幻灭 发表于 2012-8-13 19:28 static/image/common/back.gif
这篇文章好眼熟,你不会是把....发了吧
:lol被你发现了 无线电上我也看见了 求大神指点
arduino和51有什么不同? lanse2pty 发表于 2012-8-26 22:05 static/image/common/back.gif
求大神指点
arduino和51有什么不同?
额。。。。这个不同太多了,总体来说呢,Arduino相对51更适合新手入门,Arduino有很多高手写的库,封装了复杂的协议,使用起来相对简单很多。 对于新手来说,这篇文章不错! 老大,这里的atmega8用8MHZ的行吗? 花花和尚 发表于 2012-8-29 22:09 static/image/common/back.gif
老大,这里的atmega8用8MHZ的行吗?
可以用8MHz,不过bootloader也得刷入对应的8M的版本~~~ 我已成功自制第一个Arduino,谢谢弘毅大哥。
还要请教问题:1.每次下载程序都的用这个下载器用同样的方式下载吗?
2.能不能把空集成块安到Arduino板子的Arduino座里,插ICSP座接口用你教的方法下载?
3.能不能下载其他型号的AVR集成块,比如:ATmega328。还有其它的。怎么下? 弘毅 发表于 2012-8-26 23:35 static/image/common/back.gif
额。。。。这个不同太多了,总体来说呢,Arduino相对51更适合新手入门,Arduino有很多高手写的库,封装了 ...
谢谢了,为什么一定要10个字。。 cnkids 发表于 2012-8-13 02:45 static/image/common/back.gif
通过实际验证,AVCC、VCC和VGND、GND之间的105独石电容,还有AREF和GND之间的105独石电容不接的话,这个最小 ...
我服你了哈! LZ你用的芯片和ICSP那张图是配套的,普通芯片根本没有D12之类的标记,我第一次还被误导了:L