Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int Startknop = 2;
- int start = 0;
- int draaital = 0;
- int MotorL1 = 11;
- int MotorL2 = 10;
- int MotorR1 = 6;
- int MotorR2 = 5;
- int SoundL = 13;
- int ListenL = 12;
- int SoundM = 8;
- int ListenM = 7;
- int SoundR = 4;
- int ListenR = 3;
- float distance;
- float duration;
- void setup() {
- // Biggest setup in your life
- pinMode (MotorL1, OUTPUT);
- pinMode (MotorL2, OUTPUT);
- pinMode (MotorR1, OUTPUT);
- pinMode (MotorR2, OUTPUT);
- pinMode (SoundL, OUTPUT);
- pinMode (SoundM, OUTPUT);
- pinMode (SoundR, OUTPUT);
- pinMode (ListenL, INPUT);
- pinMode (ListenM, INPUT);
- pinMode (ListenR, INPUT);
- pinMode (Startknop, INPUT_PULLUP);
- }
- void loop() {
- analogWrite(MotorL1, 255);
- analogWrite(MotorR1, 255);
- while (draaital < 2) {
- //rechts checken.
- digitalWrite(SoundR, HIGH);
- delay(200);
- digitalWrite(SoundR, LOW);
- duration = pulseIn(ListenR, HIGH);
- distance = (duration / 2) / 29.1;
- if (distance < 40) { // afstand van muur naar robot
- analogWrite(MotorL1, 200);
- delay(500);
- analogWrite(MotorL1, 255);
- }
- //links checken.
- digitalWrite(SoundL, HIGH);
- delay(200);
- digitalWrite(SoundL, LOW);
- duration = pulseIn(ListenL, HIGH);
- distance = (duration / 2) / 29.1;
- if (distance < 40) { // afstand van muur naar robot
- analogWrite(MotorR1, 200);
- delay(750);
- analogWrite(MotorR1, 255);
- }
- //Voorkant checken.
- digitalWrite(SoundM, HIGH);
- delay(200);
- digitalWrite(SoundM, LOW);
- duration = pulseIn(ListenM, HIGH);
- distance = (duration / 2) / 29.1;
- if (distance < 20) { // afstand van muur naar robot
- analogWrite(MotorR1, 0);
- analogWrite(MotorL1, 0);
- delay(500); //stoptijd
- analogWrite(MotorR2, 80);
- analogWrite(MotorL2, 80);
- delay(500); //achteruit rij tijd
- analogWrite(MotorR2, 0);
- analogWrite(MotorL2, 0);
- delay(300); //tijd voordat hij draait na het achteruitrijden.
- analogWrite(MotorR1, 80);
- analogWrite(MotorL2, 80);
- delay(700); //draai tijd
- analogWrite(MotorR1, 0);
- analogWrite(MotorL2, 0);
- delay(300); //tijd voordat hij weer gaat rijden na het draaien
- analogWrite(MotorR1, 255);
- analogWrite(MotorL1, 255);
- draaital++;
- }
- }
- analogWrite(MotorL1, 0);
- analogWrite(MotorR1, 0); draaital = 0;
- do {
- start = digitalRead(Startknop);
- }
- while (!start);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement