小型の二輪ロボットをPS4のコントローラで操作する(ESP32)

はじめに

 これまでの記事でESP32とPS4のコントローラをBluetoothで接続することができたので、今回はコントローラで実際にロボットを制御してみました。以前製作した小型の二輪ロボットこと、コマゴマ一号の上に、無理矢理ESP32を載せています。

 元々XBEEという無線通信用のモジュールを使っていたので、そこをESP32に置き換えました。XBEEのときはパソコンのキーボードで操作していましたが、コントローラのほうがロボットを制御している感じがあっていいですね。

▼以前製作したコマゴマ一号。これをPS4のコントローラで操作します。

コマゴマ一号:正面

▼以前の記事

ESP32を使って、PS4コントローラとBluetooth接続する

はじめに  今回はESP32を使って、PS4のコントローラとのBluetooth接続をしました。ロボコンで使っているところを見たことがあります。最近はSwitchのコントローラで操作…

ESP32を使って、PS4コントローラとBluetooth接続する:ライブラリ修正編 その1

はじめに  以前の記事で、ESP32とPS4コントローラのBluetooth接続をしました。コンパイルエラーが多発して結構苦労しました。  ライブラリに問題があって、そのままだと…

回路を組む

 過去の記事に何度か出てきていますが、PS4のコントローラと接続するのにはESP32というマイコンを使います。ESP32にプログラムを書き込んで、コントローラからの信号に応じてArduino Nanoに文字を送信します。

▼回路図。以前はXBEEがあったところにESP32が入っています。

 Arduino Nanoを使わなくてもESP32だけで事足りるのでは?と思われるかもしれませんが、その通りです。基板を作り直せばできるのですが、面倒なのでジャンパーワイヤーで何とかなるように作っています。

▼例えばArduino Nanoの端子隣りに、各端子と導通しているピンソケットがあります。これにジャンパーワイヤーを挿すことで、ブレットボードで回路を組むようにして使うことができます。

基板:換装

実際の機体

 ユニバーサル基板で、ESP32を取り付けて配線を引き出せるようにしています。以前の基板に重ねています。

▼ESP32を載せたコマゴマ一号。

ユニバーサル基板によっては取付用の穴の位置が異なるのですが、ピッチは同じなのでランドに穴を空けています。これで種類の異なるユニバーサル基板を重ねることができます。同じ基板を使えばいいんですけどね。

プログラムを書く

▼ESP32のプログラム。だいたいサンプルのものです。シリアル通信でArduino Nanoに送ります。

▼Arduino Nanoのプログラム。以前のものを使い回しています。

最後に

 今回製作した機体は、大学のボランティア団体のイベントに持っていきました。地域の子どもたちが集まるイベントで、子どもたちに操作を体験してもらいました。PS4のコントローラで操作できるというのに結構驚かれましたね。

 他にも私のメカナムホイールの機体や、部員の持っていたロボットアームなども持っていきました。熱中してずっと操作している子がいたり、ロボットを作ってみたい!という子がいました。楽しんでもらえたようです。

 小型のラジコンのようなものであれば作ってきましたが、そろそろ大きなロボットにも挑戦していこうかなと思っています。大型のモーターを使いたいところです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です