タイマー名称 |
ビット数 |
関数 |
PWMピン |
タイマー割込 ライブラリ |
Timer 0 |
8bit |
delay(), millis(), micros() |
5, 6 |
|
Timer 1 |
16bit |
9, 10 |
TimeOne.h |
|
Timer 2 |
8bit |
tone() |
3, 11 |
MsTimer2.h |
タイマー未使用 |
− |
pulseIn() |
− |
No. |
名称 |
内容 |
関数 |
処理時間 |
CPU |
Timer |
対応方針 |
1 |
距離測定 |
超音波の障害物 反射波戻り時間測定 |
pulseIn() |
0.15〜15 ms (距離:2cm〜2m) |
占有 |
ー |
ー |
2 |
ビープ音 (障害物検出) |
障害物検出時ビープ音 |
tone() |
障害物時のみ 500 ms |
占有 |
Timer2 |
極力短く 100 ms |
3 |
IRリモコン リーダーコード検出 |
受信波形の変化点時刻を記録 |
micros() |
13.5 ms 〜 ∞ |
占有 |
Timer0 |
Time1を使用したタイマー割込 TimeOne.hで時間制限(200 ms) |
4 |
IRリモコン データコード検出 |
同上 |
同上 |
リーダーコード検出時 36〜72 ms |
占有 |
同上 |
ー |
5 |
ビープ音 (コマンド受付) |
コマンド受付時ビープ音 |
tone() |
コマンド受付時のみ 100 ms |
占有 |
Timer2 |
極力短く 50 ms |
6 |
7SEG LED表示 |
7SEG LEDへ シリアルデータ送信 |
shiftOut() |
約10 μs (約200クロック) |
占有 |
ー |
ー |
7 |
モータPWM駆動 |
モータ電流をアナログ制御 d-3, d-11ピン使用 |
analogWrite() |
モータ駆動時 常時処理 |
占有 せず |
常時 Timer2 |
PWMは使用せず、disitalWrite() にしてON/OFFのみとする。 |
8 |
モータ駆動時間 |
モータ駆動時間 |
delay() |
100〜1000 ms |
占有 |
Timer0 |
リーダーコード検出処理200 msを 使用して、並列処理。(時間統一) |