Bewegungssteuerungssystem in der Arduino-Wohnung. GSM-Sicherheitssystem für Zuhause basierend auf Arduino. Hauptmerkmale des SD-Speicherkartenmoduls


Wie macht man einfaches GSM Alarmanlage für SIM800L und Arduino für Garage oder Ferienhaus. Wir machen es selbst basierend auf vorgefertigten Modulen von Aliexpress. Basismodule- GSM-Modul SIM800L, Arduino Nano (Sie können jedes Uno usw. verwenden), Step-Down-Board, Batterie von Handy.

Reis. 1. Anordnung der Sicherheitsalarmmodule auf Arduino

Signalerzeugung

Wir montieren auf Steckbrett durch die Pads, wodurch Sie die Module bei Bedarf austauschen können. Aktivieren des Alarms durch Anlegen von 4,2 Volt über den Schalter an den SIM800L und den Arduino Nano.



Wenn die erste Schleife ausgelöst wird, ruft das System zuerst die erste Nummer an, bricht dann den Anruf ab und ruft bei der zweiten Nummer zurück. Die zweite Nummer wird hinzugefügt, falls die erste plötzlich unterbrochen wird usw. Beim Auslösen der zweiten, dritten, vierten und fünften Schleife wird eine SMS mit der Nummer der ausgelösten Zone gesendet, ebenfalls an zwei Nummern. Schema und Skizze, die sich für die Beschreibung unter dem Video interessieren.
Wir platzieren die gesamte Elektronik in einem passenden Gehäuse.



Wenn Sie keine 5 Stubs benötigen, verbinden Sie den 5V-Pin des Arduino mit den Eingängen, die Sie nicht benötigen. GSM-Alarmsystem für 5 Schleifen mit einer Batterie, die es dem Gerät ermöglicht, bei einem Stromausfall mehrere Tage autonom zu arbeiten. An diese können Sie beliebige Sicherheitskontaktsensoren, Relaiskontakte usw. anschließen. Als Ergebnis erhalten wir ein einfaches, kostengünstiges kompaktes Sicherheitsgerät zum Senden von SMS und Wählen von 2 Nummern. Es kann verwendet werden, um ein Gartenhaus, eine Wohnung, eine Garage usw.

Mehr im Video

Sind spezielle Hardware-Plattformen, auf deren Basis Sie verschiedene elektronische Geräte, einschließlich und. Derartige Geräte zeichnen sich durch einen einfachen Aufbau und die Möglichkeit aus, Algorithmen für ihren Betrieb zu programmieren. Dank dessen erstellt mit mit Arduino GSM-Alarm , kann für das zu bewachende Objekt so weit wie möglich konfiguriert werden.

Was ist ein Arduino-Modul?

Arduinos werden als kleine Boards implementiert, die über einen eigenen Mikroprozessor und Speicher verfügen. Die Platine enthält auch eine Reihe von Funktionskontakten, an die Sie verschiedene elektrifizierte Geräte anschließen können, einschließlich Sensoren für Sicherheitssysteme.

Der Arduino-Prozessor ermöglicht es Ihnen, ein vom Benutzer selbst geschriebenes Programm zu laden. Durch die Erstellung Ihres eigenen einzigartigen Algorithmus können Sie optimale Betriebsmodi für Sicherheitsalarme für verschiedene Objekte und für verschiedene Nutzungsbedingungen und zu lösende Aufgaben bereitstellen.

Ist es schwierig mit Arduino zu arbeiten?

Arduino-Module sind bei vielen Benutzern sehr beliebt. Dies wird durch seine Einfachheit und Erschwinglichkeit ermöglicht.

Programme zum Verwalten von Modulen werden mit regulärem C++ und Add-Ons in der Form geschrieben einfache Funktionen Steuerung der Ein-/Ausgabevorgänge an den Modulkontakten. Darüber hinaus kann zur Programmierung die kostenlose Software Arduino IDE unter Windows, Linux oder Mac OS verwendet werden.

Mit Arduino-Modulen wurde das Verfahren zum Zusammenbauen von Geräten stark vereinfacht. GSM-Signalisierung auf Arduino kann ohne Lötkolben erstellt werden - die Montage erfolgt mit einem Steckbrett, Jumpern und Drähten.

Wie erstelle ich einen Alarm mit Arduino?

Zu den Hauptanforderungen, die das vom GSM auf dem Arduino erstellte Alarmsystem mit eigenen Händen erfüllen muss, gehören:

  • den Eigentümer der Einrichtung über Einbruch oder Eindringen informieren;
  • Unterstützung für externe Systeme wie Sirene, Warnleuchten;
  • Alarmsteuerung per SMS oder Anruf;
  • autonomer Betrieb ohne externe Stromversorgung.

Um einen Alarm zu erstellen, benötigen Sie:

  • Arduino-Modul;
  • einen Satz von Funktionssensoren;
  • oder ein Modem;
  • Quelle der autonomen Stromversorgung;
  • externe exekutive Geräte.

Eine Besonderheit der Arduino-Module ist die Verwendung spezieller Erweiterungskarten. Mit ihrer Hilfe werden alle Zusatzgeräte an den Arduino angeschlossen, die zum Aufbau der Sicherheitssystemkonfiguration benötigt werden. Solche Boards werden in Form eines "Sandwichs" auf dem Arduino-Modul installiert und die entsprechenden Zusatzgeräte werden an die Boards selbst angeschlossen.

Wie es funktioniert?

Beim Auslösen eines der angeschlossenen Sensoren wird ein Signal an den Prozessor des Arduino-Moduls übermittelt. Mit Hilfe der geladenen Individualsoftware verarbeitet der Mikroprozessor diese nach einem bestimmten Algorithmus. Dadurch kann ein Befehl zur Betätigung des externen Aktors gebildet werden, der ihm über die entsprechende Eübermittelt wird.

Um die Möglichkeit zu gewährleisten, dem Eigentümer eines zu bewachenden Hauses oder einer Wohnung Warnsignale zu senden, wird ein spezielles GSM-Modul über eine Erweiterungsplatine mit dem Arduino-Modul verbunden. Es installiert eine SIM-Karte von einem der Anbieter Mobilfunkkommunikation.

In Ermangelung eines speziellen GSM-Adapters kann seine Rolle von einem normalen Handy... Neben dem Senden von SMS-Nachrichten mit einer Warnung vor einem Alarm und dem Wählen ermöglicht Ihnen das Vorhandensein der Mobilfunkkommunikation die Verwaltung GSM-Alarm auf Arduino aus der Ferne und überwachen Sie den Zustand des Objekts, indem Sie spezielle Anfragen senden.

"Beachten Sie!

Für die Kommunikation mit dem Eigentümer des Objekts können neben GSM-Modulen auch gewöhnliche Modems verwendet werden, die die Kommunikation über das Internet ermöglichen."

In diesem Fall wird beim Auslösen des Sensors das vom Prozessor verarbeitete Signal über ein Modem an ein spezielles Portal oder eine Website übertragen. Und bereits von der Seite aus erfolgt die automatische Generierung einer Warn-SMS oder ein Mailing an die verlinkte E-Mail.

Schlussfolgerungen

Die Verwendung von Arduino-Modulen ermöglicht es Benutzern, eigenständig GSM-Alarme zu entwickeln, die mit verschiedenen funktionalen Sensoren arbeiten und externe Geräte steuern können. Durch die Möglichkeit, verschiedene Sensoren einzusetzen, können die Alarmfunktionen deutlich erweitert und ein Komplex geschaffen werden, der nicht nur die Sicherheit der Anlage, sondern auch deren Zustand überwacht. So wird es beispielsweise möglich sein, die Temperatur in der Anlage zu kontrollieren, Wasser- und Gasaustritte zu erfassen, bei einem Unfall die Zufuhr zu unterbrechen und vieles mehr.

Sein Autor wollte ein hausgemachtes Produkt herstellen, damit es billig und drahtlos ist.
Dieses hausgemachte Produkt verwendet einen PIR-Bewegungssensor und die Informationen werden mit einem RF-Modul übertragen.

Der Autor wollte ein Infrarotmodul verwenden, da es aber eine begrenzte Reichweite hat und plus funktionieren kann nur Sichtlinie zum Empfänger, deshalb wählte er ein HF-Modul, das eine Reichweite von ca. 100 Metern erreichen kann.


Um den Besuchern die Sicht auf die Alarmanlage zu erleichtern, habe ich mich entschieden, den Artikel in 5 Phasen zu unterteilen:
Stufe 1: Baue einen Sender.
Stufe 2: Erstellen Sie einen Empfänger.
Schritt 3: Installieren der Software.
Stufe 4: Testen der montierten Module.
Stufe 5: Zusammenbau des Gehäuses und Einbau des Moduls darin.

Der Autor brauchte nur:
- 2 Platinen ARDUINO UNO / ARDUINO MINI / ARDUINO NANO für Empfänger und Sender;
- RF-Transceiver-Modul (433 MHz);
- PIR-Bewegungssensor;
- 9V-Batterien (2 Stück) und Anschlüsse dafür;
- Summer;
- Leuchtdiode;
- Widerstand mit einem Widerstand von 220 Ohm;
- Brotbrett;
- Jumper / Drähte / Jumper;
- Leiterplatte;
- Board-to-Board-Pin-Anschlüsse;
- Schalter;
- Gehäuse für Empfänger und Sender;
- Buntes Papier;
- Montageband;
- Skalpell zur Satzeinstellung;
- Heißklebepistole;
- Lötkolben;
- Zangen / Abisolierwerkzeug;
- Schere für Metall.


Stufe 1.
Beginnen wir mit der Erstellung des Senders.
Unten sehen Sie ein Diagramm, wie der Bewegungssensor funktioniert.


Der Sender selbst besteht aus:
- Bewegungssensor;
- Arduino-Boards;
- Sendermodul.


Der Sensor selbst hat drei Ausgänge:
- VCC;
- Masse;
- AUS.

Danach habe ich die Funktion des Sensors überprüft


Beachtung!!!
Vor dem Herunterladen der Firmware stellt der Autor sicher, dass das aktuelle Board und der serielle Port in den Arduino IDE-Einstellungen korrekt eingestellt sind. Dann habe ich die Skizze hochgeladen:

Später, wenn der Bewegungssensor eine Bewegung davor erkennt, leuchtet die LED auf und Sie können auch die entsprechende Meldung im Monitor sehen.


Nach dem Diagramm unten.


Der Sender hat 3 Pins (VCC, GND und Data), wir verbinden sie:
- VCC> 5V per Pin auf der Platine;
- GND> GND;
- Daten> 12-polig auf der Platine.

Stufe 2.


Der Empfänger selbst besteht aus:
- RF-Empfängermodul;
- Arduino-Boards
- Summer (Lautsprecher).

Empfängerschaltung:


Der Empfänger hat wie der Sender 3 Pins (VCC, GND und Data), wir verbinden sie:
- VCC> 5V per Pin auf der Platine;
- GND> GND;
- Daten> 12-polig auf der Platine.


Stufe 3.
Als Basis für die gesamte Firmware wählte der Autor die Bibliotheksdatei. Ich habe heruntergeladen, was er ist, und in den Arduino-Bibliotheksordner gelegt.

Sender-Software.
Vor dem Hochladen des Firmware-Codes auf das Board hat der Autor die folgenden IDE-Parameter eingestellt:
- Board -> Arduino Nano (oder welches Board Sie verwenden);
- Serieller Port ->


Nach dem Einstellen der Parameter hat der Autor die Wireless_tx-Firmwaredatei heruntergeladen und auf das Board hochgeladen:

Empfängersoftware
Der Autor wiederholt die gleichen Schritte für das empfangende Board:
- Board -> Arduino UNO (oder welches Board Sie verwenden);
- Serieller Port -> COM XX (überprüfen Sie den COM-Port, mit dem Ihr Board verbunden ist).



Nachdem der Autor die Parameter eingestellt hat, lädt er die wireless_rx-Datei herunter und lädt sie auf das Board hoch:


Anschließend generierte der Autor mit Hilfe eines herunterladbaren Programms einen Ton für den Summer.

Stufe 4.
Außerdem beschloss der Autor, nach dem Herunterladen der Software zu überprüfen, ob alles ordnungsgemäß funktioniert. Der Autor schloss die Netzteile an und führte seine Hand vor den Sensor, und der Summer begann für ihn zu arbeiten, was bedeutet, dass alles funktioniert, wie es sollte.


Stufe 5.
Endmontage des Senders
Zuerst schneidet der Autor die hervorstehenden Stifte vom Empfänger, Sender, Arduino-Platinen usw.


Danach habe ich das Arduino-Board mit einem Bewegungssensor und einem HF-Sender über Jumper verbunden.


Dann begann der Autor, ein Gehäuse für den Sender zu bauen.

Zuerst hat er ausgeschnitten: ein Loch für den Schalter, und rundes Loch für den Bewegungssensor und klebte es dann an den Körper.




Dann faltete der Autor ein Blatt farbiges Papier und klebte das Bild auf die Vorderseite, um die inneren Teile des hausgemachten Produkts zu verbergen.


Danach begann der Autor, die elektronische Füllung mit doppelseitigem Klebeband in das Gehäuse einzufügen.



Endmontage des Empfängers
Der Autor entschied sich für eine Verbindung Arduino-Board mit einer Montageplatte mit Gummiband, und installieren Sie auch einen HF-Empfänger.


Als nächstes schneidet der Autor zwei Löcher in das andere Gehäuse, eines für den Summer, das andere für den Schalter.


Und klebt es.


Danach installiert der Autor Jumper an allen Teilen.




Dann legt der Autor das fertige Brett in den Koffer ein und fixiert es mit doppelseitigem Kleber.

Hallo zusammen, heute werden wir uns ein Gerät ansehen, das als Bewegungssensor bezeichnet wird. Viele von uns haben von dieser Sache gehört, jemand hat sich sogar mit diesem Gerät beschäftigt. Was ist ein Bewegungssensor? Versuchen wir es herauszufinden, also:

Bewegungssensor oder Bewegungssensor - ein Gerät (Gerät), das die Bewegung von Objekten erkennt. Sehr häufig werden diese Geräte in Sicherheits-, Alarm- und Überwachungssystemen eingesetzt. Es gibt eine Vielzahl von Faktoren dieser Sensoren, aber wir betrachten genau das Bewegungssensormodul zum Anschluss an Boards. Arduino,und es ist von der Firma RoboterDyn. Warum gerade dieses Unternehmen? Ich möchte für diesen Laden und seine Produkte keine Werbung machen, aber es waren die Produkte dieses Ladens, die aufgrund der hochwertigen Präsentation ihrer Produkte gegenüber dem Endverbraucher als Labormuster ausgewählt wurden. Also, wir treffen uns - der Bewegungssensor(PIR-Sensor) von RobotDyn:


Diese Sensoren sind klein, verbrauchen wenig Strom und sind einfach zu bedienen. Darüber hinaus verfügen Bewegungssensoren von RobotDyn auch über Siebdruck-markierte Kontakte, was sicherlich eine Kleinigkeit, aber sehr angenehm ist. Nun, wer die gleichen Sensoren verwendet, aber nur von anderen Firmen, muss sich keine Sorgen machen - sie haben alle die gleiche Funktionalität, und selbst wenn die Kontakte nicht markiert sind, ist die Pinbelegung solcher Sensoren im Internet leicht zu finden.

Das Wichtigste technische Eigenschaften Bewegungssensor (PIR-Sensor):

Sensorarbeitsbereich: von 3 bis 7 Meter

Tracking-Winkel: bis zu 110 o

Arbeitsspannung: 4,5 ... 6 Volt

Verbrauchsstrom: bis zu 50μA

Notiz: Die Standardfunktionalität des Sensors kann durch den Anschluss eines Lichtsensors an die IN- und GND-Pins erweitert werden, dann funktioniert der Bewegungssensor nur im Dunkeln.

Geräteinitialisierung.

Nach dem Einschalten dauert die Initialisierung des Sensors fast eine Minute. Während dieser Zeit kann der Sensor falsche Signale ausgeben, dies sollte bei der Programmierung eines Mikrocontrollers mit angeschlossenem Sensor oder in Schaltungen berücksichtigt werden Executive-Geräte wenn die Verbindung ohne Verwendung eines Mikrocontrollers hergestellt wird.

Erfassungswinkel und -bereich.

Der Erfassungs-(Tracking-)Winkel beträgt 110 Grad, der Erfassungsabstandsbereich beträgt 3 bis 7 Meter, die folgende Abbildung zeigt all dies:

Einstellung der Empfindlichkeit (Erfassungsentfernung) und Zeitverzögerung.

Die folgende Tabelle zeigt die wichtigsten Einstellungen des Bewegungssensors, links befindet sich ein Zeitverzögerungsregler bzw. in der linken Spalte eine Beschreibung der möglichen Einstellungen. Die rechte Spalte beschreibt die Einstellungen des Erfassungsabstands.


Sensoranschluss:

  • PIR-Sensor - Arduino Nano
  • PIR-Sensor - Arduino Nano
  • PIR-Sensor - Arduino Nano
  • PIR-Sensor - für Lichtsensor
  • PIR-Sensor - für Lichtsensor

Ein typisches Anschlussschema ist in der Abbildung unten dargestellt, in unserem Fall wird der Sensor konventionell von der Rückseite dargestellt und mit dem Arduino Nano Board verbunden.

Eine Skizze, die die Funktionsweise des Bewegungssensors demonstriert (verwenden Sie das Programm):

/ * * PIR-Sensor -> Arduino Nano * PIR-Sensor -> Arduino Nano * PIR-Sensor -> Arduino Nano * / void setup () (// Herstellen einer Verbindung zum seriellen Port monitor.begin (9600);) void loop ( ) ( // Schwellwert von Port A0 lesen // normalerweise ist er höher als 500, wenn ein Signal anliegt if (analogRead (A0)> 500) (// Signal vom Bewegungssensor Serial.println ("Es gibt Bewegung ! !!!");) else (/ / Kein Signal Serial.println ("Alles ist ruhig...");))

Die Skizze ist ein Routinetest des Bewegungssensors, er hat viele Nachteile, wie zum Beispiel:

  1. Mögliche Fehlalarme, der Sensor muss sich innerhalb einer Minute selbst initialisieren.
  2. Feste Anbindung an den Portmonitor, keine Ausgabe-Executive-Geräte (Relais, Sirene, Lichtanzeige)
  3. Die Signalzeit am Sensorausgang ist zu kurz, bei Bewegungserkennung muss das Signal programmgesteuert länger verzögert werden.

Durch Verkomplizierung der Schaltung und Erweiterung der Funktionalität des Sensors können die oben genannten Nachteile vermieden werden. Dazu müssen Sie den Stromkreis mit einem Relaismodul ergänzen und eine normale 220-Volt-Lampe über dieses Modul anschließen. Das Relaismodul selbst wird mit Pin 3 auf der Arduino Nano-Platine verbunden. Also das schematische Diagramm:

Jetzt ist es an der Zeit, die Skizze zum Testen des Bewegungssensors zu verfeinern. In der Skizze wird die Relaisausschaltverzögerung implementiert, da der Bewegungsmelder selbst beim Auslösen eine zu kurze Signalzeit am Ausgang hat. Das Programm implementiert eine Verzögerung von 10 Sekunden, wenn der Sensor ausgelöst wird. Falls gewünscht, kann diese Zeit durch Ändern des Wertes der Variablen erhöht oder verringert werden Verzögerungswert... Unten ist eine Skizze und ein Video der gesamten zusammengebauten Schaltung:

/ * * PIR-Sensor -> Arduino Nano * PIR-Sensor -> Arduino Nano * PIR-Sensor -> Arduino Nano * Relaismodul -> Arduino Nano * // relout - Pin (Ausgangssignal) für das Relaismodul const int relout = 3 ; // prevMillis - Variable zum Speichern der Zeit des vorherigen Programmzyklus // Intervall - Zeitintervall zum Zählen der Sekunden bis zum Ausschalten des Relais unsigned long prevMillis = 0; int-Intervall = 1000; // DelayValue - die Zeit, während der das Relais im eingeschalteten Zustand gehalten wird int DelayValue = 10; // initSecond - Iterationsvariable der Initialisierungsschleife int initSecond = 60; // countDelayOff - Zähler der Zeitintervalle static int countDelayOff = 0; // Trigger - Flag des Bewegungssensors, der statischen Bool-Trigger auslöst = false; void setup () (// Das Standardverfahren zum Initialisieren des Ports, an dem das Relaismodul angeschlossen ist // WICHTIG !!! - damit das Relaismodul im anfänglich ausgeschalteten Zustand bleibt // und während der Initialisierung nicht ausgelöst wird, Sie müssen den HIGH-Wert in den I / O-Port schreiben // , dies vermeidet ein falsches "Umdrehen" und speichert // den Zustand des Relais so, wie er war, bevor die gesamte Schaltung eingeschaltet wurde pinMode (relout, OUTPUT); digitalWrite (relout, HIGH); // Hier ist alles einfach - wir warten auf das Ende von 60 Zyklen (Variable initSecond) // dauert 1 Sekunde, während dieser Zeit "initialisiert" sich der Sensor für (int i = 0; ich< initSecond; i ++) { delay(1000); } } void loop() { //Считать значение с аналогового порта А0 //Если значение выше 500 if(analogRead(A0) >500) (// Setze das Triggerflag des Bewegungssensors if (! Trigger) (trigger = true;)) // Während das Triggerflag des Bewegungssensors gesetzt ist while (trigger) (// Execute folgende Anweisungen// Speichern Sie in der Variablen currMillis // den Wert der Millisekunden, die seit dem Start der // Programmausführung vergangen sind unsigned long currMillis = millis(); // Vergleiche mit dem vorherigen Wert von Millisekunden // wenn die Differenz größer als das angegebene Intervall ist, dann: if (currMillis - prevMillis> interval) (// Speichere den aktuellen Wert von Millisekunden in der Variablen prevMillis prevMillis = currMillis; // Überprüfen Sie den Verzögerungszähler, indem Sie ihn mit dem Periodenwert vergleichen // während der das Relais eingeschaltet bleiben muss // Zustand if (countDelayOff> = DelayValue) (// Wenn der Wert gleich ist, dann: // das Flag der Bewegung zurücksetzen Sensortrigger = false; // Verzögerungszähler zurücksetzen countDelayOff = 0; // Relais digitalWrite ausschalten (relout, HIGH); // Schleifenunterbrechung abbrechen;) else (// Wenn der Wert noch kleiner ist, dann // Erhöhen Sie den Verzögerungszähler um eins countDelayOff ++; // Halten Sie das Relais auf digitalWrite (relout, LOW );))))

Das Programm enthält eine Konstruktion:

unsigned long prevMillis = 0;

int-Intervall = 1000;

...

unsigned long currMillis = millis ();

if (currMillis - prevMillis> Intervall)

{

prevMillis = currMillis;

....

// Unsere Operationen sind im Körper der Struktur eingeschlossen

....

}

Zur Verdeutlichung wurde beschlossen, diese Konstruktion gesondert zu kommentieren. So, dieses Design ermöglicht es Ihnen, eine Art parallele Aufgabe im Programm auszuführen. Der Körper der Struktur wird etwa einmal pro Sekunde getriggert, dies wird durch die Variable ermöglicht Intervall... Zuerst die Variable currMillis den beim Aufruf der Funktion zurückgegebenen Wert zugewiesen Milli ()... Funktion Milli () gibt die Anzahl der Millisekunden seit dem Start des Programms zurück. Wenn der Unterschied currMillis - prevMillis größer als der Wert der Variablen Intervall dann bedeutet dies, dass seit dem Start der Programmausführung mehr als eine Sekunde vergangen ist und Sie den Wert der Variablen speichern müssen currMillis in eine Variable zurückMillis Führen Sie dann die im Körper der Struktur eingeschlossenen Operationen durch. Wenn der Unterschied currMillis - prevMillis kleiner als der Wert der Variablen Intervall, dann ist zwischen den Programmabtastzyklen noch keine Sekunde vergangen, und die im Rumpf der Struktur enthaltenen Operationen werden übersprungen.

Am Ende des Artikels ein Video des Autors:

Bitte aktivieren Sie Javascript, damit Kommentare funktionieren.

Infrarotsensoren (IR, IR) werden häufig zur Entfernungsmessung verwendet, können aber auch zur Erkennung von Objekten verwendet werden. Durch Anschließen mehrerer IR-Sensoren an den Arduino können Sie Einbrecheralarm.

Überblick

Infrarotsensoren (IR, IR) werden häufig zur Entfernungsmessung verwendet, können aber auch zur Erkennung von Objekten verwendet werden. IR-Sensoren bestehen aus einem Infrarotsender und einem Infrarotempfänger. Der Sender sendet Infrarotstrahlungsimpulse aus, während der Empfänger Reflexionen erkennt. Erkennt der Empfänger eine Reflexion, bedeutet dies, dass sich ein Objekt in einiger Entfernung vor dem Sensor befindet. Wenn es keine Reflexion gibt, gibt es kein Objekt.

Der IR-Sensor, den wir in diesem Projekt verwenden werden, erkennt Reflexionen in einem bestimmten Bereich. Diese Sensoren verfügen über ein kleines lineares ladungsgekoppeltes Bauelement (CCD), das den Winkel erkennt, in dem die IR-Strahlung zum Sensor zurückkehrt. Wie in der Abbildung unten gezeigt, sendet der Sensor einen Infrarotimpuls in den Weltraum, und wenn ein Objekt vor dem Sensor erscheint, wird der Impuls in einem Winkel proportional zum Abstand zwischen Objekt und Sensor zum Sensor zurückreflektiert. Der Sensorempfänger erkennt und gibt den Winkel aus und mit diesem Wert können Sie die Entfernung berechnen.

Indem wir ein paar IR-Sensoren an den Arduino anschließen, können wir einen einfachen Einbruchalarm erstellen. Wir installieren die Sensoren am Türrahmen und können durch die richtige Ausrichtung der Sensoren erkennen, wenn jemand durch die Tür geht. In diesem Fall ändert sich das Signal am Ausgang des IR-Sensors, und wir erkennen diese Änderung, indem wir ständig den Ausgang der Sensoren mit dem Arduino lesen. V dieses Beispiel Wir wissen, dass ein Objekt durch die Tür geht, wenn der Messwert am Ausgang des IR-Sensors 400 überschreitet. Wenn dies geschieht, löst der Arduino einen Alarm aus. Um den Alarm zurückzusetzen, kann der Benutzer die Taste drücken.

Komponenten

  • 2 x IR-Distanzsensor;
  • 1 x Arduino Mega 2560;
  • 1x Summer;
  • 1x-Taste;
  • 1 x 470 Ohm Widerstand;
  • 1 x NPN-Transistor;
  • Jumper.

Schaltplan

Das Diagramm für dieses Projekt ist in der folgenden Abbildung dargestellt. Die Ausgänge der beiden IR-Sensoren sind mit den Pins A0 und A1 verbunden. Die anderen beiden Pins sind mit den 5V- und GND-Pins verbunden. Ein 12-Volt-Summer ist über einen Transistor mit Pin 3 verbunden, und die Taste zum Ausschalten des Alarms ist mit Pin 4 verbunden.


Das Foto unten zeigt, wie wir die Sensoren für dieses Experiment an den Türrahmen geklebt haben. Bei Dauereinsatz würden Sie die Sensoren natürlich anders installieren.


Installation

  1. Verbinden Sie die 5V- und GND-Pins des Arduino-Boards mit den Strom- und GND-Pins der Sensoren. Sie können sie auch extern mit Strom versorgen.
  2. Verbinden Sie die Ausgangsleitungen der Sensoren mit den Pins A0 und A1 der Arduino-Platine.
  3. Verbinden Sie Pin 3 des Arduino über einen 1K-Widerstand mit der Basis des Transistors.
  4. An den Kollektor des Transistors 12 V anlegen.
  5. Verbinden Sie das Pluskabel des 12V Summers mit dem Sender und das Minuskabel mit der Erdungsschiene.
  6. Verbinden Sie Pin 4 mit Pin 5V über einen Taster. Aus Sicherheitsgründen ist es immer am besten, dies über einen zusätzlichen kleinen Widerstand zu tun, um einen hohen Stromfluss zu vermeiden.
  7. Verbinden Sie das Arduino-Board über ein USB-Kabel mit Ihrem Computer und laden Sie das Programm mit der Arduino-IDE auf den Mikrocontroller hoch.
  8. Schalten Sie das Arduino-Board mit einem Netzteil, einer Batterie oder einem USB-Kabel ein /

Code

const int Summer = 3; // Pin 3 ist ein Summerausgang const int pushbutton = 4; // Pin 4 ist der Eingang für die Schaltfläche void setup () (pinMode (Summer, OUTPUT); // Pin 3 auf Ausgang setzen pinMode (Taster, INPUT); // Pin 4 auf Eingang setzen) void loop () (/ / Ausgabe beider Sensoren lesen und Ergebnis mit dem Schwellwert vergleichen int sensor1_value = analogRead (A0); int sensor2_value = analogRead (A1); if (sensor1_value> 400 || sensor2_value> 400) (while (true) (digitalWrite (buzzer , HIGH) ; // Alarm aktivieren if (digitalRead (Taster) == HIGH) break;)) else (digitalWrite (Summer, LOW); // Alarm deaktivieren))

Video