見出し画像

プログラミングで運転!? 【bCoreレーサーミニ四駆】


こんにちは!
PLEN Projectの松原です。


突然ですが、ミニ四駆はご存知でしょうか?
ミニ四駆とは、モーターを搭載したカーレーシング用のホビーで、プラモデルや工作キットで有名な、株式会社タミヤが発売しています。

ミニ四駆はラジコンではないため、前にしか進むことができないのですが、bCore基盤を搭載することで、ラジコンに改造することができます。

画像1


今回は、このbCoreレーサーの操縦方法と、プログラミングを用いた操縦方法についてご紹介します。


bCoreレーサーに興味のある方は、是非ホームページをご確認ください!

bCoreレーサー 公式ホームページはこちら



1. bCoreレーサーの操縦方法

まず、bCoreレーサーと操縦するデバイス(スマートフォンやPC)をご用意ください。

bCoreレーサーの電源をONにします。

画像2


bCoreを操縦するためのウェブアプリ「bDriverMX for WebApp」にアクセスします。


ウェブアプリは以下のブラウザに対応しております
ご利用の際はBluetooth位置情報が必要となります

画像3


スタートボタンを押し、

画像4


bCoreと接続します。

画像5


接続が完了すれば、自由に操縦することができます。

画像6

初回アクセス以降はオフラインでもご利用可能です
ジャイロはAndroidのみ対応しています
PCではキーボードで操縦できます



2. bCoreレーサーのプログラミング方法

プログラミングを用いると、コントローラーでは実現できない繊細な操縦が可能となります!


ウェブアプリを再読み込みし、タイトル画面に戻ります。

画像7


プログラミングモードに切り替えます

画像8


以下から直接アクセスできます


スタートボタンを押し、

画像9


bCoreと接続します。

画像10


コントローラーが、プログラミング版に変わりました。

画像11


構成は大きく分けると以下のようになります。

画像12


① リファレンス
 bCoreレーサーを動かすための関数やJavaScriptの基本的な関数についてご紹介しています。

② プログラミングエリア
 JavaScriptでプログラミングを行ってください。再生ボタンを押すと、プログラムが実行されます。

③ コンソール
 プログラムの実行状況や、エラーについて把握できます。


例えば、以下のようなプログラムを実行すると、bCoreレーサーが最大速度で1秒間進みます
(最大速度は設定から変更可能です)

Motor(100);
Wait(1);
画像13
画像15


自由にプログラミングしてみましょう!
Let's coding!



3. プログラム例

いくつかサンプルプログラムを作成しましたので、参考にしていただければ幸いです。

最大速度80%, 最大角度80% で作成しております


プログラム例1
路肩駐車
道路の左肩に駐車し、ライトを4回点滅させます。

//左に曲がる
Servo(-100);
Motor(20);
Wait(0.7);

//右に曲がる
Servo(100);
Motor(20);
Wait(0.5);

//真っ直ぐ進む
Servo(0);
Wait(0.3);

//停止する
Motor(0);
Wait(0.3);

//ライトを4回点滅させる
for(var i =0;i<4;i++){ 
	Port(0,1);
	Wait(0.2);
	Port(0,0);
	Wait(0.2);
}
画像16


プログラム例2
時間指定
指定時刻になればランダムに走り出します。

//動き出す時刻を設定
var 設定時 = 18;
var 設定分 = 36;
var 設定秒 = 0;

//時刻計算
var MoveTime = 設定時 * 60 ** 2 + 設定分 * 60 + 設定秒;

//現在時刻の取得
var date = new Date();
var NowTime = date.getHours() * 60 ** 2 + date.getMinutes() * 60 + date.getSeconds();

//設定時刻まで待つ
Log("設定時刻 :" + MoveTime)
while(MoveTime != NowTime){ 
	//現在時刻の取得
	date = new Date();
	NowTime = date.getHours() * 60 ** 2 + date.getMinutes() * 60 + date.getSeconds();
	Log("現在時刻 :" + NowTime);
	Wait(1);
}
Log("設定時刻になりました");

//ランダムに動く
for(var i = 0;i<10;i++){ 
Motor(Random(-100,100));
Servo(Random(-100,100));
Port(Random(0,2),Random(0,1));
Wait(Random(0,3));
}

(18時36分に設定した場合)

画像17


4. 終わりに

bCoreレーサーのプログラミングは楽しんで頂けたでしょうか?
色々試してみてくださいね(*^^)v

ご意見・ご質問等ございましたら、
ご気軽にコメント欄まで頂ければありがたいです。

それでは、また別の記事でお会いしましょう!
See you next time!

画像15

いいなと思ったら応援しよう!