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)
  }