メインコンテンツに移動

アナログ I/O

アナログ I/O

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

analogReference

概要
アナログ入力で使われる基準電圧を設定します。
文法
analogReference(uint8_t mode)
パラメータ
mode:
   DEFAULT:3.3V
   INTERNAL:1.1V (内蔵電圧)
   EXTERNAL:AVREFピン供給電圧
戻り値
なし

analogRead

概要
アナログ値を読み込みます。
文法
int analogRead(uint8_t analog_pin)
パラメータ
analog_pin: アナログピン番号 A0(14)~A5(19), A6(10)~A9(13)
戻り値
0~4095

analogWrite

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

analogWriteDAC

概要
デジタル値をアナログ変換して出力します。analogWriteと違い、PWMではありません。デジタル値が4095のとき、3.3Vが出力されます。
文法
analogWriteDAC(int pin, int value)
パラメータ
pin: ピン番号(24のみ)
value: アナログ変換値(0~4095)
戻り値
なし

analogWriteFrequency

概要
PWM信号の周波数をデフォルトの490Hzから変更します。3, 7, 9, 10, 13ピンに適用されます。
文法
analogWriteFrequency(uint32_t freq);
パラメータ
freq: 周波数
戻り値
なし

サンプルプログラム

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


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