在下曾經使用由 Digispark 製作 Attiny85 的開發板,成本低,體積細小
而且支援 Arduino IDE , 令開發與 Arduino 相似
這次在下測試 Digispark 的另一款 MH-ET LIVE Attiny88 開發板
外觀
MH-ET LIVE Attiny88 的正面
T88-15MZ晶片 是其中一種 Attiny88晶片
RESET按鈕,按下後重新啟動 MH-ET LIVE Attiny88
較貼近 7805 5V穩壓器 的 LED為電源燈,接通電源時會亮著綠光
另一粒為 板載LED ,與 D0 連接,高電壓時亮著紅光
MH-ET LIVE Attiny88 使用 Micro USB Type-B 插孔
MH-ET LIVE Attiny88 的背面
引腳
雖然 MH-ET LIVE Attiny88 引腳的數量、距離與 Arduino Nano 完全相同
但引腳的佈局則則完全不同
USB方向(正面) | |||
---|---|---|---|
左排引腳 | 右排引腳 | ||
D15 | 1 | 30 | D14 |
D16 | 2 | 29 | D13/SCK |
D17/A6 | 3 | 28 | D12/MISO |
D18/A7 | 4 | 27 | D11/MOSI |
D19/A0 | 5 | 26 | D10/SS |
D20/A1 | 6 | 25 | D9 |
D21/A2 | 7 | 24 | D8 |
D22/A3 | 8 | 23 | D7 |
D23/A4/SDA | 9 | 22 | D6 |
D24/A5/SCL | 10 | 21 | D5 |
D25 | 11 | 20 | D4 |
RST | 12 | 19 | D3 |
D0 | 13 | 18 | 5V |
D1/USB- | 14 | 17 | GND |
D2/USB+ | 15 | 16 | VIN |
編號 | 引腳 | 方向 | 功能 |
---|---|---|---|
1 | D15 | 輸入輸出 | 第15數碼引腳 |
2 | D16 | 輸入輸出 | 第16數碼引腳 |
3 | D17/A6 | 輸入輸出 | 第17數碼引腳,第6類比引腳 |
4 | D18/A7 | 輸入輸出 | 第18數碼引腳,第7類比引腳 |
5 | D19/A0 | 輸入輸出 | 第19數碼引腳,第0類比引腳 |
6 | D20/A1 | 輸入輸出 | 第20數碼引腳,第1類比引腳 |
7 | D21/A2 | 輸入輸出 | 第21數碼引腳,第2類比引腳 |
8 | D22/A3 | 輸入輸出 | 第22數碼引腳,第3類比引腳 |
9 | D23/A4/SDA | 輸入輸出 | 第23數碼引腳,第4類比引腳,I2C SDA引腳 |
10 | D24/A5/SCL | 輸入輸出 | 第24數碼引腳,第5類比引腳,I2C SCL引腳 |
11 | D25 | 輸入輸出 | 第25數碼引腳 |
12 | RST | 重設引腳 | |
13 | D0 | 輸入輸出 | 第0數碼引腳,與 板載LED 連接 |
14 | D1/USB- | 輸入輸出 | 第1數碼引腳,與 USB D- 連接 |
15 | D2/USB+ | 輸入輸出 | 第2數碼引腳,與 USB D+ 連接 |
16 | VIN | 電源輸入 | |
17 | GND | 接地 | |
18 | 5V | 5V 電源輸出 | |
19 | D3 | 輸入輸出 | 第3數碼引腳 |
20 | D4 | 輸入輸出 | 第4數碼引腳 |
21 | D5 | 輸入輸出 | 第5數碼引腳 |
22 | D6 | 輸入輸出 | 第6數碼引腳 |
23 | D7 | 輸入輸出 | 第7數碼引腳 |
24 | D8 | 輸入輸出 | 第8數碼引腳 |
25 | D9 | 輸入輸出 | 第9數碼引腳,具備 PWM |
26 | D10/SS | 輸入輸出 | 第10數碼引腳,SPI SS引腳,具備 PWM |
27 | D11/MOSI | 輸入輸出 | 第11數碼引腳,SPI MOSI引腳 |
28 | D12/MISO | 輸入輸出 | 第12數碼引腳,SPI MISO引腳 |
29 | D13/SCK | 輸入輸出 | 第13數碼引腳,SPI SCK引腳 |
30 | D14 | 輸入輸出 | 第14數碼引腳 |
除了兩側引腳,還提供 ICSP6接口
ICSP6 則與 Arduino Nano 相同,包括方向都相同,方便燒錄 Bootloader 到 T88-15MZ
設定編譯器
在 Arduino IDE 的 File > Preferences > Additional Boards Manager URLs: 加入
https://raw.githubusercontent.com/MHEtLive/arduino-boards-index/master/package_mhetlive_index.json
並到 Tools > Board: > Boards Manager... 搜尋 mh-et 並安裝 MH-ET LIVE Boards
Tools > Board: > MH-ET LIVE Boards > MH-ET LIVE Tiny88 (16.0MHz)
在下使用 閃動板載LED 測試
MH-ET LIVE Attiny88 與 Digispark Attiny85 相同,都是不能直接連著 USB 上載 Sketch
而是需要執行上載程序後,才能在連接 USB 時上載 Sketch
不過由於 MH-ET Live Attiny88 有 重設按鈕 ,因此不需要重覆拔插
但上載時發生錯誤並顯示
This tool doesn't know how to upload to this new device. Updates may be available. Device reports version as :2.2 Warning : device with unknown new version of Micronucleus detected.
與 Digispark Attiny85 一樣,由於 Micronucleus 的版本比較舊
需要到 https://github.com/micronucleus/micronucleus/releases/tag/v2.6 下載最新版本
並將 micronucleus 複製到 .arduino15/packages/mhetlive/tools/micronucleus 的目錄中
使用最新版本的 Micronucleus 後,再出現另一個問題
usb_open(): Permission denied. For Linux, copy file https://github.com/micronucleus/micronucleus/blob/master/commandline/49-micronucleus.rules to /etc/udev/rules.d
最簡單的方法就是根據提示下載 49-micronucleus.rules 到 /etc/udev/rules.d ,在 Terminal 輸入
sudo wget `curl "https://github.com/micronucleus/micronucleus/blob/master/commandline/49-micronucleus.rules" | grep 'href *= *"http.*49-micronucleus.rules"' | sed -r 's/.*href *= *"(http.*49-micronucleus.rules)".*/\1/g'` -O "/etc/udev/rules.d/49-micronucleus.rules" sudo service udev restart
亦可以在 Terminal 輸入
echo 'SUBSYSTEMS=="usb", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="0666" KERNEL=="ttyACM*", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1"' \ | sudo tee "/etc/udev/rules.d/49-micronucleus.rules"
直接在 /etc/udev/rules.d 建立 49-micronucleus.rules 而不需要從網絡下載
設置 49-micronucleus.rules 檔案後,輸入
sudo service udev restart
重新整理 udev 的規則
終於可以使用 Arduino IDE 上載 Sketch 到 MH-ET LIVE Attiny88
測試效果
不過通電後, MH-ET LIVE Attiny88 的 紅色LED 會閃動 ,大約 6秒 才正式運作
在下焊接引腳時,同樣根據引腳的功能,使用對應的顏色
與 Arduino Nano 及 Arduino Nano 兼容開發板比較
MH-ET LIVE Attiny88 的外觀與 Arduino Nano 開發板大致相同
最主是由於 MH-ET LIVE Attiny88 沒有硬件 UART ,因此缺少了顯示 TX 及 RX 狀態的 LED
及使用比較常見的 Micro USB Type-B 插孔,而 Arduino Nano 則使用已經不再普及的 Mini USB Type-B
不過大多數 Arduino Nano 兼容開發板已經改用 Micro USB Type-B 或 USB Type-C 插孔
補充資料
MH-ET LIVE Attiny88 的 D1 及 D2 使用時要非常小心
如圖中所示, D1 及 D2 分別連接到 USB D- 及 USB D+
如果將 D1 及 D2 當作一般 IO引腳 使用,在寫入 Sketch 到 MH-ET LIVE Attiny88 前,不能接地
否則有機會會將 微控制器晶片 的韌體損壞
(在下不慎將 Digispark Attiny85 韌體損壞一樣 使用 Arduino IDE 將 Sketch 直接寫入到 ATtiny85 # 意外操作)
如果真的不慎損壞了 MH-ET LIVE Attiny88 的韌體,便需要燒錄新的 Bootloader
ICSP10 轉 ICSP6 轉接器
轉接器的 ICSP6接口 可以直接連接到 MH-ET LIVE Attiny88 上的 ICSP6接口
使用 USB ASP 燒錄 Bootloader 到 MH-ET LIVE Attiny88
到在 Arduino IDE 的 File > Preferences > Additional Boards Manager URLs: 加入
https://drazzy.com/package_drazzy.com_index.json
並到 Tools > Board: > Boards Manager... 搜尋 attinycore 並安裝 ATTinyCore
到 Tools > Board: > ATTinyCore > ATtiny88 (Micronucleus, MH-ET t88 w/16MHz CLOCK)
Burn Bootloader Method: > Fresh install (via ISP, set fuses)
Programmer: > USBasp (ATTinyCore)
設定完成後,點選 Burn Bootloader 便會將 Bootloader 燒錄到 MH-ET LIVE Attiny88
總結
MH-ET LIVE Attiny88 與 Arduino Nano 基本上相同,但成本則比 Arduino Nano 甚至 Arduino Nano 兼容板低
不過與 Digispark Attiny85 一樣,都是無法使用 序列輸入及輸出,因此亦沒有 UART 的 TX 及 RX
而且 具備 PWM 的引腳只有 D9 及 D10
但考慮成本上的折衷,如果只是控制數碼引腳輸入及輸出等基本操作
MH-ET LIVE Attiny88 比 Arduino Nano 作為入門設備更低適合初學者
沒有留言 :
張貼留言