見出し画像

旗揚げゲーム(2)・・ラジコン化

旗揚げゲームについては前回の記事を

そして、ラジコン化については、Bluetooth通信に関するこちらの記事を

参照ください。これ二つをくっつければ、ラジコンになりますよね。

というわけでやってみました。

スケッチは

#include <Servo.h>

Servo right;
Servo left;

void setup() {
 Serial2.begin(9600);
 right.attach(8);
 left.attach(6);
}

void loop() { 
 if(Serial2.available() > 0){
 action(Serial2.read());       
}
}

void action(char x){
if(x == 'a'){right.write(180);}//白(右)上げ
if(x == 'b'){right.write(0);}//白(右)下げ
if(x == 'c'){left.write(0);} //赤(左)上げ
if(x == 'd'){left.write(180);}//赤(左)下げ
}

スマホからBluetoothでa,b,c,d の4種のコマンドを送ります。それぞれ左右の旗の上げ下げ動作に対応させています。

画像1

つないでー、動いた!

ただ、この動画中では、途中でBluetoothの接続が切れてしまい、手動でつなぎなおしています。繰り返し試したのですが、しょっちゅう切れます。幾度がいじっているうちに原因が見えてきました。どうやらサーボモーター駆動時に大電流が流れるせいで、Bluetoothモジュール側の電源供給が不足になり、落ちるようです。

画像3

Bluetoothのモジュール(HC-05)にモーター駆動系と同じところから電源供給しているのがまずかったようですね。

もともと、サーボモーターとArduino本体の電源を分けたのは、駆動時にArduinoが落ちたからなのですが、同じことはBluetoothのモジュールにも言えそうです。

じゃあ、こうしてみたらどうか?

画像3

おおもとのUSBは同じですが、写真上の方からサーボモーターの電源、下の方から、Bluetoothの電源を取っています。

結論は、「ダメ」でした。同じくしばしば切れます。

そこで、こう変えました。Bluetoothの電源は、Arduino(MEGA)側からとった次第。

画像4

結論としてはこれが成功、安定し、切れなくなりました。以下のようにぶんぶん動きます(笑)。


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