2012年4月10日 星期二

使用 Arduino 燒錄 ATtiny

image

上禮拜六去寶藏巖參加 Openlab Taipei 舉辦的 Our do ino 聚會,跟大家一起學習如何使用 ATtiny85 晶片。本來計劃要用 ATtiny85 搭配 V-USB 製作 USB 名片卡,因為對 ATtiny85 不夠熟悉,中途卡了個關,沒有試成功(PS:可能是 ATtiny85 運作頻率沒設正確)。不過,至少我們學會了怎麼用 Arduino 燒錄 ATTiny。這篇是如何使用 Arduino 燒錄 ATtiny 的記錄。

我們用的是 ATtiny85 晶片,雖然如此,這篇所說的方法對 ATtiny84 (84/44/24), ATtiny85 (85/45/25) 和 ATtiny2313 這些系列的晶片來說應該都適用。

材料

你需要準備下列這些材料:

  • Arduino Uno 或 Duemilanove
  • ATtiny85 晶片
  • 麵包板
  • LED 一顆
  • 跳線些許
安裝 arduino-tiny
  • 下載 arduino-tiny
  • 開啟檔案總管,切到 Arduino sketchbook 資料夾(通常是 "C:\Documents and Settings\username\My Documents\Arduino"
  • 在 sketchbook 資料夾下建立 hardware 資料夾
  • 解開 arduino-tiny 後,把裏面的 tiny 這個資料夾 copy 到 hardware 資料夾
  • 重新啟動 Arduino IDE
  • Tools > Board 選單裏,你應該會看到像下圖一樣多出很多 ATtiny 的板子可供選擇

image

把 Arduino 變成燒錄器

我們要用 Arduino 來燒錄 ATtiny 晶片,所以必須先把 Arduino 變成燒錄器 (In-System Programmer, ISP),方法是:

  • 啟動 Arduino IDE
  • 打開 File > Examples > ArduinoISP 這支程式
  • 注意:如果你用的是 Arduino 1.0,你必須先修改 ArduinoISP 的程式,把 heartbeat() function 的 delay(40) 改成 delay(20)。詳情請見這篇的說明。
  • Tools > Board 選擇你的 Arduino 板子,例如 Uno 或 Duemilanove
  • 上傳 ArduinoISP 程式
連接 Arduino 與 ATtiny

接著要連接 Arduino 與 ATtiny。首先,先來看 ATtiny85 晶片的外觀:

image

從外觀上看,晶片有一點的地方就是接腳 1 的位置 (即 Reset pin)。下圖則是 ATtiny85 的 pinout:

image

照下圖連接 Arduino 與 ATtiny:

image

接腳連線說明:

  • ATtiny Pin 4 接到 Gnd
  • ATtiny Pin 8 接到 +5V
  • ATtiny Pin 1 (Reset Pin) 接到 Arduino Pin 10
  • ATtiny Pin 5 接到 Arduino Pin 11
  • ATtiny Pin 6 接到 Arduino Pin 12
  • ATtiny Pin 7 接到 Arduino Pin 13

另外,順便在 ATtiny Pin 5 上接一顆 LED,因為我們待會馬上會用到。

燒錄 ATtiny

再來我們就可以用 Arduino 來燒錄 ATtiny 了,也就是透過 Arduino 把程式上傳到 ATtiny 上。

  • File > Examples > 1. Basics > Blink 打開 Blink 程式
  • 把原本的 pin number 從 13 改成 0
  • Tools > Board 選擇 "ATtiny85 @ 1 MHz  (internal oscillator; BOD disabled)"
  • 上傳程式

過幾秒鐘後,狀態列上就會顯示 Done uploading 的訊息。你可能會看到底下這兩行訊息,不過別擔心,程式應該是有正確上傳的:

avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85

2012-04-09 20h59_39

上傳成功後,你就會看到麵包板上的那顆 LED 會亮一秒、滅一秒,不斷地在閃爍。

參考資料

0 意見: