見出し画像

無線コントローラー作成①

最近健康的すぎる、neoです。
いつかの記事とTwitterで手に入れたと投稿した、ちいかわ(ESP32)を使ってみたいので無線コントローラー作成をしたい話です。

コントローラーのボタン達

とりあえず使う部品考えましょう。
だいぶ前に買ったジョイスティックのDIP化キットが見つかりました。どーせこの制作逃したら使う機会なんてないので、2つとも使っちゃいましょう。というかジョイスティックなんてコントローラーにしか使えねーよな
あとは、まあ適当に10個ぐらいボタンつけとけばいいでしょう。
ボタン配置とかはPS3のコントローラーを参考にしましょう。
というのもPS3のコントローラーには思い出があって、トーマス結成時のミニコンという大会で使用したのがこのコントローラーです。

岐阜ロボ研のTwitterで上げられてまあまあ伸びた

今思うと狂気だなこれ、と思います。
まあ思い入れあるのでレイアウトはこれをイメージしましょう。

ユニバーサル基板に実装

コントローラーは形状やらなんやらでプリント基板の方がいいと思います。
でもプリント基板を発注するためのカードがない(というか作れない)のです。別にKicadが使えない訳では無いです。
というわけで仕方なくユニバーサル基板で制作を勧めます。

ESP32外した状態
つけた状態

とりあえず部品を基板上に実装した様子です。
ジョイスティックがユニバーサル基板のピッチに対応していない都合上、変換基板が必要になります(だからプリント基板が良かった)。
そんなわけで結構スペースは厳しいですね。

やる気は起きないけど、配線をしないとなんにもなりません。
やっていきましょう。

無駄な真珠はんだ
なんか顔に見えるジャンパー


というわけでやりました、超疲れた。
ジャンパーがあまりなく、しかも近距離のジャンパーしかないので個人的には結構出来のいい基板ですね。
ただ無駄に真珠はんだはするべきではありませんでしたね、特に大電流流すわけでもないですし。
まあ各入力はしっかりできていました。

問題発生①

はい、というわけで実装できたわけなのであとはプログラムだけです。
無線コントローラー、ふむBluetoothでいいだろう、と当初の俺は考えていました。

ここで問題が発生するわけです。
Bluetoothがなんか使えないのです。
プログラムが悪いのか?とも疑いましたが、メイン側で使用する別のESP32モジュールではしっかり動作しました。
多分個体の不良か何かだろうと思います。
焦ってめちゃくちゃに調べると、同じようになんかBluetooth使えない、みたいな記事がありました。
Bluetooth部分の不良ということにしておきましょう。

問題発生②

え、じゃあどうするの?
というわけで悲しきかな、WiFiでなんとかするしかありません。
そこでさらに問題が発生します。

ここで少し説明。
ESP32のアナログ入力にはADC1とADC2の2種類があります。
それぞれ使用出来るピン数だったり、差があるようです。
その差のひとつに、WiFi使用時にはADC2に対応するピンはアナログ入力が使用できないというものがあります。致命的じゃねーか!

さて、何となく察した方もいるでしょう。
先にも記述しましたが、当初の予定はBluetooth通信でした。
そのため、アナログ入力のピンについては配線の都合で適当に選択していました。
そうです、アナログ入力4つのうち、3つもADC2を使用したアナログ入力ピンだったのです。

てっきり俺はWiFi通信の勉強だけすればいいと思っていました、なんとかなると思っていました。
でも実は基板も変更を加えないといけなくなりました。
もう完全にやる気をそがれました。

というわけで制御に関してはテスト後に「無線コントローラー作成②」の方で投稿しましょうか。
基板についてはジャンパーが少し変更するだけなので省略します。
次回はソフト回です。
それでは。

この記事が気に入ったらサポートをしてみませんか?