サーボモーターをラズパイから制御してみよう | 気分良く前向きに生きよう & テクニカルを楽しむ

気分良く前向きに生きよう & テクニカルを楽しむ

日常感じた心の世界に通じることや脳の働きに関することを書きながら、PCや携帯やプログラミングなどの技術的なことなども書いていこうと思います。

この連休中は、一日数時間ではありましたが 毎日Pythonでプログラムを書いていました。
C#言語とVBAで覆われていた自分のプログラミング脳も、かなりPython化してきたような気がします。

連休最終日の今日の夕方は、PC+機械学習の分野を離れて、少しラズパイで楽しんでみました。

ラズパイを使ってやってみたかったことの筆頭は、なんといってもサーボモーターを使っての自動制御です。
複雑なロボットなども、基本的にはサーボモーターの組み合わせで細かい動作をさせているので、サーボモーターをある程度自由に扱うことができれば、もちろん2足歩行ロボットを自作することは無理としても、何か現実的なことができそうです。

しかし、トルクが太い本格的なサーボモーターを動作させるには、それなりに大きな電力を供給する必要があり、ラズパイから直接とれる5Vや3.3Vの電源とは別に電源を設けなければいけませんし、D/Aコンバーターなどを仲介させなければいけないものも少なくないので、ちょっと敷居が高いです。

そこで、マイクロサーボと呼ばれる小型のサーボモーターを使って、電源供給もラズパイだけで行えるようにして、簡単に実現してみようと思いました。

そのようなわけで、今回購入したマイクロサーボは、SG92Rとよばれるもので、秋葉原の秋月電子さんで500円で購入しました。



入力はたった3つの端子のみで、1つが5V電源供給用、1つがGND用、そしてもう1つが制御用と非常に単純でしたので、結線で戸惑うところはありませんでした。



幸い、このパーツを使った実験例がラズパイマガジンにのっていましたので、そのコードを参考に、やってみたい動作になるように若干書き換えました。
コードはこんな感じです。




これで実行してみたところ・・
うまく動きました!
残念ながら動画をこのAmeba blogにポストする方法がわからなかったのでここに動画を貼れませんでしたが、ほぼイメージ通りに動作させることができました。
とりあえずガンダムのプラモデルの右腕をサーボで動かす実験ができたので、今度はもう少し、実用的な何かを、センサーなどと組み合わせながら作ってみたいと思います。