Arduino 雖然很方便,但即使 Arduino Nano 仍然佔據一定空間
而且如果不需要用盡所有引腳,使用 ATmega328P 會比較浪費
因此尋找一些不太佔空間、引腳數量不多的微控制器晶片
而且如果不需要用盡所有引腳,使用 ATmega328P 會比較浪費
因此尋找一些不太佔空間、引腳數量不多的微控制器晶片
雖然 Arduino ATmega328P 或 ATmega32U4 與測試的 ATtiny85 都是微控制器
但實際上 Arduino IDE 並不提供直接上載 Sketch 到 ATtiny85 的功能
需要將 ATmega328P 或 ATmega32U4 作為 Arduino ISP 才可以將 Sketch 上載到 ATtiny85
因此仍然需要有 ATmega328P 或 ATmega32U4 才能完成這操作
但實際上 Arduino IDE 並不提供直接上載 Sketch 到 ATtiny85 的功能
需要將 ATmega328P 或 ATmega32U4 作為 Arduino ISP 才可以將 Sketch 上載到 ATtiny85
因此仍然需要有 ATmega328P 或 ATmega32U4 才能完成這操作
ATtiny85 外觀
ATtiny85 的 正面
ATtiny85 的 背面 (有標示生產地)
ATtiny85 引腳
使用 雙列直插封裝 (Dual In-line Package (DIP)) 的 ATtiny85 共有 8支引腳
後 | 8 | 7 | 6 | 5 |
---|---|---|---|---|
用途 | VCC | A0 | D1 | D0 |
RST | A1 | A2 | GND | |
前 | 1 | 2 | 3 | 4 |
編號 | 引腳 | 方向 | 用途 |
---|---|---|---|
1 | RST | 輸入 | 重設 |
2 | A1 | 輸入/輸出 | 第1類比訊號 |
3 | A2 | 輸入/輸出 | 第2類比訊號 |
4 | GND | 接地 | |
5 | D0 | 輸入/輸出 | 第0數碼訊號 / MOSI / SDA (PWM) |
6 | D1 | 輸入/輸出 | 第1數碼訊號 / MISO (PWM) |
7 | A0 | 輸入/輸出 | 第0類比訊號 / SCK / SCL |
8 | VCC | 電源 |
製作 Arduino ISP
到 File > Examples > 11.ArduinoISP > ArduinoISP
載入 ArduinoISP Sketch
載入 ArduinoISP Sketch
到 Tools > Programmer: > AVRISP mkII
使用 AVRISP mkII (預設) 方式將 ArduinoISP 寫入到 Arduino
使用 AVRISP mkII (預設) 方式將 ArduinoISP 寫入到 Arduino
Arduino 接駁 ATtiny85 線路原型
Arduino引腳 | ATtiny85引腳 |
---|---|
5V | VCC |
GND | GND |
D10 | RST |
D11 | D0 |
D12 | D1 |
D13 | D2 |
除了配接線路, Arduino 還需要連接 1粒 電容值為 10uF ,電壓不少於 5V 的電解電容
電解電容的正極 接駁到 Arduino RST引腳
電解電容的負極 接駁到 Arduino GND引腳
電解電容的正極 接駁到 Arduino RST引腳
電解電容的負極 接駁到 Arduino GND引腳
Arduino IDE 加入 ATtiny85 模型
到 Files > Preferences
Arduino IDE 的設定頁面
Arduino IDE 的設定頁面
到 Additional Boards Manager URLs
輸入
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json增加 ATtiny85 的設定連結
Arduino IDE 安裝 ATtiny85 模型
載入 ATtiny85 的設定連結後,到 Boards: > Boards Manager 管理可以使用的 微控制器
搜尋及安裝 attiny
ATtiny85 接駁 LED 線路原型
ATtiny85 接駁 LED 線路原型
測試 ATtiny85 控制 LED 閃動
到 File > Examples > 01.Basics > Blink
載入 LED閃動 Sketch
載入 LED閃動 Sketch
由於 ATtiny85 連同 RST引腳 只有 6支引腳
但預計 LED閃動 Sketch 是使用 Arduino 的 第13引腳
因此需要將 LED_BUILTIN 修改成 ATtiny85 可以使用的 引腳
但預計 LED閃動 Sketch 是使用 Arduino 的 第13引腳
因此需要將 LED_BUILTIN 修改成 ATtiny85 可以使用的 引腳
在下使用 第0數碼引腳 即是 第5引腳
到 Tools > Boards: > ATTiny Microcontrollers > ATtiny25/45/85
載入 ATtiny25/45/85 系列的微控制器
載入 ATtiny25/45/85 系列的微控制器
到 Tools > Processor: > ATtiny85 的微控制器
到 Tools > Programmer: > Arduino as ISP
經 Arduino 上載 Sketch 到 ATtiny85
測試效果
使用 ATtiny85 控制 LED 閃動
總結
ATtiny85 並非最細小的 微控制器,還有更細小的 PIC10F
但 PIC10F 不是 DIP ,不能簡單地透過麵包板接駁線路,不過 ATtiny85 都足夠細小
但 PIC10F 不是 DIP ,不能簡單地透過麵包板接駁線路,不過 ATtiny85 都足夠細小
另外 ATtiny85 比 ATmega328P 接駁的元件更少,只需要 1粒 10uF 電解電容便可以上載 Sketch
而且亦不需要使用石英晶體振盪器,只需要接通 VCC 及 GND 便可以運作
而且亦不需要使用石英晶體振盪器,只需要接通 VCC 及 GND 便可以運作
沒有留言 :
張貼留言