lifesaver.ino https://gist.github.com/t-nissie/7b475315ecc26ad839dccfcc074b044c を脱Arduinoしたい。 完全に移植するには、以下の4つの要素を自前で実装(またはAVR標準機能に置換)する必要がある。
- タイマー割り込み: TimerOne を使わず、AVR内蔵の「Timer1(16bit)」をCTCモードで動かして1秒を作ります。
- サーボ制御と遅延: delayMicroseconds の代わりに util/delay.h のマクロを使います。
- TM1637ディスプレイ制御: 独自形式のシリアル通信(I2Cに酷似)を、レジスタのビット操作によるソフトウエアI2C(ビットバンギング)で再現します。
- シリアル通信: Serial.print は一旦削除、または最小限のUART送信を実装します。(今回はコードを肥大化させないため一旦削除します)