工作が苦手だし、「ありもの」のボディーを使いたい!ということで、押入れの中に眠っていた『週刊リアルロボット』を再利用することに。
この記事の続きです
下記のサイトで調べたピン配列が正しいかテストです。
ちゃんと動きましたー
以下 スケッチ。
今回はPWM使ってません。
//週刊リアルロボットを ぐるぐる回すよ
//参考URL
//LEGO MINDSTORMSにArduinoを繋げてみました。
//http://blog.goo.ne.jp/soratobu_macaronipenguin/e/1f0383d3c93df7b8e5c96b3190604116
//週刊リアルロボットを、その場で回転させるスケッチ
#define MOTOR_RIGHT_A 5 //「5pinは右モーターAという名前をつけよう」と言う宣言
//botピンの1番へ
#define MOTOR_RIGHT_B 6 //「6pinは右モーターBという名前をつけよう」と言う宣言
//botピンの2番へ
#define MOTOR_LEFT_A 9 //「9pinは左モーターAという名前をつけよう」と言う宣言
//botピンの3番へ
#define MOTOR_LEFT_B 10 //「10pinは左モーターBという名前をつけよう」と言う宣言
//botピンの4番へ
// Arduino 週刊リアルロボット
モーターコントロール基板
// デジタル 5 -> cybot 1pin
// デジタル 6 -> cybot 2pin
// デジタル10 -> cybot 3pin
// デジタル 9 -> cybot 4pin
// GND -> cybot 7pin
//デジタル出力
//Todo : PWM
void setup()
{
// 「pin5,6,1はアウトプットに使用するよ」と言う宣言
pinMode(MOTOR_RIGHT_A, OUTPUT);
pinMode(MOTOR_RIGHT_B, OUTPUT);
pinMode(MOTOR_LEFT_A, OUTPUT);
pinMode(MOTOR_LEFT_B, OUTPUT);
}
// ここからが動作を決めるプログラム
void loop()
{
// LOWを必ず先に書く。A B 両方がHIGHにならないように
digitalWrite(MOTOR_RIGHT_B, LOW);
digitalWrite(MOTOR_LEFT_B, LOW);
// 右モーターAを前進
digitalWrite(MOTOR_RIGHT_A, HIGH);
//左モーターBを逆転
digitalWrite(MOTOR_LEFT_A, HIGH);
delay(1000); //電源が入っている状態でそのままちょっと待って!!
// 右モーターAを静止
digitalWrite(MOTOR_RIGHT_A, LOW);
// 左モーターBを静止
digitalWrite(MOTOR_LEFT_A, LOW);
//不要だけど念のため
digitalWrite(MOTOR_RIGHT_B, LOW);
digitalWrite(MOTOR_LEFT_B, LOW);
delay(3000); //電源が切れている状態でそのままちょっと待って!!
// LOWを必ず先に書く。A B 両方がHIGHにならないように
digitalWrite(MOTOR_RIGHT_A, LOW);
digitalWrite(MOTOR_LEFT_A, LOW);
// 右モーターAを逆転
digitalWrite(MOTOR_RIGHT_B, HIGH);
//左モーターBを前進
digitalWrite(MOTOR_LEFT_B, HIGH);
delay(1000); //電源が入っている状態でそのままちょっと待って!!
// 右モーターAを静止
digitalWrite(MOTOR_RIGHT_A, LOW);
// 左モーターBを静止
digitalWrite(MOTOR_LEFT_A, LOW);
//不要だけど念のため
digitalWrite(MOTOR_RIGHT_B, LOW);
digitalWrite(MOTOR_LEFT_B, LOW);
delay(3000); //電源が切れている状態でそのままちょっと待って!!
// この後、誰かがスイッチを切るまでloop()内をぐるぐる繰り返し実行します
}
また ライントレーサーなんかも作ってみたいです。