【转载】如何缩小我们的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

引脚图:

attiny45_85pinout.png

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)。

Screen-shot-2011-06-06-at-1.46.39-PM.png

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 - 极客工坊

标签: Arduino教程