Arduinoの基礎

提供:MochiuWiki : SUSE, EC, PCB
2019年7月25日 (木) 16:00時点におけるWiki (トーク | 投稿記録)による版 (ページの作成:「== 概要 == Arduinoのスケッチには、setup()関数とloop()関数が存在する。 setup()関数はスケッチの実行開始時(電源を投入した直後)、…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

概要

Arduinoのスケッチには、setup()関数とloop()関数が存在する。 setup()関数はスケッチの実行開始時(電源を投入した直後)、またはボードのリセット後に1度だけ呼ばれる。 変数の初期化や、ピンモードの設定、ライブラリの初期化などを行うのに適している。 loop()関数は、setup()関数が呼ばれた後に繰り返し呼び出される。

スケッチのダウンロード

まず、スケッチをコンパイルする。 次に、Arduino IDEの[ツール]メニューバー - [ボード]メニューでArduinoボードを選択する。 更に、Arduino IDEの[ツール]メニューバー - [ポート]メニューでCOMポートを選択する。 最後に、[マイコンボードに書き込む]ボタンを押下して、コンパイルしたスケッチをダウンロードする。

LEDの点滅(ArduinoのHello World)のサンプルコード

次に示すのは、LEDを点滅させるサンプルコードである。

 const int LED_PIN = 13;
 
 void setup()
 {
    pinMode(LED_PIN, OUTPUT);
 }
 
 void loop()
 {
    digitalWrite(LED_PIN, HIGH);
    delay(1000);
    digitalWrite(LED_PIN, LOW);
    delay( 1000 );
 }



Arduinoで電圧を測定する(アナログ入力を読み取る)

Arduinoボードは、A0 - A5までの6チャネルの10ビットのADCを持っている。 Arduino Uno等の動作電圧が5[V]のボードでは、0[V] - 5[V]までの電圧は、0 - 1023までの整数に対応付けられる。

Arduino IDEでは、analogRead()関数を用いることで、指定したアナログピンから値を読むことができる。 analogRead()関数は読み取った値を0 - 1023までの整数値で返す。 従って、5[V] - 1023[V]に対応する場合は、(analogRead()関数の戻り値 * 5 / 1023)とすれば電圧が分かる。

尚、デフォルトでanalogRead()の戻り値である0 - 1023が、0[V] - 5[V](Arduino Gemmaのような3.3[V]の動作電圧の場合は0[V] - 3.3[V])に 対応付けられているが、analogReference()関数を用いてこの範囲を変更することは可能だが、設定可能な値はボードに依存する。


Arduino で電圧を測る

以下に記述するのは、電圧を読み取った結果をシリアルモニタに出力するサンプルコードである。

const int PIN_ANALOG_INPUT = 5;

void setup() {

 Serial.begin( 9600 );

}

void loop() {

 int i = analogRead( PIN_ANALOG_INPUT );
 float f = i * 5.0 / 1023.0;
 Serial.println( f );
 delay( 1000 ); 

} これによって 1 秒おきにシリアルモニターに電圧が表示されます。