打印
[Atmel]

转:自制arduino控制板

[复制链接]
826|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
自制arduino控制板

前言:

  各个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。

  

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2398

主题

6956

帖子

67

粉丝