之前曾簡單介紹過Adafruit的穿戴式電子開發平台Flora,這一篇則來看看更小更迷你的Gemma與Trinket,因為兩者都使用同樣的微控制器ATtiny85,所以放在同一篇,並且列出差異處。
ATtiny85基本資料如下:
- 腳位:8個,扣掉Vcc、Gnd、Reset,還有5個,不僅有類比輸入,也有PWM輸出。
- Flash:8KB,其中2.75 KB被bootloader佔據。
- EEPROM:512 bytes。
- SRAM:512 bytes。
下圖是5V的Trinket。
不過ATtiny85這顆AVR微控制器其實並沒有專供存放bootloader的區域,所以有可能因意外或突然拔除電源造成bootloader毀損,但可修復。
除了從USB埠供電,也能從外接電源供電,Gemma有JST端子,Trinket沒有JST,須自行接線到BAT+腳位。外接電壓最高可達16V,而3.3V準位的板子(Gemma與3V Trinket)最低輸入電壓建議值為3.5V,5V準位的板子(5V Trinket)則是5.5V;不需要超過6V,只會變成熱能形成浪費。板子的穩壓器能輸出150mA,可應付一般需求,但若要連接一大堆LED或其他零件,建議直接連往外接電源。
可使用三顆AA或AAA一般電池,1.5 x 3 = 4.5V。可使用四顆AA或AAA充電電池,1.2 x 4 = 4.8V。可使用兩顆2032,3V x 2 = 6V。可使用鋰離子/鋰聚合物電池,約3.6V/4.1V或3.7V/4.2V,但3.6V或3.7V無法供應5V Trinket。
板子會自動在USB埠或外接電源之間切換電力來源。不過Gemma與Trinket沒有外接電源的開關,而Flora有。
ATtiny85的8個腳位,扣掉Vcc、Gnd、Reset後,還有5個。都能作為數位輸入、數位輸出之用,可輸出電流大小約20mA;某些腳位有PWM,某些腳位可作為類比輸入,也支援SPI與I2C介面,其中腳位1連接到內建的LED(紅色)。詳請請參閱官方文件。
5個腳位當中有2個腳位與USB線路共享,Gemma並沒有接出來,Trinket有,使用時須小心,燒錄時最好能拔除這2個腳位連接的電路,避免干擾燒錄。
這些產品仍可稱為相容於Arduino,但因為Arduino官方並無使用ATtiny85的產品,所以需要對Arduino軟體開發環境做點小修改,可直接使用Adafruit修改後的版本,目前支援Windows與Mac,但已經有人成功在Linux下使用。更改的地方並不多,其實就是加入對於ATtiny85以及Gemma與Trinket的支援罷了。
與Arduino官方的1.0.5版比較,更動處後條列如下:
- 子目錄drivers,加入需要的驅動程式。
- 子目錄hardware/arduino/bootloaders/caterina,加入Flora的bootloader。
- 子目錄hardware/arduino/core/arduino/USBCore.cpp,修改加入Adafruit自己的USB廠商編號VID與產品編號PID。
- 子目錄hardware/arduino/variants,增加針腳定義檔。
- 檔案hardware/arduino/boards.txt,修改加入板子的各項設定值。
- 檔案hardware/tools/avr/avr/bin/ld.exe,修正錯誤,讓ATtiny85的草稿碼能大於4K。
- 檔案hardware/tools/avr/etc/avrdude.conf,修改燒錄工具avrdude對於ATtiny85的設定。
- 子目錄libraries/Adafruit_NeoPixel,Adafruit的產品NeoPixel的程式庫。
- 沒有序列介面,不能跟電腦端(序列埠監控視窗)溝通訊息。
- 跟有些USB 3.0埠不相容。
參考資料:
- Adafruit Learning System的Introducing Gemma、Introducing Trinket。
No comments:
Post a Comment