基本ライブラリ
デジタルIO
アナログIO
拡張IO
時間
数学
三角関数
乱数
ビットバイト操作
割り込み
シリアル通信
標準ライブラリ
Ethernet
Ethernetサーバー
Ethernetクライアント
サーボモーター
ステッピングモーター
キャラクタ液晶表示
EEPROM
SPI通信
I2C通信(Wire)
メモリカード
メモリカード(File操作)
周期処理(MsTimer2)
時計(RTC)
ユーティリティ
アナログ 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~A7、または22~27)
- 戻り値
- 0~1023、12ビットA/D変換時は、0~4095
analogWrite
- 概要
- アナログ値(PWM波)を出力します。LEDの明るさを変えたいときや、モータの回転スピードを調整したいときに使えます。PWM信号の周波数は約490Hzです。
- 文法
- analogWrite(uint8_t pin, int value);
- パラメータ
- pin: ピン番号(最大15chまで設定可能)
value: 出力するPWMのデューティ(0~255) - 戻り値
- なし
analogWriteDAC
- 概要
- デジタル値をアナログ変換して出力します。analogWriteと違い、PWMではありません。デジタル値が1023のとき、3.3Vが出力されます。
- 文法
- analogWriteDAC(int pin, int value)
- パラメータ
- pin: ピン番号(53のみ)
value: アナログ変換値(0~1023) - 戻り値
- なし
サンプルプログラム
SAKURA上のLEDをナイトライ○ー風に光らせます。
#include <Arduino.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);
}
}