1。 Arduino不是便宜的微控制器!
當像我這樣的Arduino愛好者說“哇,Arduino真是便宜的微控制器!”嚴格地說,這不是真的-它的價格非常便宜,但是在Mouser的搜索框中鍵入“ microcontroller”,您會發現微控制器的價格為30美分,而不是30美元。
。..。
(轉到下一頁)
步驟2:Arduino不是微處理器!
2。 Arduino不是微控制器!
當然,Arduino不是微控制器,而是微控制器的開發環境-包括編程器板,計算機軟件程序和編程語言。除了微控制器芯片本身之外,Arduino的編程/調試解決方案非常簡單易用,并且您所獲得的支持水平非常值得。但是實際上,術語“微控制器”專門指的是Arduino調試板上的ATMEGA芯片。板上的所有其他東西(高檔電源,LED,重置按鈕,編程電路,USB到串行轉換器)完全是可選的。
這可能意味著。..。
(繼續閱讀)
步驟3:如果沒有Arduino開發板,ATMEGA芯片就可以正常工作!
3。 ATMEGA芯片在沒有Arduino板的情況下也能很好地工作!
已經預加載了“ Lilypad”引導加載程序固件(而不是標準Diecimila或Uno固件)的Arduino具有非常特殊的屬性:編程后例如帶有您自己代碼的Arduino,您可以將3美元的ATMEGA168芯片從編程器板上取出,為其提供5V電源(例如來自USB總線或手機充電器的電源),并且仍然可以正常工作并執行與您的$ 30 Arduino一樣令人驚奇的事情,都是寂寞!您只需要Arduino開發板即可對芯片進行編程-之后,芯片可以單飛!
在將代碼上傳到Arduino之前,您需要預加載Lilypad Bootloader固件。購買AVRISP mkII并按照此處的說明進行操作:http://arduino.cc/en/Main/Bootloader。確保在計算機上Arduino IDE窗口的“工具”下拉菜單中選擇“ Lillypad”作為您要使用的板。
更新:我不確定Lilypad引導加載程序是否與較新的板兼容,例如UNO具有Lillypad沒有的自動重置功能。如果您使用的是較新的主板,則可以按照以下說明--http://www.arduino.cc/playground/Main/DisablingAutoResetOnSerialConnection來禁用或不必禁用主板的自動重置功能。如果您曾經在UNO上嘗試過此方法,請發表評論-我自己的開發板有點古玩!
第4步:ATMEGA芯片是廉價的單片機!
4。 ATMEGA芯片是一種廉價的微控制器!
ATMEGA168芯片的價格約為3.00美元,該芯片可完成Arduino的所有工作。 (您也可以使用價格便宜的ATMEGA328或ATMEGA328p -但不要使用ATMEGA168p - Arduino之神出于某種原因決定不支持它。)
步驟5:一些警告:
**警告#1:該技巧起作用的原因是,與對于大多數Arduino,Lilypad Arduino是由ATMEGA的內置振蕩器提供時鐘,而不是由附加的晶體振蕩器電路提供時鐘。缺少額外的振蕩器電路使電路的布線簡單得多,但結果是芯片運行速度較慢(8MHz而不是16MHz),時序也不那么精確。 lilypad引導加載程序知道如何補償這種速度差異,以確保您的所有延遲和波特率以及其他對時間敏感的功能都能正常工作,但事實是,芯片的性能會變慢。除非您的應用程序需要非常精確的時序或需要非常快地執行任務,否則這沒什么大不了的。
如果您完成了Arduino的工作,以適當的16MHz速度運行,請使用兩個22pf陶瓷電容和一個Abracon ABL-16.000MHZ- B2晶體振蕩器,并按上圖所示連接它們。如果您決定使用此16MHz晶體振蕩器設置,請不要使用Lilypad引導加載程序-只需為您所使用的板使用正確的引導加載程序(例如,二分法,duemilanove,uno等)。
**注意事項2: ATMEGA芯片的引腳名稱很奇怪-即ATMEGA引腳1不一定是Arduino引腳1。因此,您需要上面的圖表進行翻譯(由http://courtesy/arduino.cc/zh-CN/Hacking/PinMapping168)
**注意事項3 :無論使用哪種電源(手機充電器,USB插孔或AAA電池都是快速簡便的方法),它可能并非完全穩定的5V。因此,如果您在芯片掛起或意外復位時遇到問題,請在5V與地之間添加一個0.01 uF的電容,并盡可能靠近芯片。這樣可以濾除電源上的噪聲。您還可以在同一位置添加一個額外的10uF電解電容(注意電容器上的極性標記)-這樣可以防止電源中斷。
**第4條:最Arduino的昂貴且復雜的部分是串行到USB電路。通過省略它,我們節省了大量成本和精力,但是如果您仍然想使用普通的arduino通過正常的Serial.print()命令進行通信,則需要購買5V TTL USB-to- rs232適配器電纜,并按以下方式連接:
TXTX電纜---》 ATMEGA引腳2(RXD)
RXRX電纜---》 ATMEGA PIN 3(TXD)
電纜Gndwire ---》 ATMEGA Pin 8(Gnd)
第6步:您掌握了!
責任編輯:wv
-
Arduino
+關注
關注
188文章
6478瀏覽量
188252
發布評論請先 登錄
相關推薦
評論