如何編寫您的 Arduino 開發板

如何編寫您的 Arduino 開發板

隨著一個新興社區總是在製作易於理解和有趣的項目,您永遠不會用盡 Arduino 微控制器板的創意。

也就是說,任何 Arduino 項目中最重要的部分是運行一切的代碼。正確編程您的 Arduino 是確保電子項目正常工作的關鍵。但是你如何編寫 Arduino 代碼?

什麼是 Arduino?

黑色表面上的 Arduino 板

Arduino 是一個開源原型設計平台。它易於使用,具有用於連接傳感器和其他電子元件的 GPIO 接頭,並且具有相對簡單的編程語言。這些板有不同的形狀和尺寸,從用於可部署項目的 Arduino Nano 到用於具有更多硬件的項目的 Arduino Mega 2560。閱讀我們的 Arduino 初學者指南,了解有關該平台的更多信息。

如何為 Arduino 編程

對 Arduino 進行編程就像將硬件插入其中一樣簡單。您只需要一塊 Arduino 板、一根合適的 USB 數據線(檢查您的 Arduino 具有哪種類型的 USB 端口)和一台計算機即可開始使用。您將使用基於 C++ 的 Arduino 編程語言。

雖然它有一個可下載的 IDE,但您也可以使用網絡瀏覽器為 Arduino 編寫代碼。請記住,如果您使用的是基於瀏覽器的 IDE,則必須安裝 Arduino 代理——第一次嘗試時,系統會要求您下載並安裝代理,然後才能開始編碼。

Arduino 程序的組成部分

Arduino 程序稱為草圖。它們通常寫在兩個主要函數中:

  • setup():此函數僅在每個 Arduino 啟動週期運行一次。這意味著任何初始化、聲明或設置都在此函數內完成。
  • loop():只要你的 Arduino 有電,這個函數就會一直循環。大多數功能代碼都是用這種方法編寫的。

正如您使用任何其他程序或腳本一樣,任何重要的庫和值都在上述兩個函數之前聲明和導入。根據您的要求,您可以隨意添加更多功能。

Arduino Blink 草圖示例

您可以使用串行監視器查看 Arduino 通過串行 USB 連接發送的數據。串行監視器還用於使用您的計算機或其他支持的設備與電路板進行交互。它還包括一個串行繪圖儀,可以繪製您的串行數據以獲得更好的視覺表示。

在 Arduino 上使用基本組件

我們將進行一個小型設置,其中 Arduino 可以讀取按鈕的輸入並根據按鈕是否被按下來點亮 LED。不過,在開始編碼之前,我們需要連接硬件。您需要以下物品:

  • 按鈕
  • 引領
  • 10kΩ電阻
  • 220Ω電阻

按照下面的接線圖正確連接所有內容。特別注意每條線連接到 Arduino 板上的 GPIO(通用輸入輸出)引腳。

Arduino按鈕和LED電路的接線圖

連接好所有硬件後,繼續將以下代碼複製粘貼到在線 IDE 中。您會在整個代碼中找到註釋,以更好地解釋每個部分的作用。

#define LED_PIN 8 //Define the LED pin
#define BUTTON_PIN 7 //Define the button pin
//Now we'll initialise the LED and button in the setup function
void setup() {
  pinMode(LED_PIN, OUTPUT);
  pinMode(BUTTON_PIN, INPUT);
}
//The following snippet loops over the button status and changes
//LED status to HIGH (on) when the button is pressed down (HIGH)
void loop() {
  if (digitalRead(BUTTON_PIN) == HIGH) {
    digitalWrite(LED_PIN, HIGH);
  }
  else {
    digitalWrite(LED_PIN, LOW);
  }
}

不過,Arduino 不僅僅是 LED 和按鈕。讓我們來看一些更高級的代碼,這些代碼集成了距離傳感器和蜂鳴器。

在 Arduino 上使用超聲波傳感器

您的 Arduino 可以讀取傳感器數據並根據周圍環境進行交互。我們要將一個 HC-SR04 超聲波測距傳感器和一個蜂鳴器連接到板上以發出接近警報。

Arduino和超聲波傳感器接線圖

這是代碼的樣子;您會在整個過程中找到逐行解釋。

//Declaring the HC-SR-04 and Buzzer pins
const int TRIG_PIN = 6;
const int ECHO_PIN = 7;
const int LED_PIN = 3;
const int DISTANCE_THRESHOLD = 50;

//Variables for calculating distance
float duration_us, distance_cm;

//Setting pin modes and intializing the Serial Monitor
void setup() {
Serial.begin (9600);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);
}

void loop() {
//Generate 10-microsecond pulse to TRIG pin
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);

//Measure duration of pulse from ECHO pin
 duration_us = pulseIn(ECHO_PIN, HIGH);
//Calculate the distance
 distance_cm = 0.017 * duration_us;

if(distance_cm < DISTANCE_THRESHOLD)
   digitalWrite(LED_PIN, HIGH); //Turn on LED
else
   digitalWrite(LED_PIN, LOW); //Turn off LED

//Print the value to Serial Monitor
Serial.print("distance: ");
Serial.print(distance_cm);
Serial.println("cm");

delay(500);
}

如何運行 Arduino 程序?

現在您已準備好硬件和代碼,是時候將代碼上傳到您的 Arduino 了。按著這些次序。

  1. 單擊驗證複選標記按鈕編譯您的代碼並確保它沒有錯誤。
  2. 從下拉菜單中選擇 Arduino 開發板及其對應的COM端口。
  3. 單擊上傳按鈕並等待代碼完成上傳。
Arduino草圖上傳示例

單擊“上傳”按鈕後,您將開始在下方的黑色控制台窗口中看到活動。假設您的 Arduino 正在工作並正確連接,您的代碼將被上傳,您可以開始測試您的項目。

微控制器可以很有趣

像 Arduino 這樣的微控制器是進入 DIY 電子產品世界的好方法。兒童 Arduino 是一項特別棒的活動。一旦您學會瞭如何編寫 Arduino 代碼,像 Raspberry Pi 這樣更強大的電路板就可以用幾個基本傳感器和幾行代碼構建什麼,就會打開一個完全不同的機會世界。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *