• 專注電子技術學習與研究
    當前位置:單片機教程網 >> Arduino >> 瀏覽文章

    自制Arduino最小系統

    作者:佚名   來源:本站原創   點擊數:  更新時間:2014年08月21日   【字體:

          Arduino 在電子愛好者和設計師中的影響力極其深遠,可能都不亞于早些年代個人電腦所帶來的影響(例如家庭計算機俱樂部等等)。市場上的Arduino數以百萬計, 據估計,如果把衍生產品中的Arduino也算在內就更多了。預測在接下來的 5到10年里,學校將會使用Arduino來教授電子學和交互式系統原理。


    Arduino封裝了很多函數,以前很復雜的功能,現在通過一個簡單的函數就搞定了。特別適合沒有太多專業知識,但又熱愛DIY的朋友。

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

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

      
    材料準備:

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

      2、22pF陶瓷電容兩個

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

      4、USBtinyISP一個

      

    先看Atmega8引腳示意圖

      
    電路一共分兩個部分

      1、震蕩電路:

      
      

      晶振連接Atmega8的pin9(PB6)、pin10(PB7),在分別連接連個22pF的電容,最后讓一只電容接地!2、程序下載以及供電部分:

      ICSP引腳連接圖:

      

      +5V → pin7(VCC)

      GND → ping22(GND)

      D11 → pin17(PB3)

      D12 → pin18(PB4)

      D13 → pin19(PB5)

      reset → pin1(reset)
     

      這是連接好的板子:

      
      加了一個紅色的LED做電源指示

     
    下面就該給Atmega8下載bootloader了,現在就有兩種情況:

      1、如果是“ATmega 8A-PU”和“ATmega 8PU-8PU”,因為IDE里沒有直接支持8M的板子,所以要自己改造一下:

      下載下面的文件,解壓后放在hardware\arduino\bootloaders\optiboot目錄下,并在hardware\arduino\boards.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

      這時啟動IDE,你就能在board里看到“Atmega8_8M”,選擇他就對了。

      

     

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

      選好板子后,使用USBtinyISP下載bootloader,當看到如下圖片是,就說明下載成功了。

      好了,從這里開始就是和其他最小系統不同的地方了,通常我們會使用一個USB轉TTL的下載器來下載程序,但因為種種原因,很多時候會出錯。所以今天我們使用Arduino 1.0的“Upload using Programmer”功能來下載程序。 
     

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

      int led = 12;

      void setup()

      {

      pinMode(led,OUTPUT);

      }

      void loop()

      {

      digitalWrite(led,HIGH);

      delay(1000);

      digitalWrite(led,LOW);

      delay(1000);

      }

      寫好后點擊最左邊的那個鉤(編譯)。

      最后是下載,大家可以看一下,在tools下新增加了一個“Programmer”,點開后選擇USBtinyISP,Serial Port就不用選擇了。

      

      最后打開“File”,你可以看到”Upload using Programmer“,點擊后程序就開始下載了。

      

    這是程序下載完后的照片,如果圖片能動,你就能看見綠色的LED在閃爍。

      

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

      有興趣的同學可以來試試。

      這是之后焊在洞洞板上的最小系統,效果還不錯~

      

     
     
    關閉窗口
    国产农村精品一级毛片视频_亚洲Av无码专区国产乱码在线观看_亚洲综合国产Av_天天影视网天天综合色