1、如何缩小我们的 Arduino 项目 本文译自 Make 上的文章 How-To: Shrinkify Your Arduino Projects(原文 链 接 ),及文中提及的教程说明(原文 链接 )。 从开始用 Arduino 做电子制作的那一刻起,我就一直希望能够将它们缩小到单一的小电路板上。我最早做的项目是一个可以自定义的单反相机定时触发器,使用了 Arduino Deumilanove,面包板和很多跳线,一起装在一个电话簿大小的纸盒里。一天大早上五点,我带着这个盒子到中央公园,打算拍日出的缩时摄影,可到了地方,却花了 20 分钟时间把已经乱作一团 的零件重新连起来。从那以后,我尝试了
2、几种方法试图将制作项目的体积缩小,坚固性提高。拿定时触发器来说,我设计了一块带引脚插座的电路板,将它牢牢地插在一块Arduino Nano 上。这样确实好多了,但我知道一定还有更好的方法。 我试着自学 AVR 编程,但是遇到不少阻碍。光是让一个小 LED 闪亮就花了好几个小时,和初次学习 Arduino 的经历相比真是天壤之别。我还试过 PICAXE 芯片,跟 AVR 比是容易上手多了,但这样就意味着要放弃我多年来在 C 语言编程上的积累,转而去学习一种新的BASIC 语言。虽然小时候用过,但是变化 已经太大,简直就是完全不同的东西。 因此当我看到麻省理工媒体实验室的 High-Low Tec
3、h Group 的一篇教程时简直高兴坏了,文章教你怎样用 Arduino 的集成开发环境和编程语言来给一种 8 引脚的 ATtiny45 或ATtiny85 芯片编程。不仅如此,还指导你如何用一块 Arduino 板子做 ISP 下载器将程序写入这些芯片中。用这些方法,就可以满足我想要的一切了,我赶紧订了一批这样的小芯片开始测试。 按教程使用 Arduino 的语言和开发环境进行开发十分简单,我测试了所有的数 /模 IO 功能,全都工作正常。测试别的 功能时,有成功也有失败,大家还是亲自去尝试一下最好。测试中我甚至只用了不到一小时时间就做出了一个闪亮的电子玩具。现在可以考虑用这个方法重做我的单
4、反定时触发器了,这次可以把体积从纸盒缩小到薄荷糖铁盒那么大了! 这篇视频教程的链接在这里: iTunes,直接下载 M4V 文件 , Youtube, Vimeo 以下是教程的文字说明: 本教程将指引你使用 Arduino 的硬件及软件来为 ATtiny45 或 ATtiny85 微处理器编程,这两种微处理器体积小( 8 个引脚),价格低( 2-3 美元),可以很方便地用来跑一些简单的程序。两种芯片几乎完全一样,只是 ATtiny85 的内存是 ATtiny45 的两倍,因此可以运行更复杂一些的程序。我们喜欢用这两种芯片和一些简单的电路去完成有趣的制作项目。在这些芯片中编程需要使用由 Ales
5、sandro Saporetti 创建, HLT 修改的一部分 Arduino 核心类库。 材料和工具: Arduino Uno 或 Duemilanove(旧版使用 ATmega168 的那种不行 ,要使用 ATmega328的新版的 ) ATtiny45 或 ATtiny85 (8 引脚 DIP 封装 ) 一个 10uF 的电容 一块面包板 一些跳线 软件 你需要 Arduino 的集成开发环境(版本 0022, Arduino 官网 ),支持 ATtiny45/85 芯片的插件( 下载地址 ), Arduinok 开发环境软件的安装指南有 Windows 及 Mac OS X 版的。 A
6、Ttiny45 及 ATtiny85 引脚图: 安装 ATtiny45 / ATtiny85 的支持插件 下载插件 找到你电脑中 Arduino 小程序的存储文件夹 在该文件夹中新建一个名为 hardware 文件夹 从下载的 zip 文件中将 attiny45_85 文件夹解压缩到 hardware 文件夹中 重启 Arduino 开发环境 将 Arduino 板作为开发工具 我们将使用 Arduino 为这两种微处理器编程,首先,我们要把 Arduino 板变成 ISP 下载器: 运行 Arduino 开发环境 在 examples 菜单项下打开 ArduinoISP 小程序 选择对应于你
7、正在使用的 Arduino 型号及 串口 上载 ArduinoISP 小程序 将 Arduino 板与 ATtiny 微处理器连接 请按下图所示连接 Arduino 和 ATtiny,注意 ATtiny 表面的定位点,按正确位置插好。如果你用的是 Arduino Uno 的话,还要在 Arduino 的 reset 和 ground 引脚间连入一个 10uF 的电容(电容负极一端接 ground)。 引脚接法: ATtiny Pin 2 接 Arduino Pin 13(其它下载器的话接 SCK 口) ATtiny Pin 1 接 Arduino Pin 12(其它下载器的话接 MISO 口)
8、 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)
9、 上载小程序 你可能会看到下面的信息,不过不用 担心,不会影响上载的。 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()