Arduinoボードをコーディングする方法

Arduinoボードをコーディングする方法

新進気鋭のコミュニティが常に簡単で楽しいプロジェクトを作成しているため、Arduino マイクロコントローラー ボードで何ができるかについてのアイデアが尽きることはありません。

つまり、Arduino プロジェクトの最も重要な部分は、すべてを実行するコードです。Arduino を正しくプログラミングすることは、エレクトロニクス プロジェクトを適切に機能させるための鍵です。しかし、どのように Arduino をコーディングするのでしょうか?

Arduinoとは?

黒い表面の Arduino ボード

Arduino は、オープンソースのプロトタイピング プラットフォームです。使いやすく、センサーやその他の電子部品を接続するための GPIO ヘッダーを備えており、比較的単純なプログラミング言語を備えています。ボードには、展開可能なプロジェクト向けの Arduino Nano から、より多くのハードウェアを使用するプロジェクト向けの Arduino Mega 2560 まで、さまざまな形状とサイズがあります。プラットフォームの詳細については、Arduino 初心者向けガイドをお読みください。

Arduinoをプログラムする方法

Arduino のプログラミングは、ハードウェアを 1 つに接続するのと同じくらい簡単です。必要なものは、Arduino ボード、適切な USB ケーブル (Arduino に搭載されている USB ポートのタイプを確認してください)、および開始するためのコンピューターだけです。C++ に基づく Arduino プログラミング言語を使用します。

ダウンロード可能な IDEがありますが、Web ブラウザーを使用して Arduino をコーディングすることもできます。ブラウザベースの IDE を使用している場合は、Arduino エージェントをインストールする必要があることに注意してください。初めて使用する場合は、コーディングを開始する前に、エージェントをダウンロードしてインストールするよう求められます。

Arduino プログラムのコンポーネント

Arduino プログラムはスケッチと呼ばれます。これらは通常、次の 2 つの主要な関数で記述されます。

  • setup():この関数は、Arduino の起動サイクルごとに 1 回だけ実行されます。これは、初期化、宣言、または設定がこの関数内で行われることを意味します。
  • loop():この関数は、Arduino に電力が供給されている限り、何度もループし続けます。機能コードのほとんどは、このメソッドで記述されています。

他のプログラムやスクリプトと同様に、重要なライブラリと値は、上記の 2 つの関数の前に宣言およびインポートされます。要件に基づいて、必要に応じて自由に機能を追加できます。

Arduino Blink スケッチ例

シリアル モニターを使用して、Arduino がシリアル USB 接続を介して送信しているデータを確認できます。シリアル モニタは、コンピュータまたはその他の対応デバイスを使用してボードと対話するためにも使用されます。また、シリアル データをプロットしてより視覚的に表現できるシリアル プロッタも含まれています。

Arduino で基本的なコンポーネントを使用する

Arduino がボタンの入力を読み取り、ボタンが押されたかどうかに基づいて LED を点灯できる小さなセットアップを作成します。ただし、コーディングに入る前に、ハードウェアを配線する必要があります。次のアイテムが必要です。

  • ボタンを押す
  • 導いた
  • 10kΩ抵抗
  • 220Ω抵抗

以下の配線図に従って、すべてを正しく接続してください。各ワイヤが Arduino ボードに接続されている GPIO (General Purpose Input Output) ピンに特に注意してください。

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 のようなより強力なボードを使用すると、いくつかの基本的なセンサーと数行のコードで構築できるものという点で、まったく異なる可能性が開かれます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です