前言:
各個Arduino產品其實都是對Arduino最小系統的各種功能擴展與集成,萬變不離其宗,如果自己會做Arduino最小系統了,就可以很方便地定制出特殊功能的專用Arduino。另外,相信通過這篇文章,大家也會改變“Arduino就是買來的一塊控制板”的印象。
我們就用市面上最常見的ATmega8芯片來介紹怎樣自己搭建一個最小系統。先來看一下芯片實物圖(見圖1),這是一個標準DIP封裝的ATmega8。
圖1 DIP封裝的ATmega8
然后我們再看一下DIP封裝的ATmega8芯片的引腳圖(見圖2),每個引腳對應的是Arduino的哪個端口,圖上也已經標出。
圖2 ATmega8芯片引腳及與Arduino端口的對應關系
硬件連接
一個最小系統,我們只需要一個16MHz晶體振蕩器與兩個22pF電容,按照如圖3所示的樣子連接9、10引腳即可,大家可以參照在面包板上的實物連接來看。
最小系統的硬件部分其實就這么簡單,但是Arduino之所以叫做Arduino,并不單單是硬件,一定要有配套的軟件,我們現在就用Arduino 1.0.1 IDE把Bootloader下載進這個最小的硬件系統。
圖3 Arduino最小系統連接方法
通過下載器下載程序
下載器使用USBTINYISP,ICSP接口的1號口接D12,3號口接D13,5號口接RESET,2號口接VCC,3號口接D11,6號口接GND,如圖4所示。
圖4 Arduino最小系統與USBTINYISP下載器連接
先把USB線接上,給USBTINYISP安裝驅動后,我們點擊進入Arduino 1.0.1 IDE,“板卡”選擇“Arduino NG or olderw/ATmega8”,
“編程器”選擇USBTINYSIP,點擊“燒寫Bootloader”,就可以看到下載器的BUSY燈開始亮,過不到1分鐘后,Bootloader就下載好了,如圖5所示。
然后我們打開官方例子里的BLINK代碼,如圖6所示,也就是讓D13引腳輸出1s高電平,然后輸出1s低電平,循環往復,如果D13引腳接上一個LED,就會有閃爍的效果。
圖6 打開官方例子里的BLINK代碼
這里很關鍵,編譯程序后,選擇“文件”里的“使用編程器下載”,如圖7所示。下載好以后,給D13引腳接上一個LED,就可以看到LED在閃爍了。
圖7 編譯程序后,選擇“使用編程器下載”
通過串口下載程序
除了使用編程器下載,我們也可以對下載好Bootloader的最小系統通過串口下載,但是因為面包板電路的電器環境比較差,無法使用高速通信的Bootloader,所以如果要進行下面的最小系統實驗,我們需要更換0022版本的IDE。
首先,按照上面的步驟重新給ATmega8芯片刷0022 IDE的ArduinoNG控制板的Bootloader(此Bootloader速度慢一些,但是容易實現手工復位下載程序)。
我們給D13引腳串聯一個220Ω的電阻和一顆LED(用作指示燈);給RST引腳串聯一個10kΩ電阻,接VCC;同時再給RST引腳接一個按鈕,按鈕另一端接GND,用來做手工復位。實物連接如圖8所示。
圖8 在面包板上連接電阻、LED和按鈕
然后,我們把USB TO TTL的VCC接最小系統面包板上的VCC,GND接GND,TX接D0,RX接D1,如圖9所示。
圖9 Arduino最小系統與USB TO TTL連接
運行Arduino 0022 IDE,“板卡”選擇“Arduino NG or olderw/ATmega8”,選好識別出來的端口號,同樣選擇BLINK程序例子,編譯,下載。
請注意,下載時有一個最關鍵的步驟,那就是在點擊下載按鈕后(見圖10),要立刻手工按一下面包板上的復位按鈕,程序才可以正常下載。下載好以后,我們就可以看到LED在閃爍了。
圖10 點擊下載按鈕后,要立刻按一下面包板上的復位按鈕,程序才可以正常下載。
Arduino最小系統只是一個系統運行的最低要求,其他可以根據自己的實際需要進行擴展,做出來自己個性化的Arduino。
-
控制板
+關注
關注
5文章
254瀏覽量
31191 -
Arduino
+關注
關注
188文章
6468瀏覽量
186954
發布評論請先 登錄
相關推薦
評論