【转载】如何缩小我们的Arduino项目_压缩包地址更新
公孙林 于 2014-6-8 21:42 编辑
转自:http://bbs.iqrobot.com/forum.php?mod=viewthread&tid=793
本文译自Make上的文章How-To: Shrinkify Your Arduino Projects(原文链接),及文中提及的教程说明(原文链接)。
从开始用Arduino做电子制作的那一刻起,我就一直希望能够将它们缩小到单一的小电路板上。我最早做的项目是一个可以自定义的单反相机定时触发器,使用了Arduino Deumilanove,面包板和很多跳线,一起装在一个电话簿大小的纸盒里。一天大早上五点,我带着这个盒子到中央公园,打算拍日出的缩时摄影,可到了地方,却花了20分钟时间把已经乱作一团的零件重新连起来。从那以后,我尝试了几种方法试图将制作项目的体积缩小,坚固性提高。拿定时触发器来说,我设计了一块带引脚插座的电路板,将它牢牢地插在一块Arduino Nano上。这样确实好多了,但我知道一定还有更好的方法。
我试着自学AVR编程,但是遇到不少阻碍。光是让一个小LED闪亮就花了好几个小时,和初次学习Arduino的经历相比真是天壤之别。我还试过PICAXE芯片,跟AVR比是容易上手多了,但这样就意味着要放弃我多年来在C语言编程上的积累,转而去学习一种新的BASIC语言。虽然小时候用过,但是变化已经太大,简直就是完全不同的东西。
因此当我看到麻省理工媒体实验室的High-Low Tech Group的一篇教程时简直高兴坏了,文章教你怎样用Arduino的集成开发环境和编程语言来给一种8引脚的ATtiny45或ATtiny85芯片编程。不仅如此,还指导你如何用一块Arduino板子做ISP下载器将程序写入这些芯片中。用这些方法,就可以满足我想要的一切了,我赶紧订了一批这样的小芯片开始测试。
按教程使用Arduino的语言和开发环境进行开发十分简单,我测试了所有的数/模IO功能,全都工作正常。测试别的功能时,有成功也有失败,大家还是亲自去尝试一下最好。测试中我甚至只用了不到一小时时间就做出了一个闪亮的电子玩具。现在可以考虑用这个方法重做我的单反定时触发器了,这次可以把体积从纸盒缩小到薄荷糖铁盒那么大了!
这篇视频教程的链接在这里:http://cdn.makezine.com/make/2011/10/HowTosMatt-shrinkify.m4v
以下是教程的文字说明:
本教程将指引你使用Arduino的硬件及软件来为ATtiny45或ATtiny85微处理器编程,这两种微处理器体积小(8个引脚),价格低(2-3美元),可以很方便地用来跑一些简单的程序。两种芯片几乎完全一样,只是ATtiny85的内存是ATtiny45的两倍,因此可以运行更复杂一些的程序。我们喜欢用这两种芯片和一些简单的电路去完成有趣的制作项目。在这些芯片中编程需要使用由Alessandro Saporetti 创建,HLT修改的一部分Arduino核心类库。
材料和工具:
Arduino Uno或Duemilanove(旧版使用ATmega168的那种不行,要使用ATmega328的新版的)ATtiny45或ATtiny85 (8引脚DIP封装)一个10uF的电容一块面包板一些跳线
软件
你需要Arduino的集成开发环境(版本0022,Arduino官网),支持ATtiny45/85芯片的插件(下载地址),Arduinok开发环境软件的安装指南有Windows及Mac OS X版的。
ATtiny45及ATtiny85
引脚图:
2012-8-30 11:34 上传
(18.79 KB)
安装ATtiny45 / ATtiny85的支持插件
下载插件:http://www.hobbytronics.co.uk/datasheets/attiny45_85.zip找到你电脑中Arduino小程序的存储文件夹在该文件夹中新建一个名为hardware文件夹从下载的zip文件中将attiny45_85文件夹解压缩到hardware文件夹中重启Arduino开发环境
将Arduino板作为开发工具
我们将使用Arduino为这两种微处理器编程,首先,我们要把Arduino板变成ISP下载器:
运行Arduino开发环境在examples菜单项下打开ArduinoISP小程序选择对应于你正在使用的Arduino型号及串口上载ArduinoISP小程序
将Arduino板与ATtiny微处理器连接
请按下图所示连接Arduino和ATtiny,注意ATtiny表面的定位点,按正确位置插好。如果你用的是Arduino Uno的话,还要在Arduino的reset和ground引脚间连入一个10uF的电容(电容负极一端接ground)。
2012-8-30 11:34 上传
(65.13 KB)
引脚接法:
ATtiny Pin 2接Arduino Pin 13(其它下载器的话接SCK口)ATtiny Pin 1接Arduino Pin 12(其它下载器的话接MISO口)ATtiny Pin 0接Arduino Pin 11(其它下载器的话接MOSI口)ATtiny Reset Pin接Arduino Pin 10(其它下载器的话接RESET口)
为ATtiny45或ATtiny85编程
下面我们将可以使用Arduino做下载器将程序载入到ATtiny45/85中:
在examples菜单项下打开Blink小程序将pin number从13改为0在Tools > Board菜单项下选择ATtiny45 (w/ Arduino as ISP)或者ATtiny85 (w/ Arduino as ISP)上载小程序
你可能会看到下面的信息,不过不用担心,不会影响上载的。
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
上载完成后,可以接上一个LED看看效果了。
参考
下面的Arduino命令经测试可用:
- pinMode()
- digitalWrite()
- digitalRead()
- analogRead()
- analogWrite()
- shiftOut()
- pulseIn()
- millis()
- micros()
- delay()
- delayMicroseconds()
via - 极客工坊