「ちっちゃいーの」にRTCを付ける
について、スイッチの件は、まりす@maris_HYさんから
ヒントを頂いたので、「ちっちゃいーの」本体のスイッチが
使えそうだと分かり、とにかくRTCのスケッチを書いてみました。
なかなか時間が取れずに居ましたが、
とりあえず出来たのが、これです。
時間はでたらめですが、表示できました。
![](https://blogimg.goo.ne.jp/user_image/16/9c/b9d2046d95bc009a8a522255b7275b92.jpg)
3x8ドットで数字を表示したので、7セグっぽい感じになりました。
このモジュールに使われているRTCのICはDS1307で、
ググるといろいろ出てきます。
I2Cのプログラムはここを参照しました。
そして、スイッチを押すと0:00になるようにしてみました。
![](https://blogimg.goo.ne.jp/user_image/2d/fa/bd3251c16f32ce05960868899fa1e18f.jpg)
なかなか、良い感じ。
ちゃんと反応しています。
ところが、スイッチを乱打すると、しばらくしてフリーズしてしまいました。
![](https://blogimg.goo.ne.jp/user_image/34/d5/7932144de87b48fd5aebcedb861f2a09.jpg)
ならば、まりすさんのアドバイス通り、I2Cのタイムアウトを検出して....
ん? wireの説明にタイムアウトがありません。
ググってみると案の定、I2Cのタイムアウトは取っていないとのこと。
さらに、普通にしててもハングすることがあるらしいことが分かりました。
ArduinoのI2Cのライブラリってダメダメじゃん。
また、Sim@Sim0000さんのブログも見つけました。
ちょっと、じっくり考えて対策を考えることにします。
について、スイッチの件は、まりす@maris_HYさんから
ヒントを頂いたので、「ちっちゃいーの」本体のスイッチが
使えそうだと分かり、とにかくRTCのスケッチを書いてみました。
なかなか時間が取れずに居ましたが、
とりあえず出来たのが、これです。
時間はでたらめですが、表示できました。
![](https://blogimg.goo.ne.jp/user_image/16/9c/b9d2046d95bc009a8a522255b7275b92.jpg)
3x8ドットで数字を表示したので、7セグっぽい感じになりました。
このモジュールに使われているRTCのICはDS1307で、
ググるといろいろ出てきます。
I2Cのプログラムはここを参照しました。
そして、スイッチを押すと0:00になるようにしてみました。
![](https://blogimg.goo.ne.jp/user_image/2d/fa/bd3251c16f32ce05960868899fa1e18f.jpg)
なかなか、良い感じ。
ちゃんと反応しています。
ところが、スイッチを乱打すると、しばらくしてフリーズしてしまいました。
![](https://blogimg.goo.ne.jp/user_image/34/d5/7932144de87b48fd5aebcedb861f2a09.jpg)
ならば、まりすさんのアドバイス通り、I2Cのタイムアウトを検出して....
ん? wireの説明にタイムアウトがありません。
ググってみると案の定、I2Cのタイムアウトは取っていないとのこと。
さらに、普通にしててもハングすることがあるらしいことが分かりました。
ArduinoのI2Cのライブラリってダメダメじゃん。
また、Sim@Sim0000さんのブログも見つけました。
ちょっと、じっくり考えて対策を考えることにします。