Dieser Code dient als Vorlage.
Die Vorlage beinhaltet bereits einen 3-Sekunden-Tanz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
/* * 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.
1 2 3 4 5 |
for (int i=0; i<5; i++) { moveRight(); delay(1000) } |