メインコンテンツに移動

アナログ I/O

アナログ I/O

アナログ信号の入力や出力をするためのライブラリです。

analogReference

概要
アナログ入力で使われる基準電圧を設定します。analogRead関数は入力が基準電圧と同じとき1023を返します。 例えば、DEFAULT設定ではArduino互換の基準電圧5.0Vとして設定されるため、3.3Vを入力した場合は675が返されます。 ただし、5Vは入力できませんので注意してください。

 

なお、RAW12BIT(12ビットA/D変換)設定時は基準電圧と同じとき、4095を返します。

文法
analogReference(uint8_t mode)
パラメータ
mode:
   DEFAULT:5.0V (Arduino互換)
   INTERNAL:1.1V (内蔵電圧)
   EXTERNAL:AVREFピン供給電圧
   RAW12BIT:3.3V (12ビットA/D変換そのままの値)
戻り値
なし

analogRead

概要
アナログ値を読み込みます。
文法
int analogRead(uint8_t analog_pin)
パラメータ
analog_pin: アナログピン番号 A0(14)~A5(19)
戻り値
0~1023、12ビットA/D変換時は、0~4095

analogWrite

概要
アナログ値(PWM波)を出力します。LEDの明るさを変えたいときや、モータの回転スピードを調整したいときに使えます。PWM信号の周波数は約490Hzです。
文法
analogWrite(uint8_t pin, int value);
パラメータ
pin: ピン番号(最大20chまで設定可能)
value: 出力するPWMのデューティ(0~255)
戻り値
なし

サンプルプログラム

PEACH上の青LEDを蛍のように光らせます。


#include <Arduino.h>
void loop(){
    for(int i = 0; i < 256; i++){
        analogWrite(PIN_LED_BLUE, i);
        delay(3);
    }
    for(int i = 0; i < 256; i++){
        analogWrite(PIN_LED_BLUE, 256 - i - 1);
        delay(3);
    }
     
}