okay.
Code:const int s0 = 53; const int s1 = 52; const int s2 = 51; const int s3 = 50; const int out = 40; const int motor1 = 10; const int motor2 = 11; const int motor3 = 12; const int motor4 = 13; const int trigger = A1; const int echo = A0; float red=0,green=0,blue=0; float redA[10], greenA[10], blueA[10]; float rav=0,gav=0,bav=0; int counter; int state=0; unsigned long time=0; int currentTime=0; int previosTime=0; void setup() { pinMode(motor1, OUTPUT); pinMode(motor2, OUTPUT); pinMode(motor3, OUTPUT); pinMode(motor4,OUTPUT); pinMode(trigger, OUTPUT); pinMode(echo, INPUT); // pinMode(irPin,INPUT); pinMode(s0, OUTPUT); pinMode(s1, OUTPUT); pinMode(s2, OUTPUT); pinMode(s3, OUTPUT); pinMode(out, INPUT); //Scaling to 20% frequency digitalWrite(s0, HIGH); digitalWrite(s1, LOW); Serial.begin(9600); } int getDistance() { long distance=0; long t=0; digitalWrite(trigger,LOW); delayMicroseconds(3); noInterrupts(); digitalWrite(trigger,HIGH); delayMicroseconds(10); digitalWrite(trigger,LOW); t=pulseIn(echo,HIGH); noInterrupts(); t=(t/2); distance=(t/29.1); return(distance); } void driveForward() { analogWrite(motor1,200); analogWrite(motor4,223); } void driveBackward() { analogWrite(motor2,200); analogWrite(motor3,223); } void turnLeft() { analogWrite(motor1,0); analogWrite(motor4,200); } void turnRight() { analogWrite(motor1,200); analogWrite(motor4,0); } void brake() { analogWrite(motor1,0); analogWrite(motor2,0); analogWrite(motor3,0); analogWrite(motor4,0); } void loop() { int distance=getDistance(); Serial.println(distance); if(distance<15) { turnRight(); // driveBackward(); } else { driveForward(); } }
https://www.pic-upload.de/view-35155...tplan.jpg.html
- - - Aktualisiert - - -
Problem gelöst. Danke für die Hilfe.







Zitieren

Lesezeichen