int trigger=4; int echo=5; long dauer=0; long entfernung=0; int LeftMotorForward = 6; int LeftMotorReverse = 7; int RightMotorForward = 8; int RightMotorReverse = 9; void setup() { Serial.begin (9600); pinMode(trigger, OUTPUT); pinMode(echo, INPUT); pinMode(LeftMotorForward, OUTPUT); pinMode(LeftMotorReverse, OUTPUT); pinMode(RightMotorForward, OUTPUT); pinMode(RightMotorReverse, OUTPUT); } void loop() { digitalWrite(trigger, LOW); delay(5); digitalWrite(trigger, HIGH); delay(10); digitalWrite(trigger, LOW); dauer = pulseIn(echo, HIGH); entfernung = (dauer/2) * 0.03432; ///////////////////////////////////// if (entfernung <= 15){ Serial.print(entfernung); Serial.println(" - Abstand kleiner als 15 cm"); stoppen(); zurueck(); delay(700); stoppen(); rechts(); stoppen(); } else { Serial.print(entfernung); Serial.println(" cm"); vor(); } delay(100); }//Ende Loop //////// Subroutinen ///////////////////////////// void stoppen(){ digitalWrite(RightMotorForward, LOW); digitalWrite(LeftMotorForward, LOW); digitalWrite(RightMotorReverse, LOW); digitalWrite(LeftMotorReverse, LOW); } void links(){ digitalWrite(RightMotorForward, HIGH); digitalWrite(LeftMotorForward, LOW); digitalWrite(RightMotorReverse, LOW); digitalWrite(LeftMotorReverse, HIGH); delay(300); digitalWrite(RightMotorForward, LOW); digitalWrite(LeftMotorForward, LOW); digitalWrite(RightMotorReverse, LOW); digitalWrite(LeftMotorReverse, LOW); } void rechts(){ digitalWrite(RightMotorForward, LOW); digitalWrite(LeftMotorForward, HIGH); digitalWrite(RightMotorReverse, HIGH); digitalWrite(LeftMotorReverse, LOW); delay(300); digitalWrite(RightMotorForward, LOW); digitalWrite(LeftMotorForward, LOW); digitalWrite(RightMotorReverse, LOW); digitalWrite(LeftMotorReverse, LOW); } void vor(){ digitalWrite(RightMotorForward, HIGH); digitalWrite(LeftMotorForward, HIGH); digitalWrite(RightMotorReverse, LOW); digitalWrite(LeftMotorReverse, LOW); } void zurueck(){ digitalWrite(RightMotorForward, LOW); digitalWrite(LeftMotorForward, LOW); digitalWrite(RightMotorReverse, HIGH); digitalWrite(LeftMotorReverse, HIGH); }