Einfach:
#include <AFMotor.h> ; //Bibliothek "AFMotor.h" wird geöffnet. Sie wird benötigt, damit die Ansteuerung der Motoren vereinfacht wird.
AF_DCMotor R_motor(1); //Motor shield (1 = M1, 2 = M2, 3 = M3, 4 = M4)
AF_DCMotor L_motor(2);
void setup() //Einmaliger Befehl
{ //Innerhalb der Klammern { } Steht die Programmierung
R_motor.setSpeed(200); //Motor Geschwindigkeit (Max 250)
L_motor.setSpeed(120);
}
void loop() //Wiederhole fortlaufend
{
R_motor.run(FORWARD); //Forward = Vorwärts
L_motor.run(FORWARD);
delay(10000); //Wie lang sich der Motor drehen soll (ms)
R_motor.run(RELEASE); //Release = Pause (genaugenommen „freigeben“ aber kann man für eine Pause zweckentfremden)
L_motor.run(RELEASE);
delay(2000);
R_motor.run(BACKWARD); //Backward = Rückwärts
L_motor.run(FORWARD);
}
Fortgeschritten
#include <AFMotor.h>
AF_DCMotor M1(1);
AF_DCMotor M2(2);
int distancecm=0;
const int trigPin = A0;
const int echoPin = A1;
// defines variables
long duration;
int distance;
void setup() {
Serial.begin(9600);
M1.setSpeed(150);
M2.setSpeed(150);
M1.run(RELEASE);
M2.run(RELEASE);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
distancecm=mdistance();
if(distance<10){
M1.run(RELEASE);
M2.run(RELEASE);
M1.run(BACKWARD);
M2.run(BACKWARD);
delay(500);
M1.run(FORWARD);
M2.run(BACKWARD);
delay(450);
}
else{
M1.run(FORWARD);
M2.run(FORWARD);
}
}
int mdistance()
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Sets the trigPin on HIGH state for 10 micro seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Reads the echoPin, returns the sound wave travel time in microseconds
duration = pulseIn(echoPin, HIGH);
// Calculating the distance
distance= duration*0.034/2;
// Prints the distance on the Serial Monitor
Serial.print("Distance: ");
}