Arduino IDEを使えば、ナノローバーを自由に走行させるプログラムを作成することができます。
C言語を使ったプログラミングなんて初めてで難しそう?
大丈夫!
ナノローバーはいくつかの簡単なコマンドで動かすことができます。
各コマンドを使用した4つのサンプルプログラムを動画で見てみましょう!
Arduino IDEを使ったプログラミングを行うためには環境設定が必要です。
環境設定の方法は次の動画にまとめてありますので、こちらも参考にしてくださいね。
それでは、ナノローバーを使ったプログラミングをお楽しみください!
ちなみに今回作成した「五角形を描くプログラム」のソースコードは以下の通りです。
void loop(){
int initialEncL = 0; //左車輪のエンコーダ値
int initialEncR = 0; //右車輪のエンコーダ値
readEnc(&initialEncL, &initialEncR); //エンコーダ値の取得
penUpDown(PEN_DOWN); //ペンを下げる
wheelRun(-20, 20); //20mm/sで前進
int r = 240;
int g = 0;
int b = 0;
int deg = 0;
int encL = 0;
int encR = 0;
while(1){
readEnc(&encL, &encR); //エンコーダ値の取得
encL -= initialEncL;
encR -= initialEncR;
Serial.println(encR/ENC_PER_MM);
if(encL/ENC_PER_MM < -50.0 || encR/ENC_PER_MM > 50.0){ //どちらかの車輪が50mm以上進んだ場合はwhileから出る
break; //ENC_PER_MMは標準状態での1mmあたりのエンコーダ値
}
if(deg > 0 && deg <= 60 ){ //60度ごとにR,G,Bの各色を明滅させる
g += 4;
}else if(deg > 60 && deg <= 120){
r -= 4;
}else if(deg > 120 && deg <= 180){
b += 4;
}else if(deg > 180 && deg <= 240){
g -= 4;
}else if(deg > 240 && deg <= 300){
r += 4;
}else if(deg > 300 && deg <= 360){
b -= 4;
}
ledSet(0, r, g, b); //値を設定
ledSet(1, r, g, b);
ledSet(2, r, g, b);
ledSet(3, r, g, b);
ledSet(4, r, g, b);
ledSet(5, r, g, b);
ledSet(6, r, g, b);
ledSet(7, r, g, b);
ledSet(8, r, g, b);
deg += 1;
if(deg > 360){
deg = 0;
}
delay(5);
}
wheelRun(0, 0); //5秒間停止
delay(200);
penUpDown(PEN_UP); //ペンを上げる
wheelRun(-20, -20); //右旋回
delay(1880);
wheelRun(0, 0); //5秒間停止
delay(200);
}