如果想要把系統建在全新的板子上,就要:
1.買一個新的晶片
2. 把新的晶片載入bootloader
3.寫入程式(用Arduino程式環境)
所以本文的目標: 把晶片寫入bootloader,然後獨立運作~!
使用的Arduino : UNO 3 (晶片是ATMEGA328p), Arduino 1.0.1
參考官網的:Building an Arduino on a Breadboard
http://arduino.cc/en/Main/Standalone
在麵包板上把必要零件豆上去,手工做的ARDUINO
全新的晶片買來,要先把bootloader 寫進去,當然也有現成的:
[飆機器人網站] 上面賣的,一顆寫好的只要$190 , 可能比市場上零售的空白的還要便宜= =a
http://www.playrobot.com/cart/shop.php?id=687&factory=&header=&sub=&Fno=&date_buy=
算了,還是來研究如何寫空白的吧~ 不然再看下去我就會想說那直接訂UNO3就好了也不用研究了....
還是參考官網的這篇 :
http://arduino.cc/en/Tutorial/ArduinoISP
你可以用兩塊ARDUINO ,一個寫,一個上面要被寫入。
上面這個設定是使用在UNO3 的板子,上面那塊插著新晶片,下面則是原本的沒動來做為寫入器。
也可以把要被寫入的放在麵包板上:
如果不要用外部晶體則要設定使用內部晶體。
細節參考這:
http://arduino.cc/en/Tutorial/ArduinoToBreadboard
我怕用內建晶振有什麼限制(其實就官網上的說明來看,只差下載一個套件做一下內振設定而已),所以很乾脆地就接了有外振電路的方式(其實是想接接看外振晶體XD):
文中有建議最好接LED 來顯示燒錄器是否有運作,是否有錯誤以及燒入動作中指示:
Put an LED (with resistor) on the following pins:
// 9: Heartbeat - shows the programmer is running
// 8: Error - Lights up if something goes wrong (use red if that makes sense)
// 7: Programming - In communication with the slave
所以很偷懶的用了LED 矩陣的三個點來表示,有總比沒有好~
它的心跳顯示真有質感, 有空再研究研究怎麼做的~
這個嗎 ?
Another example, fade an LED up and down with one for loop:
void loop()
{
int x = 1;
for (int i = 0; i > -1; i = i + x){
analogWrite(PWMpin, i);
if (i == 255) x = -1; // switch direction at peak
delay(10);
}
}
我接的線路,其實就是多了一個LED dot matrix ...囧
首先要把要當成燒錄器的UNO3 載入燒錄程式:
勾選 檔案->範例->ArduinoISP , 接著按上載把程式寫到UNO3
接著勾選 工具->燒錄器->Arduino as ISP
接著同樣在工具選單最下方選 "Burn Bootloader" , 就會看到三顆燈一陣亂閃,
使用以上方法已寫入3顆晶片,看來沒有異常發生,而第二顆開始都是用第一顆燒進去的晶片載入燒錄工具,所以可驗證使用無問題。
重覆寫入看來也ok, 不限於一定要原廠空白晶片, 不過就沒試過寫到一半去中斷它....也沒必要這樣試巴XD。
沒有留言:
張貼留言