実測データ

スポンサーリンク
Programming

Arduino Leonardoでtone()を使わずタイマー割り込みで440Hzを鳴らす完全ガイド

要約まとめ Arduino Leonardo(ATmega32U4)で tone() を使わず、タイマー割り込みだけで 440 Hz のブザーを 1 秒おきに鳴らす方法を徹底解説。 タイマー3で周波数、タイマー1で ON/OFF を生成し、CPU 負荷を最小化しつつ精度も確保。レジスタ設定の計算式を図解&実測済み。 tone() の限界、タイマー CTC モードのメリット、周波数変更テク、ハード的注意点まで網羅。実装手順はコピペ OK! なぜ tone() を卒業するのか 結論先出し:tone() は便利だが多用途化するとタイマー0 を占有し、millis() / delay(...
Programming

Arduinoサーボのハンチングを完全解決!writeMicroseconds活用ガイド

要約まとめ サーボが〈プルプル〉震えるハンチングはPIDゲイン過多と急加速/急減速が主因。 Servo.write()だけだとコントローラが粗く、ハンチングが顕在化しやすい。 ソフト加速(softMove)でステップを細かく切ると大幅に低減。 writeMicroseconds()でパルス幅を直接制御すれば解像度が5〜10倍に向上。 さらに独自関数new_writeMicroseconds()で“なめらか全域制御”が可能。 ハンチングの正体と根本原因 結論から言うと、ハンチングは「PIDコントローラのD(微分)成分が効きすぎ+速度ステップが粗すぎ」で起こる軽い振動現象。...
スポンサーリンク