てきとうなさいと べぇたばん

自作したESP8266の書き込み基盤にDRV8830を追加してモーターを動かしました

ようやくできあがりましたー! 裏側ですが、これはすこしグロテスクな…

モータードライバーでモーターをうごかす

ESP8266を使ってモーターを動かしたい。しかし、GPIO少ないし、どうしたら本数少なくモーター動かせるかな?

I2Cの出番

というわけで、I2Cの出番というわけでございます。これは、2本の信号線を使うことで複数のデバイスを扱うことができます。マスター、スレーブと分かれてて、スレーブはマスターの命令によって初めて動きます。

よくSPIと比較されます。I2Cの有利な部分としてはマルチマスターということで複数マスターが作れる、要するにスレーブに対して異なるマスターから命令することができる部分にあります。

DRV8830

DRV8830というモータードライバーは、I2Cで操作します。最初上手く動かないなーと思ったらVccとGNDの間にパスコンが必要で47μFの積層セラミックコンデンサとりあえず差しときました。

そしたらうまく動いたのでホッとしました。

スケッチ

とりあえず、5秒間モーターを回し、1秒止めて5秒間逆回転にモーターを回すということをやりました。

動画

課題

  • DRV8830を複数つかって複数のモーターを回そう
  • MQTTつかって制御しよう