ポテンショメーターを読み、その状態をArduinoのシリアルモニターに表示します。
この例では、ポテンショメーターを使い、物理世界からアナログ入力を読む方法を示します。ポテンショメーターは、つまみを回すと抵抗が変化する、簡単な機械デバイスです。ポテンショメータを通じてボードのアナログ入力に電圧をかけることで、ポテンショメーターの抵抗値をアナログ値として測定することができます。この例では、ArduinoとArduinoソフトウェア(IDE)を実行しているPCとの間でシリアル通信を確立した後、ポテンショメーターの状態を観測します。
必要なハードウェア
- Arduinoボード
- 10kΩのポテンショメーター
回路
3本の電線でポテンショメーターとArduinoボードを接続します。1本目は、ポテンショメーターの外側のピンとGNDを接続します。2本目は別の外側のピンと5Vを接続します。3本目は、アナログ入力0とポテンショメーターの真ん中のピンを接続します。
ポテンショメーターのつまみを回し、ポテンショメーターの中央ピンに接続されているワイパー(ポテンショメーターの中央ピン)の両側の抵抗値を変更します。これは中央ピンの電圧を変化させます。中央ピンと、5Vに接続されている端子間の抵抗が0に近づくと(そして他の端子の抵抗が10kΩに近づくと)、中央ピンのは5V付近になります。抵抗値が逆になると、中央ピンの電圧は0V(GND)付近になります。この電圧は、入力として読むアナログ電圧です。
Arduinoボードには、内部にアナログデジタル変換器(ADC)と呼ばれる回路があり、この変化する電圧を読み取り、0から1023の数値に変換します。つまみを片側に全て回すと、中央ピンとGNDに接続されているピンとの間の抵抗が0になります。このとき、中央ピンの電圧は0Vになり、入力値は0になります。つまみを反対側に全て回すと、中央ピンの電圧は5Vになり、入力値は1023になります。その間では、analogRead()は、0と1023の間の値を返し、その値はピンにかかる電圧に比例します。
回路図
コード
以下のコードのsetup関数では、以下のコマンドで、ボードとPC間を9600bpsで通信するようシリアル通信を設定しています。
Serial.begin(9600);
次に、コードのメインループでは、ポテンショメーターから読み取る抵抗値を格納する変数を宣言します。この値は、0と1023の間で、int型が最適です。
int sensorValue = analogRead(A0);
最後に、この情報をシリアルモニターウインドウに表示します。これは、最後の行のSerial.println()関数で行います。
Serial.println(sensorValue);
これで、Arduinoソフトウェア(IDE)のシリアルモニターを開くと(上部の緑色のバーの右側にあるレンズのように見えるアイコンをクリックするか、Ctrl+Shift+Mのキーボードショートカットを使うかします)、ポテンショメーターの位置に応じて、0から1023の数字が表示されていくのがわかります。ポテンショメーターを回すと、これらの数値はすぐに反応します。
|
|
さらに学ぶ
付属のスケッチ例に、さらに多くの基本的なチュートリアルがあります。
Arduinoプログラミング言語の詳細を集めた、言語リファレンスを調べることもできます。
オリジナルのページ
https://docs.arduino.cc/tutorials/uno-rev3/AnalogReadSerial/
最終更新日
August 16, 2026