基本ライブラリ
デジタル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のみです。
サンプルプログラム
COTTON上の緑LEDをもわっと光らせます。
#include <Arduino.h>
void setup() {
pinMode(23, OUTPUT); //Green LED
}
void loop() {
for(int i = 0; i<250; i+=5){
analogWrite(23, i);
delay(30);
}
for(int i = 0; i<250; i+=5){
analogWrite(23, 255-i);
delay(30);
}
}