步驟1:零件
1 x面包板上的Arduino
1 x Arduino UNO
連接線
Arduino IDE安裝在PC上的
第2步:方法
我們將使用Arduino UNO來引導(dǎo)ATmega328坐在面包板上的Arduino上。如果您有ATmega328P-PU,這非常簡(jiǎn)單,但是對(duì)于ATmega328-PU,則需要額外的步驟。
步驟3:將Arduino UNO編程為ISP
我們需要在Instructable中解決這些差異。對(duì)Arduino UNO進(jìn)行編程以充當(dāng)ISP(系統(tǒng)內(nèi)編程器),以便將引導(dǎo)加載程序刻錄到面包板芯片上。
打開Arduino IDE
打開ArduinoISP草圖(在“文件”,“示例”下)
如果您正在使用IDE的1.0版:
搜索無效心跳 》并更改以下行:
delay(40);
到
delay(20);
將您的UNO連接到PC,確保未將其連接到面包板上的Arduino。
確保在Boards菜單選項(xiàng)下選擇了UNO,然后上傳
步驟4:連接ATmega328
現(xiàn)在,將ATmega連接到UNO如下:
UNO 5v ---》 ATmega引腳7(VCC)
UNO GND ---》 ATmega引腳8(GND)
UNO針10 ---》 ATmega針1( RESET)
UNO引腳11 ---》 ATmega引腳17(MOSI)
UNO引腳12 ---》 ATmega引腳18(MISO)
UNO針13 ---》 ATmega針19(SCK)
請(qǐng)確保您沒有將其他任何東西連接到上面使用的ATmega針上。
第5步:您使用的是哪種ATmega328?
我了解了不止一種類型的ATmega328的難題。我們感興趣的兩個(gè)變體是ATmega328-PU和ATmega328P-PU。
后綴 -PU 表示芯片采用PDIP封裝,這是我們所需的格式 328P 是picoPower處理器,設(shè)計(jì)用于低功耗,用于Arduino板上??紤]到低功耗,這是首選。
328 并不具有picoPower技術(shù),并且沒有在Arduino板上使用-并且沒有明確支持。 Arduino IDE。這意味著我們可以輕松地引導(dǎo)ATmega328P,而不是ATmega328。不幸的是,出售這些芯片的網(wǎng)站并不總是能夠區(qū)分它們,而且論壇上到處都是努力使用ATmega328-PU的人們。
幸運(yùn)的是,有一種解決方法-看看我的Crash Bang網(wǎng)站。
步驟6:ATmega328-PU解決方法
每個(gè)微處理器都有一個(gè)簽名 –一個(gè)唯一的代碼來標(biāo)識(shí)其型號(hào)。當(dāng)您啟動(dòng)芯片加載(甚至上傳草圖)時(shí),Arduino IDE會(huì)檢查所選芯片是否與其連接的類型匹配。即使ATmega328-PU本質(zhì)上與ATmega328P-PU具有相同的功能,但它具有不同的簽名,并且是Arduino IDE無法識(shí)別的。
(在幕后:Arduino IDE實(shí)際上使用AVRDUDE對(duì)芯片進(jìn)行編程,因此您將看到來自avrdude的錯(cuò)誤消息。
如果嘗試引導(dǎo)加載ATmega328-PU,則會(huì)收到類似以下內(nèi)容的消息:
avrdude:設(shè)備簽名= 0x1e9514
avrdude:ATMEGA328P的預(yù)期簽名為1E 95 0F
雙重檢查芯片,或使用-F覆蓋此檢查。
得到一個(gè)更加彩色的版本:
avrdude:哎呀!無效的設(shè)備簽名。
解決此問題的方法是“欺騙” IDE,使您認(rèn)為您的328-PU實(shí)際上是328P-PU。免責(zé)聲明:我已經(jīng)對(duì)此進(jìn)行了測(cè)試,并且可以正常工作-不能保證不會(huì)造成無法預(yù)料的后果。
解決方法:
在Arduino文件夾中,找到子文件夾: 。. hardware tools avr etc
制作文件的備份副本: avrdude.conf
打開文本編輯器中的文件 avrdude.conf
搜索:“ 0x1e 0x95 0x0F ”(這是ATmega328P簽名)
替換為:“ 0x1e 0x95 0x14 ”(這是ATmega328簽名)
保存文件
重新啟動(dòng)Arduino IDE
繼續(xù)執(zhí)行說明中的其余步驟,完成引導(dǎo)加載后,將還原您制作的備份副本。
步驟7:引導(dǎo)ATmega328
在Arduino IDE中,從工具菜單中:
在 Board 選項(xiàng)下,選擇 Arduino UNO 串行端口選項(xiàng)下的li》
確保選擇了正確的端口
在 Programmer 選項(xiàng)下的
選擇 Arduino作為ISP
要刻錄Bootloader,請(qǐng)從 Tools 菜單中選擇 Burn Bootloader
您應(yīng)該看到一條消息“正在將Bootloader刻錄到I/O板上(這可能需要一分鐘)”
一旦Bootloader被刻錄,您將看到一條消息,確認(rèn)成功。
恭喜:您現(xiàn)在可以在面包板上將草圖加載到Arduino上了!
上傳草圖
ATmega328P-PU::您可以保留設(shè)置不變,并使用Arduino UNO將草圖上載到新引導(dǎo)的ATmega(文件,U
ATmega328-PU::IDE將注意到簽名無效–因此,您將不得不再次更改avrdude.conf文件或使用FTDI板上傳。無論如何,我還是更喜歡使用FTDI板,因?yàn)樗粫?huì)使UNO停止流通并且可以快速連接。
責(zé)任編輯:wv
-
Arduino
+關(guān)注
關(guān)注
187文章
6464瀏覽量
186642 -
ATmega328
+關(guān)注
關(guān)注
1文章
37瀏覽量
21010
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論