自制arduino控制板教程

电子说

1.2w人已加入

描述

前言:

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

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

图1 DIP封装的ATmega8

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

图2 ATmega8芯片引脚及与Arduino端口的对应关系

硬件连接

一个最小系统,我们只需要一个16MHz晶体振荡器与两个22pF电容,按照如图3所示的样子连接9、10引脚即可,大家可以参照在面包板上的实物连接来看。

最小系统的硬件部分其实就这么简单,但是Arduino之所以叫做Arduino,并不单单是硬件,一定要有配套的软件,我们现在就用Arduino 1.0.1 IDE把Bootloader下载进这个最小的硬件系统。

图3 Arduino最小系统连接方法

通过下载器下载程序

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

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

先把USB线接上,给USBTINYISP安装驱动后,我们点击进入Arduino 1.0.1 IDE,“板卡”选择“Arduino NG or olderw/ATmega8”,

“编程器”选择USBTINYSIP,点击“烧写Bootloader”,就可以看到下载器的BUSY灯开始亮,过不到1分钟后,Bootloader就下载好了,如图5所示。

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

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

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

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

通过串口下载程序

除了使用编程器下载,我们也可以对下载好Bootloader的最小系统通过串口下载,但是因为面包板电路的电器环境比较差,无法使用高速通信的Bootloader,所以如果要进行下面的最小系统实验,我们需要更换0022版本的IDE。

首先,按照上面的步骤重新给ATmega8芯片刷0022 IDE的ArduinoNG控制板的Bootloader(此Bootloader速度慢一些,但是容易实现手工复位下载程序)。

我们给D13引脚串联一个220Ω的电阻和一颗LED(用作指示灯);给RST引脚串联一个10kΩ电阻,接VCC;同时再给RST引脚接一个按钮,按钮另一端接GND,用来做手工复位。实物连接如图8所示。

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

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

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

运行Arduino 0022 IDE,“板卡”选择“Arduino NG or olderw/ATmega8”,选好识别出来的端口号,同样选择BLINK程序例子,编译,下载。

请注意,下载时有一个最关键的步骤,那就是在点击下载按钮后(见图10),要立刻手工按一下面包板上的复位按钮,程序才可以正常下载。下载好以后,我们就可以看到LED在闪烁了。

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

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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分