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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
/* Autheur: Fun met Electronica Link: https://training.funmetelectronica.nl/docs/arduino-basis/lessen/les-15-hc-sr04-parkeersensor/ 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!