Dieser Code dient als Vorlage.
Die Vorlage beinhaltet bereits einen 3-Sekunden-Tanz.
/*
* Tanzprogramm 1
* nur die gelben Motoren werden gesteuert
*
*/
//damit wir uns nicht die Nummern der Pin's merken müssen, geben wir ihnen Namen, an denen wir die Pinfunktion erkennen.
#define LeftMotorForward 6
#define LeftMotorBackward 5
#define RightMotorForward 8
#define RightMotorBackward 9
void setup()
{
//Hier definieren wir den jeweiligen Pin-Modus. Weil wir Signale an den Motor-Treiber-Chip ausgeben, stellen wir diese auf Ausgang.
pinMode(LeftMotorForward, OUTPUT);
pinMode(LeftMotorBackward, OUTPUT);
pinMode(RightMotorForward, OUTPUT);
pinMode(RightMotorBackward, OUTPUT);
// Tanzprogramm beginnt:
moveForward();
delay(500);
moveLeft();
delay(500);
moveRight();
delay(500);
moveBackward();
delay(500);
moveStop();
delay(9999);
}
void loop()
{
/*
*
* Der ganze Tanz ist unter void Setup programmiert, er wiederholt sich nicht.
* Per reset-Taste startest du ihn neu.
*
*/
}
void moveForward() //Diese Funktion macht das der Roboter vorwärts fährt
{
digitalWrite(LeftMotorBackward, LOW);
digitalWrite(LeftMotorForward, HIGH);
digitalWrite(RightMotorBackward, LOW);
digitalWrite(RightMotorForward, HIGH);
}
void moveBackward() //Diese Funktion macht das der Roboter rückwärts fährt
{
digitalWrite(LeftMotorForward, LOW);
digitalWrite(LeftMotorBackward, HIGH);
digitalWrite(RightMotorForward, LOW);
digitalWrite(RightMotorBackward, HIGH);
}
void moveLeft() //Diese Funktion macht das der Roboter nach links dreht
{
digitalWrite(LeftMotorForward, LOW);
digitalWrite(LeftMotorBackward, HIGH);
digitalWrite(RightMotorBackward, LOW);
digitalWrite(RightMotorForward, HIGH);
}
void moveRight() //Diese Funktion macht das der Roboter nach rechts dreht
{
digitalWrite(LeftMotorBackward, LOW);
digitalWrite(LeftMotorForward, HIGH);
digitalWrite(RightMotorForward, LOW);
digitalWrite(RightMotorBackward, HIGH);
}
void moveStop() //Diese Funktion macht das der Roboter still steht
{
digitalWrite(LeftMotorBackward, LOW);
digitalWrite(LeftMotorForward, LOW);
digitalWrite(RightMotorForward, LOW);
digitalWrite(RightMotorBackward, LOW);
}
Wir erweitern nun dieses Programm dahingehend, dass dein Roboter, zusammen mit den anderen Robotern aus dem Workshop eine umfänglichere Choreografie tanzt.
- vorwärts 0.5 Sec
- Pause 1 Sec
- Rechts drehen 90°
- Pause 1 Sec
- Links drehen 90°
- rückwärts fahren 0.5 Sec
- Pause 1 Sec
- vorwärts 0.5 Sec
- Links drehen 0.1 Sec – 5x wiederholen mit jeweils 1 Sec Pause
- Rechts drehen 0.1 Sec – 5x wiederholen mit jeweils 1 Sec Pause
- rückwärts fahren 0.5 Sec
- Pause 1 Sec
Mit folgendem Code kannst du eine Schleife programmieren, um etwas zu wiederholen.
for (int i=0; i<5; i++)
{
moveRight();
delay(1000)
}