Arduino最小系統設計

2021-01-08 電子產品世界

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

本文引用地址:http://www.eepw.com.cn/article/247663.htm

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下載程序,僅需使用一套電路,簡化了連接電路帶來的不便,不需要轉換器、不需要復位電路。最大限度地避免了許多麻煩。

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

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

 

相關焦點

  • Arduino_集合Arduino教程、Arduino IDE及設計應用的技術專題
    26# 雲端 說:2014-05-18 22:55 家庭物聯網,離不開arduino 25# wyf86
  • 設計世界上最小的 Arduino!
    作者 | Justin K譯者 | 彎月,責編 | 屠敏以下為譯文:在最近的一個項目中,我與朋友們合作創造了世界上最小的Arduino兼容板,我們給它起名叫作Atto!如下視頻演示了Atto的運行,它的RGB(彩虹)LED亮了。你想知道Atto有多小嗎?0.4「x 0.45」(10.3mm x 11.5mm)怎麼樣?
  • 極客DIY:利用Arduino製作智能家居系統
    微信號:freebuf智能家居系統簡單來說是融合了自動化控制系統、
  • Arduino為什麼這麼火
    本文作者:May愛丁堡大學Design Informatics碩士畢業,擅長互動設計與用戶體驗作品集輔導與Arduino原型開發輔導。正文:這一兩年間,arduino作為一個能夠快速表現設計想法的工具,日漸火了起來,愛好者們自發性、非官方組織起來的論壇社區日漸豐富和活躍,近一兩年小夥伴們的作品集中也越來越多地涉及arduino相關的項目案例,那麼我們就簡單地來看一下arduino究竟好在哪裡。
  • 粵嵌小創客arduino人工智慧課程,越來越多家長讓他學這個?
    其實 Arduino 是一款便捷靈活、方便上手的開源電子原型平臺,包含硬體(各種型號的arduino板)和軟體(arduino IDE).她適用於藝術家、設計師、愛好者和對於「互動」有興趣的朋友們。Arduino組合外接設備後可以設計成植物管家,寵物餵食器,地震裝置,無人機,3D列印等。可以說現在市面上幾乎所有的電子設備,都可以直接使用Arduino板或者使用其中的電子技術來進行核心控制。  目前國內少兒編程培訓課程分成兩大類型:軟體編程教學與硬體編程培訓。軟體編程教學體系主要是遵循「圖形?-?代碼?-?
  • arduino 從零開始(2)探索arduino開發板和arduino IDE
    1、你將會探索arduino開發板2、你將會打開並上傳程序到arduino 板3、你將會學到arduino程序的基本框架和基本函數4、你將會自己編寫並上傳arduino程序一、arduino 板簡單來說,arduino(硬體)就是一個可以用來根據你的要求進行編程從而可以和很多輸入輸出設備進行交互的一個微型電腦系統。
  • LABVIEW+Arduino
    LABVIEW+ARDUINO在頻率源、開關等微波組件測試時,需要切換不同的頻點或者通道,在沒有自動測試系統時,通常的做法是使用撥碼開關來控制各個控制位的高低電平
  • 最小的Arduino開發板Digispark
    >內置USB (軟體實現)6個I / O引腳 (Reset口也可以變為IO口)8K Flash存儲器(Bootloader佔2KB,1萬次擦寫)512位元組EEPROM(10萬次擦寫)512位元組RAMI2C和SPI3個PWM4個ADC (10位)       Digispark是一款設計非常簡單的開發板
  • 用Arduino開發物聯網設備之初識Arduino
    那麼最簡單、應用範圍最廣的開發方式當然是Arduino,那麼什麼是Arduino呢?Arduino到底是什麼?這個問題其實是有一點混亂的,因為arduino既可以指硬體,也可以指軟體。它其實是指的即是硬體又是軟體,我們平時所說的多數指的是它的軟體開發平臺,也就是軟體部分。
  • 大牛輕鬆帶你玩轉Arduino智能硬體:(一)arduino入門:硬體介紹
    (一)arduino入門:硬體介紹認識arduino你都不需要去關心單片機編程繁瑣的細節,提供給你的是一套容易使用的工具包。Arduino同樣也簡化了同單片機工作的流程,但同其它系統相比Arduino在很多地方更具有優越性,特別適合老師,學生和一些業餘愛好者們使用:· 便宜 - 和其它平臺相比,Arduino板算是相當便宜了。最便宜的Arduino版本可以自己動手製作,即使是組裝好的成品,其價格也不會超過200元。
  • 硬體創業應該從arduino的成功中學到什麼
    兼容性與通用性的最大優點是,方便開發與方案分享,能夠快速增加功能應用數量使用過各種不同單片機的硬體工程師們,能夠更深刻地體會,arduino這種通用兼容性設計,所具有的強大優勢——可以更輕易地移植現有技術方案,減少研發和試驗成本,同時快速擴展應用數量。
  • arduino項目:發光逗趣口罩
    今天給大家介紹一個互動性強的arduino點陣搞怪口罩,這個是我在看到國外的創客夥伴先做了一個麥克風+8x8LED的模仿人說話口型的口罩出來,然後靈機一動,用手邊的點陣模塊+震動模塊的組合也模仿了一個模仿人說話口型的口罩出來,主要是給經常帶口罩的人娛樂他人用的。
  • arduino和單片機的區別
    打開APP arduino和單片機的區別 發表於 2017-11-08 14:25:18   一、arduino和單片機的區別
  • 詳解arduino uno製作學習
    致力於打造最好的arduino項目教程,用最精煉的語言將常見的項目難點,盲點,靈感寫出來。Arduino是一款便捷靈活、方便上手的開源電子原型平臺。
  • Arduino基礎線路怎麼連接
    那程老師給大家介紹在連接電路時一定會用到的麵包板和杜邦線的相關知識,首先我們來看麵包板,大家可以發現一個arduino的新手套件裡總有一個白色的長板子,如下圖所示。麵包板是由於板子上有很多小插孔,專為電子電路的無焊接實驗設計製造的。由於各種電子元器件可根據需要隨意插入或拔出,免去了焊接,節省了電路的組裝時間,而且元件可以重複使用,所以非常適合電子電路的組裝、調試和訓練。
  • 3個簡單上手的arduino項目
    因為編程是一種最直接的最底層的了解和掌握數據的方式,這將給設計師的設計視野和設計方式帶來很本質的改變。設計師為什麼不要學編程?更準確來說,是不要帶著學寫代碼的心去學編程,正如你 。不會帶著學畫畫的心去學設計。如果設計是對美的追求,那麼編程便是對邏輯的迷戀。
  • Arduino 課時一:初識Arduino
    因為課題結題的需要,以及下學期預計開設一門關於Arduino的課,於是乎我重新拾起那塊鋪滿灰塵的Arduino Uno,準備好好地理一理,也再系統地學習下
  • Arduino自動澆花系統搭建 11月6日
    課程介紹隨著人們生活節奏的加快,即使是最愛的花草澆水也無暇顧及,偶而出差、旅行、探親也是很正常的事情
  • Arduino小課堂(11)矩陣電子琴與蜂鳴器和數組
    arduino小課堂(11)矩陣電子琴與蜂鳴器和數組與海大機械電子設計課作業講解2主要內容:1、矩陣電子琴製作
  • 利用智能家居系統的Arduino平臺製作藍牙燈
    Arduino官方網站(www.arduino.cc)上羅列了其主板在我國的分銷商,有DFRobot、OPEN JUMPER等。如果你比較在意價格,也可以考慮購買一塊Arduino兼容板。畢竟Arduino系統是一個開源系統,任何第三方都可以依據公開的設計文件輕鬆地製造出Arduino主板。