ArduinoのDCモータードライバ(TA7291P)ライブラリ作ってみた

YMMFに参加することになってArduinoやらRaspberryPi使ってロボット作っている。
(この件については後日別記事にて詳細書きます)
それで走行制御をDCモーター2つ使ってやるので(よくライントレーサーとかでやっているのと一緒)TA7291PってモータードライバIC使って実装した。
そのままソースに制御をベタ書きでも良かったけど、2つ使うしまとめておいたほうが使いやすいかなって思って別ファイルにしたらライブラリっぽくなったので一応公開してみた。
もともと個人的にまとめただけなので、名前がおかしかったりするかもだけど、そこは勘弁して
GitHubにあげています。
https://github.com/ligun/Arduino-MotorDriver-Library

でも、さすがにMotorDriverLibraryじゃどのモータードライバかもわかんないからそこだけは変えようかな…
なんかいつも名前つけるのって迷うな
一応モータードライバでできる正転、逆転、停止、ブレーキを操作出来ます。
あとはVREFにPWM入れることで速度も調整できるようにしてます。

今後はVREF使わずに制御ピン自体にPWM入れるモードの実装でもやろうかな。
久しぶりにC++実装してみた。
同じOOPでもJavaと思想が違うから戸惑った。
それに思ったのが、C++だとポインタとか普通に使うけどArduinoのライブラリってことを考えたらあんまりポインタ操作をやらせたくないな。
具体的には、自分で普通に書くときはまずクラスのポインタを宣言して、setup関数内でnewしたいけど、ポインタ書かせたくないからsetupの外で引数付きのコンストラクタ使ってインスタンス化してねってREADMEに書いてる。
でも、ソースの可読性的にはピンの定義はsetupにまとまってたほうがいいんだよねぇ…
そこんとこJavaとかだったらあまり意識しなかったのになって思った(Javaだと普通にnewするからね)

何か疑問・問題があった場合はコメントかGitHubのissueにでも投げてください。

コメント

タイトルとURLをコピーしました