arduino編程基礎知識「arduino編程語言入門」

寫這篇文章是因為最近在梳理Arduino學習筆記,回想起自己當初第一次接觸Arduino時候的那種懵懂和興奮,現在還記憶猶新,當時只希望對於Arduino各種秘密馬上能知曉,可惜當時的互聯網沒有那麼多學習資源,只能是自己慢慢摸索,走了不少的彎路,甚至是犯了錯誤。現在回想起來主要是當時對於Arduino的基礎性知識不明確、不系統,因此想分享一些系統的基礎知識給初學者,先和你聊聊5個Arduino的基本功能。

1、數字輸出

我們可以使用數字輸出功能,控制一個LED燈,確保此電路正確,還可以控制電機,製造出聲音甚至操控更多設備。

以Arduino UNO為例,0-13、A0-A5都可以接,使用digitalWrite(管腳,HIGH/LOW)命令,使用之前要使用pinMode(管腳, OUTPUT);設置該管腳為輸出狀態。下圖為Mixly中的“數字輸出模塊”,可以看到管腳的選擇範圍以及取值範圍。Arduino教程┃5個Arduino基本功能,建議初學者都了解

Mixly中數字輸出模塊

提醒:不同的數字傳感器觸發(燈亮、蜂鳴器鳴叫)方式不一樣,有的是低電平觸發,有的是高電平觸發,請注意區分,當初我也是傻傻的搞不清。

參考Arduino代碼如下:

void setup(){

pinMode(0, OUTPUT);

}

void loop(){

digitalWrite(0,HIGH);

}

2、模擬輸出

我們可以使用模擬輸出功能控制LED燈的亮度,不僅是使LED發光或者熄滅,還可讓它停留在兩者之間的某種亮度上。此外,我們甚至可以控制電機的轉速。

模擬輸出所能接的管腳不像數字輸出,只能接幾個PWM管腳:3、5、6、9、10、11,這點請你一定注意,這也是我有過慘痛的教訓的。如下圖Mixly當中的模擬輸出模塊所示,請注意觀察右側的代碼區,如果你是使用Arduino IDE直接代碼編程,那麼其命令就是:analogWrite(管腳,0-255);不需要使用pinMode命令。請你注意模擬輸出的取值範圍是0-255。Arduino教程┃5個Arduino基本功能,建議初學者都了解

Mixly中的模擬輸出模塊

參考Arduino代碼如下:

void setup(){

}

void loop(){

analogWrite(3,0);

}

3、數字輸入

數字輸入功能可以讓我們獲知簡單傳感器的狀態,例如:按鈕、傾角開關。

數字輸入我們可以通過傳感器上的電位器(下圖光線傳感器中間藍色的突起,上面有十字架)調整我們需要的臨界值,這個也是初學者會忽略的地方。Arduino教程┃5個Arduino基本功能,建議初學者都了解

光線傳感器

數字輸入命令:digitalRead(管腳);管腳可以是0-13、A0-A11,使用該命令前要使用pinMode(管腳, INPUT);將該管腳設置為輸入狀態。米思齊的編程模塊如下圖所示:Arduino教程┃5個Arduino基本功能,建議初學者都了解

Mixly數字輸入模塊

參考Arduino代碼如下(使用了串口輸出):

void setup(){

pinMode(0, INPUT);

Serial.begin(9600);

}

void loop(){

Serial.println(digitalRead(0));

}

4、模擬輸入

我們可以使用模擬輸入功能讀取模擬傳感器的連續信號,而不只是開/關狀態的信號,例如:光線傳感器、電位計模塊。

模擬輸入使用analogRead(管腳);管腳只能是A0-A7,不需要使用pinMode。Mixly中的模塊如下:Arduino教程┃5個Arduino基本功能,建議初學者都了解

mixly模擬輸入模塊

參考Arduino代碼如下(使用了串口輸出):

void setup(){

Serial.begin(9600);

}

void loop(){

Serial.println(analogRead(A0));

}

5、串行通信

這使我們能夠與計算機進行溝通和數據交換,讓我們能夠監視正在運行的Arduino接收或者發送的數據。

使用時,先設置波特率,如下面的Arduino代碼所示:

void setup(){

Serial.begin(9600);

}

void loop(){

Serial.println(“hello”);

}

這個案例是串口輸出。串口輸出有很多種形式,你可以像下圖一樣,在mixly中一一進行嘗試。Arduino教程┃5個Arduino基本功能,建議初學者都了解

Mixly中串口輸出模塊

還有串口輸入,請看下圖代碼:Arduino教程┃5個Arduino基本功能,建議初學者都了解

Mixly串口輸入模塊

參考Arduino代碼如下:

void setup(){

Serial.begin(9600);

}

void loop(){

if (Serial.readString() == “a”) {

Serial.println(“hello”);

}

}

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/268265.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-16 13:08
下一篇 2024-12-16 13:08

相關推薦

發表回復

登錄後才能評論