Project: Arduino Alarmsysteem

Project: Arduino Alarmsysteem

12 sep 2018

In dit Arduino-project gaat u een eenvoudig alarmsysteem bouwen. Wanneer het contact wordt verbroken, schakelt u een alarm in. U gaat in deze sketch met tijd werken door toepassing van de millis-functie.

Kijk op de pagina ‘Arduino voor beginners’ voor uitgebreide informatie over Arduino en meer leuke projecten.

Benodigde onderdelen:

> Koop de Hele Conrad Arduino Starterkit

Inhoud

  1. Arduino alarmsysteem - de schakeling
  2. Arduino alarmsysteem - de sketch
  3. Arduino alarmsysteem - uitvoeren van de sketch

Arduino alarmsysteem | de schakeling

Op de volgende pagina vindt u een duidelijk schema van de schakeling.

  1. Plaats een draadbrug tussen de 5V-aansluiting van je Arduino en de rood gemarkeerde strook op het breadboard.
  2. Plaats een draadbrug tussen de GND-aansluiting van uw Arduino en de blauw gemarkeerde strook op het breadboard.

    // De eerste stap bij het bouwen van vrijwel iedere schakeling is het aansluiten van de voeding op het breadboard. De 5V- en GND-aansluiting van uw Arduino dienen in dit project als voeding, deze worden doorverbonden naar het breadboard waardoor ook hier spanning op staat. 
     
  3. Plaats het reedcontact op het breadboard en plaats de magneet er vast tegenaan.
  4. Plaats een draadbrug tussen de linkerkant van het reedcontact en de rood gemarkeerde strook op het breadboard.
  5. Plaats een draadbrug tussen het pootje aan de rechterkant van het reedcontact en digitale I/O 2 op de Arduino

    // U sluit het reedcontact via een draadbrug aan op de Arduino en niet op 5V omdat u de stand van het reedcontact wilt uitlezen via het board 
     
  6. Plaats een weerstand van 10 kOhm (bruin/zwart/oranje) tussen de rechterkant van het reedcontact en de blauwe GND-strook van het breadboard.

    // Wanneer u een digitale I/O als ingang gebruikt, dan kan er storing ontstaan wanneer er weinig tot geen spanning op deze ingang staat. Hierdoor kan uw schakeling zich vreemd gaan gedragen. Als het contact is ingeschakeld loopt er spanning van 5V door het contact richting ingang 2, dit gaat prima. Voor momenten dat er geen contact wordt gemaakt wilt u een veiligheid inbouwen die alle spanning tegenhoudt. Deze veiligheid noemt u een ‘pull-down-weerstand’ en plaatst u in de vorm van een 10 kOhm weerstand tussen GND en digitale aansluiting 2. 
     
  7. Plaats een piëzo-zoemer op het breadboard (of er naast) en steek de zwarte en rode draad in twee afzonderlijke stroken van het breadboard.
  8. Plaats een draadbrug tussen de rode draad van de piëzo-zoemer en de digitale I/O 3 op de Arduino.
  9. Plaats een draadbrug tussen de zwarte draad van de piëzo-zoemer en de blauw gemarkeerde strook op het breadboard.

    // U sluit de rode draad van de piëzo-zoemer via een draadbrug aan op de Arduino en niet op 5V omdat u de zoemer wilt aansturen met de Arduino op basis van de input van het reedcontact.

De sketch

Arduino alarmsysteem| de sketch

U gaat nu de sketch schrijven om alle verschillende onderdelen van de hardware aan te sturen.

Open hiervoor de Arduino software op uw computer. Er opent vanzelf een lege sketch.

We gaan nu stap-voor-stap de verschillende onderdelen van de sketch bespreken.

U heeft twee aansluitingen gebruikt in uw opstelling. Om de sketch begrijpelijk te houden, is het makkelijk om deze aansluitingen een naam te geven. Deze aansluiting verandert niet (het is een constante) en heeft een numerieke waarde (integer). De piëzo-zoemer is bijvoorbeeld aangesloten op aansluiting 3.

U maakt hier ook een waarde aan om te toestand van de zoemer aan te geven.

U gaat nu een waarde aanmaken waarin u opslaat wanneer de zoemer voor het laatst piepte. Deze waarde noemt u een ‘unsigned long’. Met de waarde ‘long’ kunnen veel getallen worden opgeslagen (meer dan bij een ‘int’ het geval is). De toevoeging ‘unsigned’ maakt dat deze alleen positieve getallen opslaat, hierdoor is er ruimte voor nog meer getallen. Ter vergelijking; met een ‘int’ kunt u maximaal 65 seconden opslaan voor het geheugen vol is. Een ‘unsigned long’ kan tot ca. 50 dagen opslaan. Dit maakt de ‘unsigned long’ waarde dus juist zo ideaal voor het werken met tijd.

De volgende waarde is de interval. U wilt namelijk dat de piëzo-module zoemt, even stil is, en dan weer gaat zoemen. De tijd hier tussenin slaat u op als de interval. In dit geval houden we 1000 milliseconden aan (oftewel; een periode van 1 seconde).

Wat nu volgt is de setup(), hier geeft u eenmalig aan wat de juiste instellingen voor deze sketch zijn.

Geef als eerste aan dat de aansluiting die u in de vorige stap hebt aangeduid als zoemer dient als uitgang (output) in deze sketch. Het reedcontact wordt gebruikt als ingang (input).

De sketch komt nu aan bij het loopgedeelte waar daadwerkelijke acties zich keer op keer herhalen.

Als eerste maakt u hier een waarde aan genaamd ‘huidigeTijd’. Hiermee slaat de tijd in milliseconden sinds het starten van de loop (millis) op om te gebruiken als nulmeting tijdens de sketch. Daarnaast maakt u een waarde aan genaamd ‘Reedwaarde’. Dit is de digitale waarde (aan of uit) die wordt uitgelezen bij het reedcontact. Hiermee bepaalt u tijdens de sketch of de zoemer aan of uit moet.

U begint nu met het creëren van een voorwaarde. Namelijk; als (if) de reedWaarde aan is ‘HIGH’. Als aan deze voorwaarde wordt voldaan, dan wordt er geen spanning gezet op de zoemer. Dit doet u door de digitale uitgang op ‘LOW’ te zetten. U wilt in dit geval niets doen omdat de magneet nog gewoon tegen het reedcontact aan ligt.

Als het reedcontact niet is ingeschakeld, dan is deze uit (else if). Het alarm moet dus afgaan. Daarvoor gaat u rekenen. Als de huidige tijd min de vorige tijd groter of gelijk is aan de interval. Oftewel, is de intervaltijd sinds het starten van de loop verstreken? Als dit zo is, dan wilt u de vorige tijd overschrijven met de huidige tijd. U reset zo als het ware de starttijd om de volgende loop weer opnieuw te beginnen en de gewenste interval tussen het zoemen te krijgen.

Als de zoemer nu uit staat (LOW), dan moet de zoemer aan (HIGH). Is dit niet het geval, oftewel; de zoemer staat nu aan, dan moet de zoemer dadelijk uitgezet worden. U voert de actie hier nog niet daadwerkelijk uit, u maakt enkel een waarde aan.

Haal de waarde uit de vorige stap op en geef deze waarde door aan de zoemer. Het komt er op neer dat u in deze stap de zoemer aan of uit zet waardoor deze gaat zoemen met daartussen de intervaltijd.

Het haakje } dient als afsluiting van de loop(). U heeft deze namelijk ook geopend met een haakje {.

Arduino alarmsysteem| uitvoeren van de sketch

Sluit nu de Arduino via de USB-kabel aan op de computer. U zult zien dat het ON-lampje gaat branden. Nu kunt u de sketch uploaden naar de Arduino via de upload-knop in de software. De RX/TX-lampjes gaan even knipperen, vervolgens ziet u in de software staan dat de upload is geslaagd. Het alarmsysteem is klaar voor gebruik!

Er gebeurt in eerste instantie niets. Maar haal de magneet nu eens weg. U zult zien dat het reedcontact wordt verbroken en dat de zoemer wordt ingeschakeld door de Arduino.

U heeft nu zelf een eenvoudig alarmsysteem gebouwd. Ditzelfde principe vindt u in de praktijk vaak terug als deur- en of raamcontact in volwaardige alarmsystemen.

> Koop alle onderdelen voor dit project

> Koop de Hele Conrad Arduino Starterkit

Bekijk ook de andere projecten:

Project: Arduino schakelaar
Bouw een eenvoudige lichtschakelaar met behulp van Arduino.
> Bekijk het project

Project: Arduino Nachtlampje
Bouw het bekende Knight Rider lichteffect na met een Arduino. 
> Bekijk het project

Project: Arduino Alarmsysteem
Maak uw eigen alarmsysteem via een magneetcontact (reedcontact) en het Arduino-board.
> Bekijk het project

Project: Arduino Thermometer
Maak zelf een Arduino alarmsysteem die aan gaat zodra het te donker wordt. 
> Bekijk het project

> Terug naar de Overzichtspagina Arduino voor Beginners

Op de hoogte blijven van nieuws en nieuwe artikelen?

Als abonnee op onze nieuwsbrieven profiteert u van de volgende voordelen:

  • Altijd de laatste aanbiedingen in uw inbox
  • Als eerste op de hoogte van onze speciale acties
  • €5,- welkomstkorting (Minimum bestelbedrag € 50,-)
    Na aanmelding ontvangt u een bevestigingsmail. Pas na uw bevestiging krijgt u de korting. Kijk hier voor de voorwaarden en geldige assortimenten.