Improve test function, fix "tuning" values

This commit is contained in:
Phillip Kühne 2019-05-20 01:50:44 +02:00
parent e908d59cba
commit ed3d02fc94

View File

@ -16,7 +16,7 @@ const int PIN_IN4 = 10;
const int SERVO_PIN = 7; const int SERVO_PIN = 7;
Ultrasonic ultrasonic(A2,A3); Ultrasonic ultrasonic(A2,A3, 80000UL);
int distance = 21; int distance = 21;
@ -59,9 +59,9 @@ void enableHigh() {
} }
void setServo(int degrees) { void setServo(int degrees) {
int lenMicroSecondsOfPulse = (float) degrees/ 90.0 * 1000 + 300; int lenMicroSecondsOfPulse = (float) degrees/ 90.0 * 1000 + 550;
int lenMicroSecondsOfPeriod = 20 * 1000; // 20 milliseconds (ms) int lenMicroSecondsOfPeriod = 20 * 1000; // 20 milliseconds (ms)
for (int i = 0; i < 200; ++i) { for (int i = 0; i < 300; ++i) {
digitalWrite(SERVO_PIN, HIGH); digitalWrite(SERVO_PIN, HIGH);
// Delay for the length of the pulse // Delay for the length of the pulse
delayMicroseconds(lenMicroSecondsOfPulse); delayMicroseconds(lenMicroSecondsOfPulse);
@ -94,6 +94,21 @@ void test(){
setMotors(255, 255); setMotors(255, 255);
delay(2000); delay(2000);
stopMotors(); stopMotors();
setMotors(0, 255);
delay(2000);
stopMotors();
setMotors(255, 0);
delay(2000);
stopMotors();
setMotors(-255, -255);
delay(2000);
stopMotors();
setMotors(0, -255);
delay(2000);
stopMotors();
setMotors(-255, 0);
delay(2000);
stopMotors();
} }
// put your setup code here, to run once: // put your setup code here, to run once:
@ -111,7 +126,8 @@ void setup() {
digitalWrite(PIN_ENB, HIGH); digitalWrite(PIN_ENB, HIGH);
// Display Initialisieren // Display Initialisieren
test(); setServo(90);
//test();
} }
@ -137,49 +153,29 @@ void loop() {
setServo(90); setServo(90);
while(distance<50) { while(distance<50) {
distance = ultrasonic.distanceRead(); distance = ultrasonic.distanceRead();
Serial.println("Turning left: "); Serial.println("Turning left: ");
Serial.println(distance); Serial.println(distance);
setMotors(-120,0); setMotors(-140,0);
delay(10); //delay(10);
} }
delay(500); delay(500);
} else { } else {
setServo(90); setServo(90);
while(distance<50) { while(distance<50) {
distance = ultrasonic.distanceRead(); distance = ultrasonic.distanceRead();
Serial.println("Turning right: "); Serial.println("Turning right: ");
Serial.println(distance); Serial.println(distance);
setMotors(0,-120); setMotors(0,-140);
delay(10); //delay(10);
} }
delay(500); delay(500);
} }
} else { } else {
if((distance>215)||(distance<=0)){ if((distance>155)||(distance<=0)){
setMotors(255, 255); setMotors(255, 255);
} else { } else {
setMotors(distance+70, distance+70); setMotors(distance+100, distance+100);
} }
} }
delay(10); delay(10);