4.3 Project: Alarmsysteem

In dit project gebruiken we een PIR-bewegingssensor en een zoemer om een alarmsysteem samen te stellen, dat kan worden bestuurd door het ESP32-ontwikkelbord.

Hoe werkt het? De elektrische signalen worden gedetecteerd en gelezen door de PIR-bewegingssensor via programmering op KidsBlock IDE, en vervolgens bepaalt het of er een persoon is. Als dat zo is, slaat de zoemer alarm. Op deze manier kost dit alarmsysteem veel minder voor gezinnen en kantoren.


4.3.1 Stroomdiagram

image-20230606102303743


4.3.2 PIR-bewegingssensor

Beschrijving:

Een PIR-bewegingssensor detecteert de aanwezigheid van een persoon door de warmte te detecteren die door het menselijk lichaam wordt afgegeven.

Bovendien is deze sensor klein en gemakkelijk te gebruiken.

img


Schematisch diagram:

img

Parameters:

  • Spanning: 3~5V

  • Stroom: 3.6mA

  • Vermogen: 18mW

  • Kijkhoek: Y = 90°, X = 110° (theoretische waarde)

  • Detectieafstand: ≤5m


Bedradingsschema:

Sluit de PIR-bewegingssensor aan op io23.

Let op: Sluit geel aan op S(Signaal), rood op V(Voeding) en zwart op GND. Draai ze niet om!

img


Testcode:

Lees de waarde op pin IO23 om te bepalen of er menselijke beweging is.

image-20250423083305405

Testresultaat:

Open de seriële monitor.

Wanneer er iemand in het gebied is, wordt Someone weergegeven op de monitor en gaat de rode LED op de sensor uit. Als er echter niemand is, wordt No one afgedrukt en blijft de LED altijd aan.

LET OP: De PIR-bewegingssensor kan geen objecten doordringen, dus bedek de sensor niet tijdens het detecteren van bewegingen.

img


4.3.3 Zoemer

Beschrijving:

Een zoemer is een elektronische geluidsgever, die geluiden met verschillende frequenties en duur uitzendt en wordt gevoed door gelijkspanning. Zo kan het worden gebruikt als herinnering of alarm in aanzienlijke elektronische apparaten, zoals computers, printers, kopieerapparaten, alarmen, elektronisch speelgoed, auto-elektronica, telefoons en timers.

img


Een zoemer bestaat uit een trilapparaat en een resonantieapparaat. En er zijn twee categorieën: Passieve zoemers en actieve zoemers.

  • Een Passieve Zoemer kan zelf niet trillen om geluid uit te zenden, tenzij er een blokgolf signaal met een bepaalde frequentie wordt aangelegd. Bovendien varieert het uitgezonden geluid door de verschillende frequentie van de blokgolf, zodat een passieve zoemer melodieën kan simuleren.

  • Een analoge blokgolf kan worden gegenereerd door het vermogensniveau op pinnen te wijzigen. Bijvoorbeeld, nadat het hoge niveau 500ms aanhoudt, schakelt het over naar een laag niveau voor nog eens 500ms en dan weer naar een hoog niveau…

  • We sturen de zoemer aan via een blokgolf binnen 200~5000Hz, en we kunnen de frequentie (f) berekenen: f=1/T; T is de periode (de totale tijd van hoog en laag niveau).

img

  • Een Actieve Zoemer kan automatisch geluid uitzenden zonder externe motivator, omdat deze een aandrijfcircuit bevat dat alleen gelijkstroomvoeding nodig heeft. Het geluid is echter vlak met een relatief vaste frequentie.


In dit experiment wordt een passieve zoemer gebruikt om “muziek te spelen”.


Schematisch diagram:

img

Parameters:

  • Spanning: 3~5V

  • Stroom: ≤5mA

  • Vermogen: ≤25mW


Bedradingsschema:

Sluit de zoemer aan op io16.

Let op: Sluit geel aan op S(Signaal), rood op V(Voeding) en zwart op GND. Draai ze niet om!

img


Testcode:

Methode 1: Analoge blokgolf

Een passieve zoemer wordt aangestuurd door blokgolven, dus we stimuleren de golf.

Een analoge blokgolf kan worden gegenereerd door het vermogensniveau van de pin te wijzigen: hoog niveau voor 500us en laag niveau voor 500us. De zoemer zal dus geluid produceren. Ook kunnen de duur de geluidssterkte aanpassen.

Probeer eens 1000us, 1500us, 3000us… Wat is het verschil?

img

Code:

img

  • In de delay-functie is de tijdseenheid us microseconden. Het volgende blok staat dus voor een vertraging van 500ms.

img

Volgens de formule:

Dus, 500us is de duur, en we kunnen de frequentie berekenen = 2kHz, d.w.z. het hoge en lage niveau wisselen 2000 keer per seconde af.


Methode 2: Luidsprekerblokken

We gebruiken Luidspreker image24 codeblokken om de zoemer aan te sturen om te trillen.

Luidsprekerblokken genereren een PWM-signaal met een bepaalde frequentie om de zoemer aan te sturen om te trillen, en de duur en toon worden geregeld door gerelateerde parameters.

Er zijn twee manieren om de duur te definiëren. Eén is om de parameters van de tone()-functie aan te passen om een duur in te stellen, en de andere is om een noTone()-functie te gebruiken om het geluid direct te stoppen. Als u geen duur definieert in tone(), wordt het geluidssignaal altijd gegenereerd, tenzij een noTone() het stopt.

Voor een ESP32-bord kan slechts één geluid tegelijk worden geproduceerd. Als een pin van ESP32 een geluidssignaal genereert via tone(), is het niet acceptabel om geluid te produceren met deze functie op een andere pin.

Toontabel

img

Code:

  • Sleep een “Toon” blok van image25 zoals hieronder weergegeven, en stel de pin in op IO16.

img

  • U kunt een frequentie naar keuze selecteren.

img

  • Geen toon: Dit wordt gebruikt om alle tonen uit te schakelen.

img

Volledige code:

img

Testresultaat:

Methode 1: Zoemer blijft geluid produceren.

Methode 2: Zoemer alarmeert via tone()-functie.


Uitbreiding: Muziek afspelen

Speel muziek af via tone().

Volledige code:

img


4.3.4 Alarmsysteem

In dit experiment zullen we een alarmsysteem bouwen met een PIR-bewegingssensor, een zoemer en een LED. Wanneer de sensor beweging detecteert, produceert de zoemer geluid en knippert de LED om te waarschuwen voor een inbraak.


Bedradingsschema:

Sluit de PIR-bewegingssensor aan op io23, de zoemer op io16 en de LED op io27.

Let op: Sluit geel aan op S(Signaal), rood op V(Voeding) en zwart op GND. Draai ze niet om!

img


Testcode:

Codestroom:

img

Complete code:

image-20250423084431295

Testresultaat:

Upload de code en het alarmsysteem begint te werken. Wanneer het beweging detecteert, gaat de zoemer af en knippert de LED.


4.3.5 Veelgestelde vragen

V: De tonen van de zoemer komen niet overeen met de werkelijke tonen.

A: Deze reguliere zoemer simuleert alleen tonen, dus hij kan niet voldoen aan professionele eisen. Als u standaardtonen wilt, is een meer gespecialiseerde luidspreker vereist.


V: De PIR-bewegingssensor geeft verkeerde resultaten.

A: Deze PIR-bewegingssensor is ook geen professionele.

Garandeer de volgende situaties om verkeerde informatie te voorkomen:

  • Vermijd dat door de wind geblazen objecten binnen het detectiegebied fladderen, zoals gordijnen, kleding en bloemen.

  • Vermijd sterk licht in het detectiegebied, zoals zonlicht, autolichten, spotlights en andere lichtbronnen.

  • Enzovoort…