Arduino+ダイセンモータードライバー(その2)

前回、うまくいかなかった、Arduinoでダイセンモータードライバーを動かす実験ですが、少しゴール(スタート?)が見えてきました。


まず、先日の生AVRブレッドボードで動かしてみます。
前回のコメントでぽよこまだんなさんからアドバイスいただいて、SCLとSDAはモータードライバー側でプルアップされているので、直結すれば良く、配線はすっきりです。


プログラムはI2Cのところから作らないといけないので、ここを参考にしました。


最初は一応動くものの、すぐに止まってしまう状態でしたが、以下の2点でだいぶ改善できました。

  • WinAVRのコンパイルの最適化を-Osから-O0または-O1にする。
  • データ送信後の終了処理の前に少しWAITを入れる。


これで5分ぐらい持つようになりました。
Arduino上での動作は次回へつづく。