最简单又最便宜的Arduino
- 五个IO,各个IO可以设成输入(Input)或者输出(Output)
- 其中两个IO可以设成PWM
- 其中三个IO可以设成Analog输入
- 1 x 5V电源power supply
- 1 x Breadboard (Project board)
- 1 x ATTiny85 (这就是我们的Tiny Arduino)
- 1 x Arduino duemilanove(用来上传Sketch至ATTiny85)
- 1 x 10 uF 电容器capacitors(防止Arduino duemilanove自动复位)
- 5 x 光二极管LED
- 5 x 电阻器Resistors
- 以及少许Wire
由于ATTiny85 本身没有串行(Serial)接口,所以我们必须借用外面的编译器来上载Sketch,这里我们使用Arduino duemilanove上载Sketch至ATTiny85。因此我们必须把Arduino duemilanove设成编译器(in-system programmer)简称为ISP。
- 将Arduino duemilanove连接至电脑
- 打开Arduino 软件,这里我使用arduino-0023
- 按File>Examples>ArduinoISP

- 按Tools>Board>Arduino Duemilanove or Nano w/ATmega328 或者Arduino UNO

- 单击Upload icon开始上载Sketch至Arduino duemilanove
- 现在你的Arduino duemilanove变成ISP编译器了
你必须添加plugin支持ATtiny85:
- 下载ATtiny85 Plugin
- 找出Arduino sketchbook文件夹,按File>Peferences,我的sketchbook是在D:\My Documents\Arduino如图下:

- 如果sketchbook文件夹里没有Hardware文件夹,就自己创建一个
- 把已经下载的ATtiny85 Plugin解压到Hardware文件夹里。如图下

连接Arduino duemilanove至ATTiny85,接法如图下:

这里设计一个跑马灯电路图,五粒LED顺序地跑。

- 按File>New
- 复制以下跑马灯源码
- 按Tools>Board>ATtiny85 (w/Arduino as ISP)

- 单击Upload icon开始上载Sketch至ATtiny85
// The sketch demonstrate a 5 channel running light using ATTiny45/85 micro controller #define CH1 0 // ATTiny45/85 PIN5 long interval = 1000; // set the LED blink speed (1000ms= one second) void setup() void loop() { digitalWrite(CH2, HIGH); // set the LED on digitalWrite(CH3, HIGH); // set the LED on digitalWrite(CH5, HIGH); // set the LED on |
#define MAX_CHANNEL 5 int Channel[MAX_CHANNEL] = {CH1, CH2, CH3, CH4, CH5}; long interval = 500; //speed = 0.5 second void setup() { void loop() ///////////////////////// turn on all LED ///////////////////////// turn off all LED ///////////////////////// run LED in sequence void runKnightRider (void) { ///////////////////////// run LED randomly for (byte i=0; i<MAX_CHANNEL; i++) { |
Arduino Tiny支援以下指令
- pinMode()
- digitalWrite()
- digitalRead()
- analogRead()
- analogWrite()
- shiftOut()
- pulseIn()
- millis()
- micros()
- delay()
- delayMicroseconds()
- SoftwareSerial (Arduino 1.0才支持)
