maandag 16 maart 2015

Werkingsmodel ultrasoondetectie

Om de haalbaarheid van ultrasoondetectie aan te tonen is een werkingsmodel gemaakt. Hiervoor is een Arduino UNO en HC-SR04 ultrasoonsensor gebruikt. De meting heeft een nauwkeurigheid tot op de centimeter. Er is ook een limit geprogrammeerd waarmee bepaald kan worden wanneer de robot moet stoppen. Dit wordt weergegeven met een groene (rijden) en rode (stoppen) led. Bij de testopstelling is het limiet 10cm. Op de onderstaande foto's en in het filmpje is verder te zien dat het werkingsmodel succesvol is. Met deze post wil ik DD2, DD3 & DD4 aantonen.


Een meting op 9 cm

De uitlezing bij 9cm

De meting op 13cm

De uitlezing bij 13cm





Het arduino programma

#define STP_LEDPin 5
#define GO_LEDPin 6
#define echoPin 7
#define trigPin 8

int maximumRange = 200;   // Maximum range needed
int minimumRange = 0;     // Minimum range needed
long duration, distance;  // Duration used to calculate distance

void setup() {
  // put your setup code here, to run once:

  Serial.begin (9600);

  pinMode (echoPin, INPUT);
  pinMode (trigPin, OUTPUT);
  pinMode (STP_LEDPin, OUTPUT);
  pinMode (GO_LEDPin, OUTPUT);

}

void loop() {
  // put your main code here, to run repeatedly:

    digitalWrite(trigPin, LOW);
    delayMicroseconds(2);

    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10);
 
    digitalWrite(trigPin, LOW);
    duration = pulseIn(echoPin, HIGH);
 
    //Calculate the distance (in cm) based on the speed of sound.
    distance = duration/58.2;
 
    if (distance >= 10 && distance < 200) {
   
      digitalWrite(GO_LEDPin, HIGH);
      digitalWrite(STP_LEDPin, LOW);
   
    } else {
   
      digitalWrite(STP_LEDPin, HIGH);
      digitalWrite(GO_LEDPin, LOW);
    }


  Serial.println(distance);


}

Geen opmerkingen:

Een reactie posten