Inleiding
Wij moesten voor NLT een Arduino project maken, en wij hebben uiteindelijk besloten om een Alarm Systeem te maken. Dit idee kwam niet meteen op, want we waren de eerste paar lessen bezig met hoe de Arduino werkt.
Hoe werkt het
Ons alarm systeem werkt met een senser (HC-SR04) die een signaal naar de Arduino en de Arduino zet het om in een waarde. Vanuit de Arduino zetten wij een waarde vast, en als de waarde lager is dan de vast gestelde waarden dan gaat het rode led branden en dan komt er geluid uit speaker. Je kan ook het geluid uitzetten door de schakelaar over te halen. Als de waarde hoger is dan de vast gestelde waarden brand het groene led en hoor je geen geluid.
Benodigdheden
- Arduino Uno + Breadboard
- Usb A – B
- 12-15 kabeltjes
- Speaker
- HC-SR04 sensor
- 2 Weerstandjes (330 Ohm)
- 2 Led lichtjes
Opstelling
Code
const int trigPin = 0; // TRIG op pin 0 const int echoPin = 1; // ECHO op pin 1 const int speaker = 2; // Speaker op pin 2 const int toon = 1000; // Toon voor de speaker long duration; // Hoelang het duurt int ledr = 5; // RoodLed op pin 5 int ledg = 4; // GroenLed op pin 4 void setup() { pinMode(trigPin, OUTPUT); // TRIG is een output pinMode(echoPin, INPUT); // ECHO is een input pinMode(ledr, OUTPUT); // RoodLed is een output pinMode(ledg, OUTPUT); // GroenLed is een output Serial.begin(9600); // start seriele monitor Serial.print("Project: MM \n"); // Text in Serial monitor Serial.print("By: Maikel & Mike \n"); // Text in Serial monitor } 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 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 > 500){ // Als de tijd groter dan 350ms is, dan blijft de toon neutraal noTone(speaker); // Geen toon naar de speaker digitalWrite(ledr, LOW); // RoodLed uit digitalWrite(ledg, HIGH); // GroenLed aan } else { // Anders tone(speaker, toon); // Toon naar de speaker digitalWrite(ledr, HIGH); // RoodLed aan digitalWrite(ledg, LOW); // GroenLed uit } }
Bronnen
Wij hebben een stukje van Funmetelectronic les 15 gebruikt.
- https://training.funmetelectronica.nl/docs/arduino-basis/lessen/les-15-hc-sr04-parkeersensor/
- https://www.arduino.cc/reference/en/
Door: Maikel van Dort & Mike Oudshoorn
Leave a Reply
You must be logged in to post a comment.