2018年8月19日日曜日

【Arduino】Arduino, Bluetoothを使った簡単なラジコンの製作記


夏季休暇の間、ラジコンを製作していました。

以前からArduinoに興味があり、コントローラはできればスマホにしてアプリ製作もやってみたい、などと考えながら、こちらのサイトを参考にさせてもらいました↓

ソフトウェアの部分に関しては、初心者の自分では理解が難しかったので、Arduinoの基礎に近い方法で変更してみました。


ハードウェア

ハードウェアの方はほぼ同じ仕様ですが、参考サイトの方法から下記変更を加えました
 ・TA7291Pの4番ポートをArduinoの3番ポートに接続
  ⇒PWM信号をつかって、DCモーターの速度を調整できるようにするため

注意点

・サーボのPWM信号をArduinoのライブラリ(PWMServoライブラリやServoライブラリなど)経由で出力する場合、Arduinoの9番と10番は使用できないです。
よって、今回は3番ポートからの出力に変更しています。

・サーボとシャフトをつなぐ、針金の半田付けですが、あとでソフトウェア上で中立位置を調整できるので、多少まっすぐでなくてもOKです。

・モーター駆動用の単三乾電池4本は両面テープでベニヤに固定しています。

ソフトウェア

プログラミングに関して、私のスキルでは、参考サイトのやり方がよく理解できなかったので、もう少し簡単な方法にしてみました。以下が今回作成したArduinoのスケッチです。

 
スマホアプリの十字キーの左と右がサーボの左右回転、上と下がDCモーターの正転と反転指示で、○が速度UP、□が速度DOWN、×がブレーキです。

サーボの中立位置(変数val)は、正面から見てタイヤがまっすぐになるよう、値を調整しました。操舵角度は左右それぞれ35度ぐらいが限界かなと思います。

スマホアプリ

Androidのアプリは、とりあえず既製品を使うことにし、Arduino BluetoothController
というのもをチョイスしました。










Google Play StoreでArduino, Bluetoothで検索すると似たようなものがいくつか出てきます。基本的にどれを使ってもOKだとおもいます。Set Commands画面でキーアサインを1から順に、Arduinoのスケッチと整合が取れるように割り振ります。

ただし、Pushボタン形式だとやはり操縦がしずらいので、スライダー調整ができるよう、今後はアプリ開発に取り組んでいく予定です。

2 件のコメント:

  1. 生徒と一緒にこのラジコンカーを取り組んでいます。
    もともとのサイトの情報がよく理解できなくて迷走していました。
    おかげさまで、動くようになりました。
    ありがとうございました。

    返信削除
  2. こんばんは。お役に立てることができて良かったです。

    返信削除

【Grasshopper_98】SporphとSurface Morphingの特徴、違いなどについて

今年もまたGWに突入しましたね。コロナ明けに円安、インバウンド特需のおかげで東京から郊外に出かけると例年以上に混雑に巻き込まれそうなので、昨年と同様、連休中は家に籠ってブログを更新します。今回のテーマは、Surface MorphingとSporphの違いについてまとめてみました。