✓ Speciaal voor VO, Technasium & Bèta-onderwijs ✓ Scholen bestellen op rekening (achteraf betalen)
Direct contact: info@funmetelectronica.nl | Tel: 06-53111122
Arduino Basis › Les 15: HC-SR04 Parkeersensor

Les 15: HC-SR04 Parkeersensor

Arduino Basis

Functie na opstelling

Deze les moet je ook maken zonder hulptekening. Kijk goed in de sketch op welke pinnen je de onderdelen moet aansluiten. Kom je niet aan uit? Vraag aan je docent de hulptekening. Hij/zij kan in de docentenhandleiding de tekening raadplegen. Werk je zonder de hulp van een docent? Vraag dan via info@funmetelectronica.nl de hulptekening op. Bij het afmaken van de opstelling zal het lampje aan gaan als er een object dichtbij de ultrasoon afstandsmeter staat. Code
/*
  Autheur:      Fun met Electronica
  Link:         lessen.php?id=523
  Beschrijving: Parkeersensor functie.
                Door middel van een ultrasoon afstandsmeter.

  Aansluiting HC SR04:
    VCC   = +5V
    GND   = GND
    TRIG  = pin 2
    ECHO  = pin 4
    Led   = pin 13
*/

const int trigPin = 2;  // TRIG aan pin 2
const int echoPin = 4;  // ECHO aan pin 4
const int led = 13;     // LED aan pin 13
long duration;          // variabele voor de tijdslengte

/*
  Het programmablok void setup wordt eenmaal beschreven
*/
void setup() {
  pinMode (led, OUTPUT);    // LED is output
  pinMode(trigPin, OUTPUT); // TRIG is output
  pinMode(echoPin, INPUT);  // ECHO is input
  Serial.begin(9600);       // start seriele monitor
}

/*
  Het programmablok void loop herhaalt zich keer op keer
*/
void loop() {
  digitalWrite(trigPin, LOW);         // LOW op TRIG geeft geen ultrasoon signaal
  delayMicroseconds(2);               // wacht 2 mircoseconden
  digitalWrite(trigPin, HIGH);        // begin het ultrasoon signaal
  delayMicroseconds(10);              // wacht 10 microseconden
  digitalWrite(trigPin, LOW);         // stop het ultrasoon signaal
  duration = pulseIn(echoPin, HIGH);  // lees het signaal wat terugkomt in vertraging
  
  /*
    op de echoPin, de tijd die tussen uitzenden en ontvangen zit is
    maatgevend voor de afstand, de tijd is in microseconden
  */
  
  Serial.print(duration);       // geef de echo-tijd weer in de seriele monitor
  Serial.println();             // print een regel verder
  delay(100);                   // wacht 100 miliseconden

  if (duration < 1000) {        // als de echotijd kleiner is dan 100 dan...
    digitalWrite (led, HIGH);   // zet de led aan
  }else {                       // anders..
    digitalWrite (led, LOW);    // zet de led uit..
  }
}

/* 
  Opdracht 1:
  Maak de parkeersensor met een buzzer in plaats van een LED.

  Opdracht 2:
  Kan je net zoals in een auto het buzzer signaal sneller laten buzzen?
  En als het object te dichtbij is dat het een hoge constante piep geeft?
  Zo ja voer dit dan uit. Opgelet: enorm lastig!
*/

Opdrachten

Opdracht 15.1: Maak de parkeersensor met een buzzer in plaats van een LED. Opdracht 15.2 Kan je net zoals in een auto het buzzer signaal sneller laten buzzen? En als het object te dichtbij is dat het een hoge constante piep geeft? Zo ja voer dit dan uit. Opgelet: enorm lastig!