基本ライブラリ
デジタルIO
アナログIO
拡張IO
時間
数学
三角関数
乱数
ビットバイト操作
割り込み
シリアル通信
標準ライブラリ
サーボモーター
ステッピングモーター
キャラクタ液晶表示
EEPROM
SPI通信
I2C通信(Wire)
メモリカード
メモリカード(File操作)
Ethernet
Ethernetサーバー
Ethernetクライアント
Firmata
周期処理
省電力
時計(RTC)
SoftwareSerial
ユーティリティ
拡張 I/O(トーン出力やシフト入出力)
矩形波やシリアルデータの入出力(ソフトウェア)、パルス幅を測るためのライブラリです。
tone
概要
指定周波数の矩形波を生成します。ブザーで音を鳴らすのに便利です。
文法
tone(int pin, int frequency, int duration)
パラメータ
pin: ピン番号
frequency: 周波数[Hz]
duration: 出力を維持する時間[ms]。省略時、0指定時は出力し続ける。戻り値
なし
noTone
概要
tone関数で出力した矩形波出力を停止する。
文法
noTone(int pin)
パラメータ
pin: ピン番号
戻り値
なし
shiftOut
概要
1バイト分のデータを1ビットずつ出力します。各ビットはまずdataPinに出力され、その後clockPinが反転して、そのビットが有効になったことが示されます。
文法
shiftOut(int dataPin, int clockPin, bitOrder, unsigned char value)
パラメータ
dataPin: データ出力ピン
clockPin: クロック入力ピン
bitOrder: MSBFIRST(最上位ビットから出力)、LSBFIRST(最下位ビットから出力)
value: 送信したいデータ(unsigned charで8ビットデータ)戻り値
なし
shiftIn
概要
1バイトのデータを1ビットずつ取り込みます。まずclockPinがHIGHになり、dataPinから次のビットが読み込まれ、clockPinがLOWに戻ります。
文法
unsigned char shiftIn(unsigned char dataPin, unsigned char clockPin, bitOrder)
パラメータ
dataPin: データ入力ピン
clockPin: クロック出力ピン
bitOrder: MSBFIRST(最上位ビットから入力)、LSBFIRST(最下位ビットから入力)戻り値
読み取った値(8ビットデータ)
shiftOutEx
概要
複数バイト分(32ビットまで)のデータを1ビットずつ出力します。各ビットはまずdataPinに出力され、その後clockPinが反転して、そのビットが有効になったことが示されます。
文法
shiftOutEx(int dataPin, int clockPin, bitOrder, int len, unsigned long value)
パラメータ
dataPin: データ出力ピン
clockPin: クロック入力ピン
bitOrder: MSBFIRST(最上位ビットから出力)、LSBFIRST(最下位ビットから出力)
len: 出力するデータのビット数
value: 送信したいデータ(32ビット以下のデータ)。MSBFIRSTの場合は最上位ビットを詰めておく必要があります。戻り値
なし
pulseIn
概要
ピンに入力されるパルスの幅を測ります。
文法
unsigned long pulseIn(int pin, int val, unsigned long timeout)
パラメータ
pin: ピン番号
val: 測定するパルスの種類。HIGHまたはLOW
timeout: タイムアウトまでの時間(単位・マイクロ秒)。戻り値
パルスの長さ[us] (unsigned long)。パルスがスタートする前にタイムアウトとなった場合は0。
サンプルプログラム
toneを使ったドレミ.
#include <Arduino.h>
void setup(){
}
void loop(){
tone(3, 523); // C4
delay(200);
noTone(3);
tone(3, 587); // D4
delay(200);
noTone(3);
tone(3, 659); // E4
delay(400);
noTone(3);
}