什么是 Arduino?

Arduino 是一個(gè)開源硬件平臺,具有內(nèi)置的編程支持。不需要額外的硬件或軟件(例如 Hex 刻錄機(jī))將您的程序(即 hex 文件)傳輸?shù)?Arduin0。為基本操作連接了所有必要的外圍設(shè)備。它基于簡單的 AVR 微控制器。

Arduino 是當(dāng)今一個(gè)不斷發(fā)展的行業(yè),其背后的主要原因是絕大多數(shù)庫。用戶不必再次發(fā)明輪子。長而傳統(tǒng)的代碼現(xiàn)在已經(jīng)減少到幾行。它易于使用并提高生產(chǎn)力。Arduino 可用于制作各種采用模擬和數(shù)字輸入的項(xiàng)目,并且可以輕松地與不同的硬件(如開關(guān)、編碼器、傳感器、電機(jī)、繼電器等)連接。

Arduino 板 PCB 設(shè)計(jì)和原理圖可在互聯(lián)網(wǎng)社區(qū)和博客上免費(fèi)獲得,也可以從各自的賣家處購買,其集成開發(fā)環(huán)境可免費(fèi)下載,此 IDE 的不同版本可用于使其與不同的操作系統(tǒng)(操作系統(tǒng))兼容,如 Mac、Windows 等。

為什么選擇 Arduino?

1) Arduino 有內(nèi)置的編程器來燒錄十六進(jìn)制文件,對于大多數(shù)初學(xué)者來說,單獨(dú)購買微控制器和刻錄機(jī)是非常煩人的,有時(shí)很煩人,當(dāng)糟糕的硬件有一點(diǎn)隱藏的斷線時(shí),你會浪費(fèi)大量寶貴的時(shí)間。

2) 它是開源的,因此整個(gè)世界開發(fā)人員不斷致力于升級和修復(fù)其錯(cuò)誤,因此它的支持在全球范圍內(nèi)隨時(shí)可用。

3) 數(shù)量最多的庫是免費(fèi)提供的,因此人們不需要編寫大量基本代碼來運(yùn)行。

4) Arduino 支持許多不同的擴(kuò)展板,這些擴(kuò)展板可以通過公對母接頭連接到基本的 Arduino 板。它減少了傳統(tǒng)布線,并且出錯(cuò)的機(jī)會更少。它還節(jié)省空間和功耗。

上述所有功能通常不適用于單個(gè)獨(dú)立微控制器。這就是 Arduino 受到業(yè)余愛好者和專業(yè)人士喜愛的原因。

Arduino 的類型:

Arduino 有很多板子,從基本的 Arduino UNO 開始,到 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 開始,它很簡單,它基于 Atmega 328 微控制器

現(xiàn)在從 Arduino First 基本程序開始。

從 www.arduino.cc 下載 Arduino IDE,安裝它,然后雙擊軟件圖標(biāo)運(yùn)行。

Arduino IDE 2.3.4

基礎(chǔ) Arduino 編程函數(shù)語句:

Arduino 編碼有兩個(gè)主要塊。其中一個(gè)稱為 void setup,另一個(gè)是 void loop。在 void setup 中,我們定義哪個(gè) pin 應(yīng)該是 input 和 output。它用于初始化變量并開始使用庫。

代碼的第二個(gè)塊是 void loop。它包含放在括號內(nèi)的所有代碼和邏輯(它將無休止地重復(fù))。

 

現(xiàn)在讓我們編寫一段LED閃爍代碼:

代碼解釋:

這段代碼將定義引腳13為內(nèi)部LED,并設(shè)置它為輸出模式,然后通過循環(huán)不斷地將其設(shè)置為高電平(點(diǎn)亮LED)和低電平(熄滅LED),并在每次狀態(tài)改變之間加入1秒(1000毫秒)的延遲。

此代碼在setup()函數(shù)中初始化了引腳配置,在loop()函數(shù)中實(shí)現(xiàn)了LED的閃爍邏輯。loop()函數(shù)會不斷重復(fù)執(zhí)行,因此LED將會持續(xù)地以1秒間隔進(jìn)行亮滅交替。如果您想更改閃爍速度,只需調(diào)整delay()函數(shù)中的參數(shù)值即可。

內(nèi)部 LED = 13;

這里 13 是引腳號,LED 是該引腳的新名稱,現(xiàn)在我們可以訪問具有兩個(gè)名稱的同一引腳。

PinMode(x,y) 函數(shù):

我們想編寫代碼來使 LED 閃爍。PinMode (X, Y) 函數(shù):此函數(shù)接受 2 個(gè)參數(shù)

1) 密碼名稱或號碼 (X)

2) 定義為輸出或輸入 (y)

示例:pinMode(led,OUPUT)

上述語句將 Led 定義為 output。

digitalWrite(x,y) 函數(shù):

此函數(shù)將 Digital 1 或 0 寫入此函數(shù)參數(shù)中定義的引腳。此函數(shù)還接受 2 個(gè)參數(shù)

  • 引腳編號或名稱
  • 是寫 “Low” 還是 “High”

例:

數(shù)字寫入(LED,HIGH)

上述語句將在名為 LED 的引腳上寫入 +5 伏特。

 

延遲功能:

這是 Arduino IDE 的內(nèi)置功能。它只有一個(gè)參數(shù),即它給出以毫秒為單位的延遲。

例:

延遲 (1000);

那么這個(gè)函數(shù)會給我們 1000 毫秒的延遲。

上傳代碼

現(xiàn)在單擊按鈕(如下圖所示)將程序加載到 Arduino 板。大功告成!