関数名(){
操作手順;
}
のような形で記述します。
FETでモータをコントロールするロボットを前進させる関数を考えてみます。
前進は、左右のモータを同じ力で回転させれば良いですね。できれば、指定した時間前進するようにしたいです。
forward(前進時間){
右モータON;
左モータON;
指定時間待つ;
}
のような形にしてみます。
実際のプログラムでは
int RmotorPin = 3; // Right FET connected to analog pin 3
int LmotorPin = 5; // Left FET connected to analog pin 5
int Rpower = 100;
int Lpower = 100;
void setup() // run once, when the sketch starts
{
pinMode(RmotorPin, OUTPUT); // sets the analog pin as output
pinMode(LmotorPin, OUTPUT);
}
void loop() // run over and over again
{
forward(1000);
stop(100); // wait
forward(500);
stop(200); // wait
}
void forward(int t){
analogWrite(RmotorPin, Rpower); // sets the Motor on
analogWrite(LmotorPin, Lpower);
delay(t);
}
void stop(int t){
analogWrite(RmotorPin, 0); // sets the Motor off
analogWrite(LmotorPin, 0);
delay(t);
}
のようになります。
前進とストップだけです。
左折・右折も同様に考えてみましょう。
パワーも関数で変えられるようにするのも良いアイデアです。
試してみてください。
0 件のコメント:
コメントを投稿