アナログ 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); } }