In dit project leer je hoe je zelf een Arduino alarm maakt
Dit is een leuk project voor in je kamer je kan het bijna overal neerzetten en is gemakkelijk aan te passen aan de omgeving door de simpele code. Daarnaast leer je te werken met de HC-SR04.
In dit project gebruiken we de HC-SR04 ultrasonische sensor, een buzzer en 3 verschillende kleuren LEDs. Met de ultrasonische sensor meten wij de afstand van een object of persoon. Als deze persoon te dichtbij komt gaat er een alarm af en brand er een rood ledje.
- Niveau – Basis 25%
- Tijdsduur – 45/75 Min 40%
- Kosten – €48.85 euro compleet 40%
Stap 1: Benodigheden voor het Arduino Alarm
Stap 2: Het alarm bouwen en Bedraden
Nu gaan we het project bouwen.
We beginnen bij het bedraden en het plaatsen van de componenten op het breadboard doe dit volgens onderstaande foto zorg er wel voor dat de ultrasonische sensor de juiste kant op staat gericht dus van het breadboard af. Vervolgens hebben de 3 LEDs en buzzer een weerstandje nodig. Zodat de spanning niet te hoog wordt en de componentjes opblaast. Hierbij moet wel opgelet worden op welke pinnetje van de leds en buzzer de weerstand wordt aangesloten. De lange pin van de LEDs en buzzer is de + deze kan volgens het schema rechtstreeks bedraad worden naar de Arduino pins. De weerstandjes sluiten wij aan op de – (de korte pin) van de LEDs en buzzer. Deze weerstandjes worden parallel op de – rij van het breadboard aangesloten. Zorg ervoor dat je deze componentjes op de juiste manier aansluit, anders werkt je Arduino Alarm niet!Sluit vervolgens de overige jumper wires aan volgens het schema.
Ook is het belangrijk dat je de juiste componenten op de juiste Arduino pins aansluit, anders werkt de code niet!
Trig -> pin 7
Echo -> pin 6
Buzzer + -> pin 3
Rood ledje + -> pin 11
Geel ledje + -> pin 10
Groen ledje + -> pin 9
Stap 3: Arduino alarm programmeren
#define trigPin 7 //#define geeft een naam aan de aansluit punten die we gebruiken.
#define echoPin 6
#define greenLed 9
#define yellowLed 10
#define redLed 11
#define buzzer 3
int geluid = 500; //Hier maken we een variabele aan voor de Hertz (hz) dat de buzzer gaat klinken.
void setup()
{
Serial.begin(9600); //Hier bereiden we de aansluitpunten en de seriële monitor voor
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(greenLed,OUTPUT);
pinMode(yellowLed, OUTPUT);
pinMode(redLed, OUTPUT);
pinMode(buzzer, OUTPUT);
}
void loop()
{
long duur; //Hier maken we nog twee variabelen aan voor de afstand en de duur dat het signaal van de sensor onderweg is.
long afstand;
digitalWrite(trigPin, LOW); //Hier berekenen we met de duur van het signaal wat de afstand tot het object is.
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duur = pulseIn(echoPin, HIGH);
afstand = (duur / 2) / 29.1;
Serial.print(afstand); //Hier schrijven we de afstand op de seriële monitor
Serial.println(” cm”);
if(afstand > 50) //Als de afstand grote is dan 50cm:
{
digitalWrite(greenLed, HIGH);
digitalWrite(yellowLed, LOW);
digitalWrite(redLed, LOW);
}
else if(afstand < 50 || afstand > 10) //Als de afstand tussen de 50 en de 10 cm ligt:
{
digitalWrite(greenLed, LOW);
digitalWrite(yellowLed, HIGH);
digitalWrite(redLed, LOW);
}
else if(afstand < 10) //Als de afstand kleiner is dan 10cm:
{
digitalWrite(greenLed, LOW);
digitalWrite(yellowLed, LOW);
digitalWrite(redLed, HIGH);
tone(buzzer, geluid);
delay(100);
noTone(buzzer);
}
else if(afstand <=0) //Als de afstand kleiner of gelijk aan 0 is: (foutmelding)
{
Serial.println(“Buiten bereik”);
tone(buzzer, geluid);
delay(500);
noTone(buzzer);
}
delay(300);
}
Je hebt nu een werkend Arduino alarm!
Hallo, mijn zoon en ik hebben deze schakeling nagemaakt (zonder buzzer). We hebben enkele zaken aan de code moeten wijzigen om eea aan de praat te krigen: In plaats van alle #define’s aan het begin hebben we daar meteen int’s van gemaakt met een assignment. (dus ‘int trigPin = 7 ; ‘ etc.)
Maar de belangrijkste wijziging: In de check of geel moet branden staat in bovenstaande code ‘ afstand 10’, dit hebben we gewijzigd in ‘afstand 10’ door de ‘||’ te vervangen door ‘&&’, daarmee werkt alles volgens plan.
Mooi gemaakt ik heb nog wel een vraagje ik probeer hem na te gaan maken op een arduino leonardo. met een drukknop en met een teller als je dichtbij komt. weet u hoe ik het beste dat kan toepassen in de code?