Digispark Digispark是一個基于ATTINY85微控制器的開發板,體積小且價錢便宜,功能方面則沒有Arduino般強大。代碼與Arduino大同小異,也是使用Arduino IDE開發。 Digispark是Digistump LLC (digistump.com)版權所有,請使用者仔細閱讀Digispark使用協議和版權聲明 Digispark的特別之處是使用了USB與電腦溝通,省了USB至串口轉換器。為此,Digispark必須占用2KB的快閃記憶體(Flash Memory)以便用來安裝Bootloader。 Digispark的功能
打開Examples,大概知道Digispark的功能到達什么程度了。麻雀雖小,五臟俱全。
Arduino for Digispark Examples 規格與說明 - 支持Arduino的IDE 1.0 +(現在是1.04)
- 內置USB
- 6個I / O引腳
- 8K快閃記憶體(Bootloader占用了2KB。剩下約6KB)
- I2C和SPI
- 3個PWM
- 4個ADC
下載與燒錄Bootloader - 下載micronucleus tiny85 bootloader
- 解壓micronucleus-t85-master.zip(1.36MB)至任何文件夾
- 去micronucleus-t85-master\firmware\releases查找Bootloader
以上文件包含了幾個版本(從1.02至1.06)的Bootloader,其中jump表示開機沒有等待(五秒),上載代碼必須使用jumper(D5/reset引腳接地)。這里我使用micronucleus-1.06.hex - 使用AVR燒錄器把micronucleus-1.06.hex燒錄至ATTINY85
- 這里使用AVRISP MKII燒錄器,然後設定以下fuses

AVRISP MKII pinout 
Fuses
完成Bootloader燒錄後,接下來安裝Digispark USB驅動 安裝Digispark USB驅動 - 由于Digispark是使用USB與電腦溝通,所以必須安裝USB驅動。
- 下載用于Digispark的Arduino 1.0.4,自帶了Digispark USB驅動
- 解壓DigisparkArduino-Win32-1.0.4-March29.zip至任何文件夾
- 運行DigisparkArduino-Win32\DigisparkWindowsDriver\InstallDriver.exe(只須安裝一次)
- 完成Digispark USB驅動安裝后,可以連接Digispark至電腦了
Digispark電路圖 下面第一張是官方Digispark電路圖,下面第二張電路圖則是用于測試,5V電源來自電腦的USB通信口,使用非常容易又簡單。建議使用外部USB Hub連接Digispark,以防萬一電路出現問題而損壞電腦的USB通信口。 
Digispark official schematic 
Simplest Digispark schematic 連接與測試Digispark - 把Digispark插入電腦的USB通信口
- 第一次使用時,將會偵察到新的USB設備,同時顯示安裝Digispark Bootloader,單擊Next直至完成USB設備安裝
- 運行DigisparkArduino-Win32\Digispark-Arduino-1.0.4\arduino.exe以便打開Arduino IDE
- 單擊Tools>Board>Digispark (Tiny Core),如圖:

Arduino for Digispark Select Board - 單擊Tools>Programmer>Digispark,如圖:

Arduino for Digispark Select Programmer 先測試一個Digispark Arduino自帶的代碼(Sketch)。單擊File>Examples>Digispark_Example>Start ARDUINO CODE: // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. pinMode(0, OUTPUT); //LED on Model B pinMode(1, OUTPUT); //LED on Model A } // the loop routine runs over and over again forever: void loop() { digitalWrite(0, HIGH); // turn the LED on (HIGH is the voltage level) digitalWrite(1, HIGH); delay(1000); // wait for a second digitalWrite(0, LOW); // turn the LED off by making the voltage LOW digitalWrite(1, LOW); delay(1000); // wait for a second }
按照以下步驟上載代碼(Sketch)至Digispark。上載代碼有一點點麻煩,那就是每次上載前,Digispark必須與電腦斷開,直至電腦顯示插入Digispark時,才將之插回電腦。 
Arduino for Digispark Upload sketch ATTINY85引腳5(Digital 0)和引腳6(Digital 1)各連接一個330歐姆電阻器及LED 。開電測試,你會看到二粒LED間隔一秒的閃著。
|