什么是 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)行。

Arduino IDE 2.3.4

基礎(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 板。大功告成!