はじめに
アナログピンから読み込んだ値をシリアルモニタに送信します。
analogRead()と、Serial、delay()を利用します。
プログラム
setup()
|
|
Serialは、Arduinoソフトウェアにより事前に定義されている変数(C++のオブジェクト)です。シリアルモニタと通信を行うときに利用します。
Serial.begin()により、通信速度を設定(今は9600bps)します。Arduinoソフトウェアのシリアルモニタの通信速度と同じ値に設定します。そうでないと、文字化けします。
loop()
|
|
sensorValueは、int型の変数で、その値を、analogRead(A0)の結果で初期化します。
この変数は、loop()が呼ばれるたびに、毎回定義(初期化)されます。
A0は、Arduinoソフトウェアにより事前定義された変数で、アナログピンの0番を表します。数字の0を与えても同じですが、プログラムの再利用の観点から、こちらの表記を利用することが望ましいと思います。
A0は、(Arduino Unoの場合)14と定義されていますが、analogRead()の最初に、ピン番号が14以上のときは14を引くという処理が入っているので、特に問題なく動作します。A0が14と定義されているのは、Arduinoのアナログピンは、デジタルピンとしても利用でき、そのときのピン番号が14から始まるためと思います。Megaでは異なる値です。
analogRead()は、アナログピンから値を読みだす関数です。引数に与えたピンの値を読みだします。ここでは、0番ピンの値を読み出します。
読み取った値(sensorValue)を、Serial.println()を使って、シリアルモニタに表示します。analogRead()は、0から1023までの整数値を返却します。また、loop()関数は無限に繰り返して実行されるため、シリアルモニタには、0から1023までの数字が表示され続けます。
loop()の終わりにdelay()を使って、1ミリ秒のディレイ(遅延)を入れています。コメントによるとanalogRead()の安定性のためとあります。
バージョン
Hardware: | Arduino UNO R3 |
Software: | Arduino 1.8.16 |
最終更新日
September 11, 2021