NLT

Arduino Alarm Systeem

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.

Door: Maikel van Dort & Mike Oudshoorn

Leave a Reply