新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Arduino最小系統(tǒng)設(shè)計(jì)

Arduino最小系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2014-05-30 來(lái)源:網(wǎng)絡(luò) 收藏

在電子愛(ài)好者和設(shè)計(jì)師中的影響力極其深遠(yuǎn),可能都不亞于早些年代個(gè)人電腦所帶來(lái)的影響(例如家庭計(jì)算機(jī)俱樂(lè)部等等)。市場(chǎng)上的數(shù)以百萬(wàn)計(jì),據(jù)估計(jì),如果把衍生產(chǎn)品中的也算在內(nèi)就更多了。預(yù)測(cè)在接下來(lái)的 5到10年里,學(xué)校將會(huì)使用Arduino來(lái)教授電子學(xué)和交互式系統(tǒng)原理。

本文引用地址:http://butianyuan.cn/article/247663.htm

Arduino封裝了很多函數(shù),以前很復(fù)雜的功能,現(xiàn)在通過(guò)一個(gè)簡(jiǎn)單的函數(shù)就搞定了。特別適合沒(méi)有太多專業(yè)知識(shí),但又熱愛(ài)DIY的朋友。

?

?

雖然Arduino板子的價(jià)格不高,但忠于DIY精神,動(dòng)手至上。成本大約在10元。

和常規(guī)的最小系統(tǒng)不同,這次用的是Arduino1.0,并且使用了“Upload using Programmer”功能,直接使用USBtinyISP下載程序,省去了usb轉(zhuǎn)串口的下載器,同時(shí)也最大限度的避免了許多麻煩。

材料準(zhǔn)備:

1、(可以是“A-PU”、“PU-8PU”或“ATmega 8-16PU”,具體的差別下面會(huì)說(shuō))

2、22pF陶瓷電容兩個(gè)

3、晶振一個(gè)(“ATmega 8A-PU”、“ATmega 8PU-8PU”用8M,“ATmega 8-16PU”用16M)

4、USBtinyISP一個(gè)

?

?

先看Atmega8引腳示意圖

電路一共分兩個(gè)部分

1、震蕩電路:

?

?

晶振連接Atmega8的pin9(PB6)、pin10(PB7),在分別連接連個(gè)22pF的電容,最后讓一只電容接地。

2、程序下載以及供電部分:

ICSP引腳連接圖:

?

?

+5V → pin7(VCC)

GND → ping22(GND)

D11 → pin17(PB3)

D12 → pin18(PB4)

D13 → pin19(PB5)

reset → pin1(reset)

這是連接好的板子:

?

?

加了一個(gè)紅色的LED做電源指示

下面就該給Atmega8下載bootloader了,現(xiàn)在就有兩種情況:

1、如果是“ATmega 8A-PU”和“ATmega 8PU-8PU”,因?yàn)镮DE里沒(méi)有直接支持8M的板子,所以要自己改造一下:

下載下面的文件,解壓后放在hardwarearduinobootloadersoptiboot目錄下,并在hardwarearduinoboards.txt里添加如下信息:

01.##############################################################

02.

03.atmega8_8M.name=ATmega8_8MHz

04.

05.atmega8_8M.upload.protocol=arduino

06.atmega8_8M.upload.maximum_size=7168

07.atmega8_8M.upload.speed=115200

08.

09.atmega8_8M.bootloader.low_fuses=0xa4

10.atmega8_8M.bootloader.high_fuses=0xdc

11.atmega8_8M.bootloader.path=optiboot

12.atmega8_8M.bootloader.file=optiboot_atmega8_8M.hex

13.atmega8_8M.bootloader.unlock_bits=0x3F

14.atmega8_8M.bootloader.lock_bits=0x0F

15.

16.atmega8_8M.build.mcu=atmega8

17.atmega8_8M.build.f_cpu=8000000L

18.atmega8_8M.build.core=arduino

19.atmega8_8M.build.variant=standard

這時(shí)啟動(dòng)IDE,你就能在board里看到“Atmega8_8M”,選擇他就對(duì)了。

?

?

2、如果是ATmega 8-16PU,在選板子時(shí)直接選擇“arduino NG or w / ATmega 8“就可以了。

?

?

選好板子后,使用USBtinyISP下載bootloader,當(dāng)看到如下圖片是,就說(shuō)明下載成功了。

好了,從這里開(kāi)始就是和其他最小系統(tǒng)不同的地方了,通常我們會(huì)使用一個(gè)USB轉(zhuǎn)TTL的下載器來(lái)下載程序,但因?yàn)榉N種原因,很多時(shí)候會(huì)出錯(cuò)。所以今天我們使用Arduino 1.0的“Upload using Programmer”功能來(lái)下載程序。

首先電路連接不變,還是使用下載bootloader的線路。然后確保你使用的IDE是Arduino 1.0(在Arduino的官網(wǎng),一進(jìn)下載軟件頁(yè)面的就看得見(jiàn)了),然后選擇板子,還是和上面一樣,ATmega 8-16PU可以直接用;“ATmega 8A-PU”和“ATmega 8PU-8PU”請(qǐng)先改造程序,然后寫(xiě)代碼(我寫(xiě)了一個(gè)LED閃爍的程序來(lái)測(cè)試)。

int led = 12;

void setup()

{

pinMode(led,OUTPUT);

}

void loop()

{

digitalWrite(led,HIGH);

delay(1000);

digitalWrite(led,LOW);

delay(1000);

}

寫(xiě)好后點(diǎn)擊最左邊的那個(gè)鉤(編譯)。

?

?

最后是下載,大家可以看一下,在tools下新增加了一個(gè)“Programmer”,點(diǎn)開(kāi)后選擇USBtinyISP,Serial Port就不用選擇了。

?

?

最后打開(kāi)“File”,你可以看到”Upload using Programmer“,點(diǎn)擊后程序就開(kāi)始下載了。

?

?

這是程序下載完后的照片,如果圖片能動(dòng),你就能看見(jiàn)綠色的LED在閃爍。

?

?

總結(jié):如果按照以前的方法制作最小系統(tǒng),下載bootloader和程序要使用兩套電路。而且在下載程序時(shí),TX和DX對(duì)下載線路的要求很高,還需要連接復(fù)位電路。而使用Upload using Programmer下載程序,僅需使用一套電路,簡(jiǎn)化了連接電路帶來(lái)的不便,不需要轉(zhuǎn)換器、不需要復(fù)位電路。最大限度地避免了許多麻煩。

有興趣的同學(xué)可以來(lái)試試。

這是之后焊在洞洞板上的最小系統(tǒng),效果還不錯(cuò)~

?

晶振相關(guān)文章:晶振原理


關(guān)鍵詞: Arduino ATmega 8

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉