アナログ I/O

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

analogReference

概要 アナログ入力で使われる基準電圧を設定します。analogRead関数は入力が基準電圧と同じとき1023を返します。 例えば、DEFAULT設定ではArduino互換の基準電圧5.0Vとして設定されるため、3.3Vを入力した場合は675が返されます。 ただし、5Vは入力できませんので注意してください。
なお、RAW12BIT(12ビットA/D変換)設定時は基準電圧と同じとき、4095を返します。
文法 analogReference(mode)
パラメータ mode:
     DEFAULT:5.0V (Arduino互換)
     INTERNAL:1.1V (内蔵電圧)
     EXTERNAL:AVREFピン供給電圧
     RAW12BIT:3.3V (12ビットA/D変換を行う)
戻り値 なし

analogRead

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

analogWrite

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

analogWriteFrequency

概要 analogWriteの周期を設定する。デフォルトは490Hzです。この関数はanalogWrite前に1回だけ呼び出してください。2回目以降は無効です。
文法 analogWriteFrequency(int Hz)
パラメータ Hz: 周期(12~184999)(全ての周波数では未検証です)
戻り値 なし

analogWriteDAC

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


サンプルプログラム

SAKURA上のLEDをナイトライ○ー風に光らせます。

#include <rxduino.h>
unsigned char ledpat[6][4] = {
    { 20, 50, 100, 200 },
    {  50,100,200,  20 },
    { 100,200, 20,  50 },
    { 200, 20, 50, 100 },
    { 100,200, 20,  50 },
    {  50,100,200,  20 },
};

void setup()
{
    pinMode(PIN_LED0,OUTPUT);
    pinMode(PIN_LED1,OUTPUT);
    pinMode(PIN_LED2,OUTPUT);
    pinMode(PIN_LED3,OUTPUT);
}

void loop()
{
    int i;
    for (i = 0; i < 6; i++){
        analogWrite(PIN_LED0, ledpat[i][0]);
        analogWrite(PIN_LED1, ledpat[i][1]);
        analogWrite(PIN_LED2, ledpat[i][2]);
        analogWrite(PIN_LED3, ledpat[i][3]);
        delay(100);
    }
}

桜ライブラリ

春ライブラリ

めいど by がじぇっとるねさすプロジェクト
Contents are CC BY-SA 3.0