搞單片機(jī)的讀者都應(yīng)該聽說過Arduino,或者用過Arduino,但很多小伙伴還是不清楚究竟什么是Arduino,今天就針對初學(xué)者簡單描述一下 Arduino 相關(guān)內(nèi)容。
一、初識Arduino
要了解Arduino就先要了解什么是單片機(jī),Arduino平臺的基礎(chǔ)其實就是AVR指令集的單片機(jī)。
1、什么是單片機(jī)?
一臺能夠工作的計算機(jī)包含以下幾個部份:中央處理單元CPU(進(jìn)行運(yùn)算、控制)、隨機(jī)存儲器RAM(數(shù)據(jù)存儲)、存儲器ROM(程序存儲)、輸入/輸出設(shè)備I/O(串行口、并行輸出口等)。在個人計算機(jī)(PC)上這些部份被分成若干塊芯片,安裝在一個被稱之為主板的印刷線路板上。而在單片機(jī)中,這些部份全部被做到一塊集成電路芯片中了,所以就稱為單片(單芯片)機(jī),而且有一些單片機(jī)中除了上述部份外,還集成了其它部份如模擬量/數(shù)字量轉(zhuǎn)換(A/D)和數(shù)字量/模擬量轉(zhuǎn)換(D/A)等。
2、單片機(jī)有什么用?
所謂殺雞焉用牛刀,并不是任何場合都需要很高的性能。想象一個使用Intel i7處理器的聲控?zé)簦湫詢r比一定低到突破天際了。應(yīng)用的關(guān)鍵是看是否夠用,是否有很好的性能價格比,于是單片機(jī)很好地填補(bǔ)了這個縫隙。
回過頭來,那什么是Arduino?
Arduino 是一款便捷靈活、方便上手的開源電子原型平臺,包含硬件(各種型號的Arduino板)和軟件(Arduino IDE)。它適用于藝術(shù)家、設(shè)計師、愛好者和任何“想搗騰”的朋友們。特點就是形狀簡單,能夠?qū)崿F(xiàn)與人互動,十歲的孩子也能用它做出一些自己想要的東西。Arduino能通過各種各樣的傳感器來感知環(huán)境,通過控制燈光、馬達(dá)和其他的裝置來反饋、影響環(huán)境。板子上的微控制器可以通過Arduino的編程語言來編寫程序,編譯成二進(jìn)制文件,收錄進(jìn)微控制器?;贏rduino的項目,可以只包含Arduino,還可以包含Arduino和其他一些在PC上運(yùn)行的軟件,他們之間進(jìn)行通信 (比如 Flash, Processing, MaxMSP)來實現(xiàn)。
二、Arduino種類
市面上可供選擇的Arduino板實在太多了,撇開原廠那十幾個不說,光某寶上多如牛毛的各式Arduino就有上萬種,對于入門者來說簡直慘無人道。選擇一塊合適項目的Arduino是成功的一半,下面我們一起看下最常見的Arduino板以及如何區(qū)分它們。
要區(qū)分這么多板子,挑選合適的Arduino,主要看以下三個方面:性能、特性以及尺寸。
首先看性能。即處理器內(nèi)存、時鐘頻率以及位寬。硬件處理能力通常完全取決于這塊板子的芯片,同時芯片也限制了能夠運(yùn)行的軟件。
其次看特性。包括所有板子上除微處理器之外的所有東西,例如輸入/輸出針腳,集成元器件(按鈕、LED、電機(jī)驅(qū)動等)以及可用接口的種類和數(shù)量(USB、以太網(wǎng)等)。
最后看尺寸。由于項目性質(zhì)不同,其留給電子部分的體積和重量也大相徑庭。例如要給狗狗做一個追蹤器,如果使用Mega和電池盒加上擴(kuò)展板,至少也得有10*5*5cm大小,200g重,敢問這是追蹤器還是沙袋?正因為如此Arduino才有如此多的兄弟姐妹們。
說了那么多,來看看有哪些主流的Arduino吧。
1.Arduino Uno
處理器: ATmega328 (8位 CPU, 16MHz 時鐘頻率, 2KB SRAM, 32KB 閃存)
特性: 14 個數(shù)字 I/O 口, 6 個模擬輸入口, 可更換處理器設(shè)計
尺寸: 75 x 55mm
價格: $30
2.Arduino Leonardo
處理器: ATmega32u4 (8位 CPU, 16MHz 時鐘頻率, 2.5KB SRAM, 32KB 閃存)
特性: 20 個數(shù)字 I/O 口, 其中12 個可作為模擬口, 原生支持USB
尺寸: 75 x 55mm
價格: $25
3.Arduino Due
處理器: Atmel SAM3X8E ARM Cortex-M3 (32 位 CPU, 84MHz 時鐘頻率, 96KB SRAM, 512KB 閃存)
特性: 54 個數(shù)字 I/O 口, 12 個模擬輸入口, 2 個模擬輸出口, 原生USB支持
尺寸: 100 x 55mm
價格: $50
4.Arduino Micro
處理器: ATmega32u4 (8位 CPU, 16MHz 時鐘頻率, 2.5KB SRAM, 32KB 閃存)
特性: 20 個數(shù)字 I/O 口, 其中12 個可作為模擬口, 原生支持USB
尺寸: 50 x 18 mm
價格: $27
5.LilyPad Arduino
處理器: ATmega328 (8位 CPU, 16MHz 時鐘頻率, 2KB SRAM, 32KB 閃存)
特性: 14 個數(shù)字 I/O口, 6 個模擬輸入口
尺寸: 50mm 直徑圓形
價格: $22
這次小實驗?zāi)康木褪窃贏rduino UNO板上點亮13號引腳的LED燈,持續(xù)一秒,然后滅掉,再持續(xù)一秒,一直循環(huán)。
現(xiàn)在,我們假設(shè)使用的是Arduino UNO型號的控制板(初學(xué)者建議用UNO,穩(wěn)定),而且按照上面步驟也已經(jīng)部署好了Arduino開發(fā)環(huán)境,安裝好USB驅(qū)動。
1.連接Arduino控制板和電腦
將USB線一端插在Arduino控制板上,一端插在電腦的USB接口上。(注意:獨立工作時Arduino控制板既可以選擇從USB供電, 也可以選擇用充電寶或電源適配器供電)
連接Arduino控制板和電腦
打開Arudino IDE,就會出現(xiàn)Arduino IDE的編輯界面
2.認(rèn)識Arduino IDE
我們先簡單認(rèn)識一下Arduino的這個編譯器,以后可是要經(jīng)常和它打交道的。
Arduino IDE是Arduino產(chǎn)品的軟件編輯環(huán)境。簡單的說就是用來寫代碼、下載代碼的地方。
任何的Arduino產(chǎn)品都需要下載代碼后才能運(yùn)作。
我們所搭建的硬件電路是輔助代碼來完成的,兩者是缺一不可的。如同人通過大腦來控制肢體活動是一個道理。如果代碼就是大腦的話,外圍硬件就是肢體,肢體的活動取決于大腦,所以硬件實現(xiàn)取決于代碼。
Arduino IDE基本的功能區(qū)已經(jīng)在上面標(biāo)示出來了(偷個懶用的舊圖,不過和新版的布局一樣的),上圖大部分的白色區(qū)域就是代碼的編輯區(qū),用來輸入代碼的。注意,輸入代碼時,要切換到英文輸入法的模式。下面黑色的區(qū)域是消息提示區(qū),會顯示編譯或者下載是否通過。
3.下載一個Blink程序
下載一個最簡單的代碼,既可以幫我們熟悉如何下載程序,同時也測試下板子好壞。
UNO板上標(biāo)有L的LED。這段測試代碼就是讓這個LED燈閃爍。
4.打開Blink
插上USB線,打開Arduino IDE后,找到“Blink”代碼。
文件 > 示例 > 01.Basics > Blink
5.校驗程序
通常,寫完一段代碼后,我們都需要校驗一下,看看代碼有沒有錯誤。點擊“校驗”。
校驗(編譯)完成后,可以看到相應(yīng)的提示。
由于是樣例代碼,所以校驗不會有錯誤,不過在以后寫代碼的過程中,輸入完代碼,都需要校驗一下,然后再下載到Arduino中。
程序在下載之前,我們還要先告訴Arduino IDE,我們用的是什么板子以及相應(yīng)的串口是哪個。
6.設(shè)置板卡型號
Arduino包括多種版本的主控器,其中比較常見的是Uno、Leonardo以及Mega系列的控制器(最全選型指南)。
在板子一欄,你需要根據(jù)自己選擇的主控硬件的固件類型來選擇板卡。(樣例中選用的以Uno為bootloader的控制器) 工具 > 板卡 > Arduino Uno
7.設(shè)置串口
工具 > 串口 > xx,這里的xx要和我們電腦設(shè)備管理器中看到的一致。
8.下載程序
如圖,最后,點擊“上傳”。(這邊上傳和前面的下載其實是一個意思)
上傳完畢!
不出意外,我們就能在板子上直觀地看到程序運(yùn)行的效果了:
Adruino Uno板上13號引腳的LED燈在閃爍。
好了,IDE最最基本的操作就是這些了。
聯(lián)系客服