ようやく念願のLEGOラジコンが完成したので遊んでみた。
車両
後輪駆動。
前輪をラックピニオン方式のステアリング。
制御方法はArduino + RCサーボモータ。(詳しくは以前の記事)
電源:5V(モバイルバッテリー)
コントローラ
ガムボトルコントローラ。(2CH ジョイスティック)
無線はTWE-Lite Dip。(詳しくは以前の記事)
電源:2.6V(単4エネループ×2)
動作確認
【ソースコード】
#include <Servo.h> //サーボの設定 Servo myservo_Accel; int Accel_pin_out = 9; int Accel_val = 90; Servo myservo_Steering; int Steering_pin_out = 10; int Steering_val = 90; //入力の設定 int Accel_pin_in = 6; int Steering_pin_in = 7; unsigned long Accel_duration = 0; unsigned long Steering_duration = 0; void setup() { myservo_Accel.attach(Accel_pin_out); myservo_Steering.attach(Steering_pin_out); pinMode(Accel_pin_in, INPUT); pinMode(Steering_pin_in, INPUT); } void loop() { //入力 Accel_duration = pulseIn(Accel_pin_in, HIGH, 10000) + 25; //停止状態を微調整 Steering_duration = pulseIn(Steering_pin_in, HIGH, 10000); //演算 Accel_val = map(Accel_duration, 0, 666, 180, 0) ; Steering_val = map(Steering_duration, 0, 666, 0, 180); //出力 myservo_Accel.write(Accel_val); myservo_Steering.write(Steering_val); //待ち delay(15); }
※TWE-Lite Dipは購入時のままのアプリをそのまま使用。
こんなにお手軽にラジコンが作れるようになるとは驚きだ。