最简arduino

最小且最简单的arduino是什么?就是这个小小的attiny85,我在淘宝上拿了几片散的,9元一片。这可比正儿八经的arduino板儿要便宜许多。或者它的兄弟Attiny45, Attiny44也是堪用的,差不多。

直插型的attiny85
attiny85

引脚定义

pin

抛开VCC, GND, RESET几个脚不说,还有5个IO口。

  • 每个IO都可以作为输入或输出
  • 其中Pin0, Pin1可用于PWM输出
  • 另外三个可作为数字输入

为了给attiny85写入程序,我们可以利用手头的的arduino板来做这个事情

步骤1:准备材料

例如现在手上有一块arduino mega 2560.需要准备的材料如下:

  • arduino mega 2560一块
  • attiny85一片
  • 一块面包板
  • 10uF的电解电容一个(防止arduino mega 2560自动复位)
  • 一些杜邦线

步骤2:使用arduino mega 2560作为烧录工具

因为attiny85没有串口,所以需要一个烧录工具ISP (in-system programmer) 。这里利用arduino mega 2560作为ISP.

  1. 将arduino mega 2560连上电脑
  2. 打开arduino软件,我用的是1.0.3
  3. 选择菜单 File> Examples> ArduinoISP
  4. 选择菜单 Tools> Board> Arduino Mega 2560,按实际情况来
  5. 点Upload烧录ArduinoISP

步骤3:安装支持attiny85的插件

  1. 下载ATtiny85插件,github真棒
  2. 检查Sketch目录的位置, 选择菜单 File> Preferences, 我用的是mac,所以sketchbook的路径为 ~/Documents/Arduino
  3. 在sketchbook的目录下新建一个hardware子目录
  4. 将插件的master.zip解压,将其中的attiny目录复制到hardware目录,注意目录层级

以上步骤完成后,重启arduino软件,你会在Tools > Board菜单中看到新增了attiny对应的板子。

步骤4:连接attiny85到arduino mega 2560

引脚对应关系

mega2560  attiny85
D53       pin1
D51       pin5
D50       pin6
D52       pin7
Gnd       Gnd
+5         +5

将10uf的电解电容接在arduino的reset和GND之间,电容的GND对arduino的GND。

attiny85的详细引脚定义

pin

最终接线图

arduino with attiny85

步骤5:烧录程序到attiny85

  • 选择Board > attiny85(internal 1MHZ)
  • 选择file > examples > blink,点击Upload

顺利的话,你就烧录成功了。