前のブログでLEGO MINDSTORMSがWindowsのバージョンアップと共に使用ができなくなった話をしましたが、今回は無理やりですがLEGO MINDSTORMSにArduinoを繋げてみました。
長い間、MINDSTORMSは使わないで眠っていたのでいざ使用しようすると
部品が行方不明になっていて、子供たちのLEGOバケツをひっくり返して探したりして作りはじめる前段階の方が大変だった・・・
コードは以前別に買っておいたMINDSTORMS用の延長ケーブルを改造しています。
それから、電池ボックスやArduinoにさす電源端子はないので、とりあえずACアダプタで動かしています。当然ながらコード以上ところには移動することができません。
電池で動かせるようになったら、今度はタッチセンサー(LEGOの名称、本当はただの押しボタンスイッチ)でも使って見たいと思います。
MVI_2659.AVI
皆さんに見せるのも恥ずかしいくらいのスケッチですが、とりあえず「なにごとも形から」の私らしく載せておきます。
---------------これ以降がスケッチです---------------------------
// LEGO Mindstormsを動いたり止まったりするスケッチ
#define MOTOR_RIGHT 13 //「13pinは右モーターという名前をつけよう」と言う宣言
#define MOTOR_LEFT 12 //「12pinは左モーターという名前をつけよう」と言う宣言
void setup()
{
pinMode(MOTOR_RIGHT, OUTPUT); // 「13pinはアウトプットに使用するよ」と言う宣言
pinMode(MOTOR_LEFT, OUTPUT); // 「12pinはアウトプットに使用するよ」と言う宣言
}
// ここからが動作を決めるプログラム
void loop()
{
digitalWrite(MOTOR_RIGHT, HIGH); // 右モーターの電源を入れましょう
digitalWrite(MOTOR_LEFT, HIGH); // 左モーターの電源を入れましょう
delay(1000); //電源が入っている状態でそのままちょっと待って!!
digitalWrite(MOTOR_RIGHT, LOW); // 右モーターの電源を切りましょう
digitalWrite(MOTOR_LEFT, LOW); // 左モーターの電源を切りましょう
delay(1000); //電源が切れている状態でそのままちょっと待って!!
// この後、誰かがスイッチを切るまでloop()内をぐるぐる繰り返し実行します
}
1月21日追加 知り合いの電材屋さんが興味を持ってくれたのか、興味を持ったふりをしてくれたのかは分からないが、たったこれだけのプログラム(スケッチ)を見て「難しそうだ」と思われてしまったので、「こんなスケッチではスケッチと言えないほどなのだ」と思ってもらうためにコメントを追加しました。
長い間、MINDSTORMSは使わないで眠っていたのでいざ使用しようすると
部品が行方不明になっていて、子供たちのLEGOバケツをひっくり返して探したりして作りはじめる前段階の方が大変だった・・・
コードは以前別に買っておいたMINDSTORMS用の延長ケーブルを改造しています。
それから、電池ボックスやArduinoにさす電源端子はないので、とりあえずACアダプタで動かしています。当然ながらコード以上ところには移動することができません。
電池で動かせるようになったら、今度はタッチセンサー(LEGOの名称、本当はただの押しボタンスイッチ)でも使って見たいと思います。
MVI_2659.AVI
皆さんに見せるのも恥ずかしいくらいのスケッチですが、とりあえず「なにごとも形から」の私らしく載せておきます。
---------------これ以降がスケッチです---------------------------
// LEGO Mindstormsを動いたり止まったりするスケッチ
#define MOTOR_RIGHT 13 //「13pinは右モーターという名前をつけよう」と言う宣言
#define MOTOR_LEFT 12 //「12pinは左モーターという名前をつけよう」と言う宣言
void setup()
{
pinMode(MOTOR_RIGHT, OUTPUT); // 「13pinはアウトプットに使用するよ」と言う宣言
pinMode(MOTOR_LEFT, OUTPUT); // 「12pinはアウトプットに使用するよ」と言う宣言
}
// ここからが動作を決めるプログラム
void loop()
{
digitalWrite(MOTOR_RIGHT, HIGH); // 右モーターの電源を入れましょう
digitalWrite(MOTOR_LEFT, HIGH); // 左モーターの電源を入れましょう
delay(1000); //電源が入っている状態でそのままちょっと待って!!
digitalWrite(MOTOR_RIGHT, LOW); // 右モーターの電源を切りましょう
digitalWrite(MOTOR_LEFT, LOW); // 左モーターの電源を切りましょう
delay(1000); //電源が切れている状態でそのままちょっと待って!!
// この後、誰かがスイッチを切るまでloop()内をぐるぐる繰り返し実行します
}
1月21日追加 知り合いの電材屋さんが興味を持ってくれたのか、興味を持ったふりをしてくれたのかは分からないが、たったこれだけのプログラム(スケッチ)を見て「難しそうだ」と思われてしまったので、「こんなスケッチではスケッチと言えないほどなのだ」と思ってもらうためにコメントを追加しました。
1箱買って説明書の作品を作ろうとするとパーツが足りない
不足パーツだけは買えなくて「もう1箱買って下さい」、、えっ!!!
って状況でしたね
注文できるパーツを注文しても何が割り当てられてくるかわからない
文句は言えない、、
そんなアホな、、、ってこと何度もありました
でもばらしては次の生徒さんに使えるんで教材としては人気があるんですねー、これが
ロボカップではもう出場率が低くなりました
時代が終わったって感じです
一部地域ではまだレゴ離れしてませんが^^;
Arduinoの耐圧範囲でVcc上げれば高速でボールを追いかけるサッカーロボが楽しめるかも、、
次は何やかやセンサーですね では、また。 吉谷
私みたいな優柔不断にはピッタリ!!