什么是 Arduino?
Arduino 是一個(gè)開(kāi)源硬件平臺(tái),具有內(nèi)置的編程支持。不需要額外的硬件或軟件(例如 Hex 刻錄機(jī))將您的程序(即 hex 文件)傳輸?shù)?Arduin0。為基本操作連接了所有必要的外圍設(shè)備。它基于簡(jiǎn)單的 AVR 微控制器。
Arduino 是當(dāng)今一個(gè)不斷發(fā)展的行業(yè),其背后的主要原因是絕大多數(shù)庫(kù)。用戶不必再次發(fā)明輪子。長(zhǎng)而傳統(tǒng)的代碼現(xiàn)在已經(jīng)減少到幾行。它易于使用并提高生產(chǎn)力。Arduino 可用于制作各種采用模擬和數(shù)字輸入的項(xiàng)目,并且可以輕松地與不同的硬件(如開(kāi)關(guān)、編碼器、傳感器、電機(jī)、繼電器等)連接。
Arduino 板 PCB 設(shè)計(jì)和原理圖可在互聯(lián)網(wǎng)社區(qū)和博客上免費(fèi)獲得,也可以從各自的賣(mài)家處購(gòu)買(mǎi),其集成開(kāi)發(fā)環(huán)境可免費(fèi)下載,此 IDE 的不同版本可用于使其與不同的操作系統(tǒng)(操作系統(tǒng))兼容,如 Mac、Windows 等。
為什么選擇 Arduino?
1) Arduino 有內(nèi)置的編程器來(lái)燒錄十六進(jìn)制文件,對(duì)于大多數(shù)初學(xué)者來(lái)說(shuō),單獨(dú)購(gòu)買(mǎi)微控制器和刻錄機(jī)是非常煩人的,有時(shí)很煩人,當(dāng)糟糕的硬件有一點(diǎn)隱藏的斷線時(shí),你會(huì)浪費(fèi)大量寶貴的時(shí)間。
2) 它是開(kāi)源的,因此整個(gè)世界開(kāi)發(fā)人員不斷致力于升級(jí)和修復(fù)其錯(cuò)誤,因此它的支持在全球范圍內(nèi)隨時(shí)可用。
3) 數(shù)量最多的庫(kù)是免費(fèi)提供的,因此人們不需要編寫(xiě)大量基本代碼來(lái)運(yùn)行。
4) Arduino 支持許多不同的擴(kuò)展板,這些擴(kuò)展板可以通過(guò)公對(duì)母接頭連接到基本的 Arduino 板。它減少了傳統(tǒng)布線,并且出錯(cuò)的機(jī)會(huì)更少。它還節(jié)省空間和功耗。
上述所有功能通常不適用于單個(gè)獨(dú)立微控制器。這就是 Arduino 受到業(yè)余愛(ài)好者和專(zhuān)業(yè)人士喜愛(ài)的原因。
Arduino 的類(lèi)型:
Arduino 有很多板子,從基本的 Arduino UNO 開(kāi)始,到 Arduino mega、ArduinoFio、Lily Pad等。
- Arduino UNO
- Arduino Mega
- Arduino Duemilanove
- Arduino FIo
- Lily Pad Arduino
- Aurdino Extreme V2
和許多其他板。
Arduino UNO 的功能
Arduino UNO 的顯著特點(diǎn)是:
- 微控制器 (MCU) ATmega328
- 工作電壓 (DC) 5V
- 輸入電源電壓 (外部) 6-20VDC (MAX)
- 推薦輸入電源電壓 (DC) 7-12V
- 數(shù)字輸入/輸出 (I/O) 引腳數(shù)量 14
- PWM(脈寬調(diào)制)輸出 6(引腳 3、5、6、9、10 和 11)
- 輸入引腳(模擬) 6 (A0-A5)
- 直流電流(最大值) 40 mA (每個(gè) I/O 引腳)
- 3.3V 引腳的直流電流 50 mA
- 閃存 32 KB (ATmega328) ( 0.5 KB 由引導(dǎo)加載程序使用)
- 時(shí)鐘速度(陶瓷諧振器) 16 MHz
- SRAM(內(nèi)存)2 KB (ATmega328 MCU)
- EEPROM(內(nèi)存)1 KB (ATmega328 MCU)
Arduino 編程 – 分步
Aurdino 編程(第一個(gè)程序))
讓我們從 Arduino UNO 開(kāi)始,它很簡(jiǎn)單,它基于 Atmega 328 微控制器
現(xiàn)在從 Arduino First 基本程序開(kāi)始。
從 www.arduino.cc 下載 Arduino IDE,安裝它,然后雙擊軟件圖標(biāo)運(yùn)行。
基礎(chǔ) Arduino 編程函數(shù)語(yǔ)句:
Arduino 編碼有兩個(gè)主要塊。其中一個(gè)稱為 void setup,另一個(gè)是 void loop。在 void setup 中,我們定義哪個(gè) pin 應(yīng)該是 input 和 output。它用于初始化變量并開(kāi)始使用庫(kù)。
代碼的第二個(gè)塊是 void loop。它包含放在括號(hào)內(nèi)的所有代碼和邏輯(它將無(wú)休止地重復(fù))。
現(xiàn)在讓我們編寫(xiě)一段LED閃爍代碼:
代碼解釋?zhuān)?/span>
這段代碼將定義引腳13為內(nèi)部LED,并設(shè)置它為輸出模式,然后通過(guò)循環(huán)不斷地將其設(shè)置為高電平(點(diǎn)亮LED)和低電平(熄滅LED),并在每次狀態(tài)改變之間加入1秒(1000毫秒)的延遲。
此代碼在setup()函數(shù)中初始化了引腳配置,在loop()函數(shù)中實(shí)現(xiàn)了LED的閃爍邏輯。loop()函數(shù)會(huì)不斷重復(fù)執(zhí)行,因此LED將會(huì)持續(xù)地以1秒間隔進(jìn)行亮滅交替。如果您想更改閃爍速度,只需調(diào)整delay()函數(shù)中的參數(shù)值即可。
內(nèi)部 LED = 13;
這里 13 是引腳號(hào),LED 是該引腳的新名稱,現(xiàn)在我們可以訪問(wèn)具有兩個(gè)名稱的同一引腳。
PinMode(x,y) 函數(shù):
我們想編寫(xiě)代碼來(lái)使 LED 閃爍。PinMode (X, Y) 函數(shù):此函數(shù)接受 2 個(gè)參數(shù)
1) 密碼名稱或號(hào)碼 (X)
2) 定義為輸出或輸入 (y)
示例:pinMode(led,OUPUT)
上述語(yǔ)句將 Led 定義為 output。
digitalWrite(x,y) 函數(shù):
此函數(shù)將 Digital 1 或 0 寫(xiě)入此函數(shù)參數(shù)中定義的引腳。此函數(shù)還接受 2 個(gè)參數(shù)
- 引腳編號(hào)或名稱
- 是寫(xiě) “Low” 還是 “High”
例:
數(shù)字寫(xiě)入(LED,HIGH)
上述語(yǔ)句將在名為 LED 的引腳上寫(xiě)入 +5 伏特。
延遲功能:
這是 Arduino IDE 的內(nèi)置功能。它只有一個(gè)參數(shù),即它給出以毫秒為單位的延遲。
例:
延遲 (1000);
那么這個(gè)函數(shù)會(huì)給我們 1000 毫秒的延遲。
上傳代碼
現(xiàn)在單擊按鈕(如下圖所示)將程序加載到 Arduino 板。大功告成!