基本ライブラリ
デジタルIO
アナログIO
拡張IO
時間
数学
三角関数
乱数
ビットバイト操作
割り込み
シリアル通信
標準ライブラリ
サーボモーター
ステッピングモーター
キャラクタ液晶表示
EEPROM
SPI通信
I2C通信(Wire)
メモリカード
メモリカード(File操作)
Ethernet
Ethernetサーバー
Ethernetクライアント
Firmata
周期処理
省電力
時計(RTC)
SoftwareSerial
ユーティリティ
アナログ I/O
アナログ信号の入力や出力をするためのライブラリです。
analogReference
概要
アナログ入力で使われる基準電圧を設定します。analogRead関数は入力が基準電圧と同じとき1023を返します。
文法
analogReference(mode)
パラメータ
mode: DEFAULT(VCC電圧)、INTERNAL(内蔵電圧1.45V)、EXTERNAL(VCC電圧)
戻り値
なし
analogRead
概要
アナログ値を読み込みます。
文法
int analogRead(analog_pin)
パラメータ
analog_pin: アナログピン番号(A0~A7、または14~21)
戻り値
0~1023
注意
A0~A5ピンをanalogRead()に使う場合なるべく小さい番号から使用してください。pinMode()でデジタル入出力に指定した場合、それより大きいピン番号もデジタル入出力になります。例えばA2をデジタルピンにした場合、A3, A4, A5もデジタルピンになりanalogRead()でアナログ値を取得することができません。
補足
setPowerManagementMode()でSNOOZEモードを指定してanlogRead()をコールした場合、lowerからupperで指定される範囲の値を取得するまでSNOOZEモードになり、プログラムは停止します。
analogWrite
概要
アナログ値(PWM波)を出力します。LEDの明るさを変えたいときや、モータの回転スピードを調整したいときに使えます。PWM信号の周波数は初期値は約490Hzです(一部は125Hzです。補足を参照)。周波数はanalogWriteFrequencyで変えることができます。
文法
analogWrite(int pin, int value);
パラメータ
pin: ピン番号(3, 5, 6, 9, 10, 11, 22, 23,24)
value: 出力するPWMのデューティ(0~255)戻り値
なし
補足
ピン11, 22, 23, 24はソフトウェアでPWMを実現しており、周波数は125Hzになります。
analogWriteFrequency
概要
analogWriteの周期を設定する。デフォルトは490Hzです。
文法
analogWriteFrequency(int Hz)
パラメータ
Hz: 周期
戻り値
なし
補足
すべてのアナログ出力(PWM)が停止している状態で実行してください。周波数を変更できるピンは3, 5, 6, 9, 10のみです。
サンプルプログラム
analogWriteを使用して13ピンのLEDをもわっと光らせます。
#include <Arduino.h>
void setup() {
pinMode(13, OUTPUT); //Green LED
}
void loop() {
for(int i = 0; i<250; i+=5){
analogWrite(13, i);
delay(30);
}
for(int i = 0; i<250; i+=5){
analogWrite(13, 255-i);
delay(30);
}
}