Arduino-Analog I/O関数(アナログ入出力関数)の使い方
当記事では、ArduinoのAnalog I/O関数(アナログ入出力関数)の使い方について詳しく解説します。
Analog I/O関数を使うことによって、Arduinoボードのアナログ信号の出力や入力を行うことができます。
なお、その他のArduino関数・ライブラリについては、以下の記事をご覧ください。
Analog I/O(アナログ入出力)
関数 | 引数 | 戻り値 | 説明 |
---|---|---|---|
void analogReference(type) | type:基準電圧の設定 | なし | アナログ入力の基準電圧を設定 |
int analogRead(pin) | pin:対象のアナログ入力のピン番号 | ピンの入力状態を返す 10bits: 0~1023 12bits: 0~4095 | アナログ入力の状態を確認 |
void analogWrite(pin, value) | pin:対象のデジタル入出力のピン番号 value:出力値を0~255で指定 | なし | アナログ出力(PWM) |
analogReference()/アナログ入力の基準電圧を設定
- 関数:void analogReference(type)
- 引数:type⇒基準電圧の設定
- 戻り値:なし
analogReference()関数は、引数で、「基準電圧」を指定して、アナログ入力の基準電圧を設定します。
基準電圧は、「DEFAULT」で「5V」、「INTERNAL」で「1.1V」で設定でき、「INTERVAL」では「AREF」ピンに加わっている電圧が基準電圧になります。ただし、「AREF」ピンには5Vを超える電圧を印加することはできません。
analogRead()/アナログ入力の状態を確認
- 関数:int analogRead(pin)
- 引数:pin⇒対象のアナログ入力のピン番号
- 戻り値:ピンの入力状態を返す(10bits: 0~1023/12bits: 0~4095)
analogRead()関数は、引数で、対象のアナログ入力の「ピン番号」を指定して、アナログ入力の状態を確認することができます。
アナログ入力に印加された電圧は、0~5Vの範囲を戻り値で0~1023(10bits)または0~4095(12bits)を返します。
例えば、Arduino Unoの場合、10bitのアナログ入力になるので、1Vであれば約205の値が返されます。
analogWrite()/アナログ出力(PWM)
- 関数:void analogWrite(pin, value)
- 引数:pin⇒対象のデジタル入出力のピン番号
- :value⇒出力値を0~255で指定
- 戻り値:なし
analogWrite()関数は、引数で、対象のデジタル入出力の「ピン番号」と「出力値」を指定して、アナログ出力(PWM)を行います。
出力値は「0~255」の範囲で指定できます。例えば、51であれば、約1VのPWM出力になります。
サンプルプログラム(サンプルスケッチ)
Analog I/O関数を使って、CdSセルやDCモーターなどの電子部品を動かすサンプルプログラムを紹介します。
CdSセル(光センサ)
ArduinoのAnalog I/O(アナログ入出力)の関数を使ったプログラムで、CdSセルと抵抗を組み合わせた分圧回路から電圧を読み込みます。
おすすめのArduinoボードはどれ?
当記事『Arduino-Analog I/O関数(アナログ入出力関数)の使い方』では、Arduino Unoを使用したサンプルプログラムを解説してきました。
やはり、たくさんの種類のあるArduinoボードの中でも、最も基本的なエディションのArduino Unoがおすすめなのですが、Arduino Unoと電子部品を組み合わせたキットも存在します。
電子工作初心者にとっては、いちいち電子部品を別途購入する必要がないので非常に有用です。以下の記事で初心者でもわかりやすいように、ランキング形式でおすすめのArduino Unoを紹介しているので、ぜひご覧ください。
また、以下の記事で、安価でWi-Fi/Bluetoothに対応している「ESP32開発ボード」についてもまとめてみました。
このボードは、Arduinoボードではありませんが、Arduino IDEでソフト開発ができるため、電子工作でIoTを実現したい方におすすめです。