Inhaltsverzeichnis:
- Schritt 1: Teile und Werkzeuge
- Schritt 2: Absender
- Schritt 3: Empfänger
- Schritt 4: Software
- Schritt 5: Hardware und Einstellung
Video: Mailbox- und Garagentor-Notifier - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Dieses Instructables basiert auf Johan Moberg Mailbox Notifier. Im Vergleich zu diesem Projekt habe ich einige Änderungen vorgenommen:
- Weit weg von meinem Haus ist nicht nur ein Briefkasten, sondern auch eine Garage. Sie befinden sich an einem Ort in der Nähe einer Straße und das Haus befindet sich etwa 50 m im Inneren des Landes. Aufgrund einer sehr empfindlichen Garagenfernsteuerung ist es einige Male vorgekommen, dass das Garagentor versehentlich geöffnet wurde. Jetzt möchte ich genau wissen, ob die Garagentür geschlossen ist oder nicht. Daher erweitere ich das ursprüngliche Projekt um einen weiteren Kontakt, den Garagentorkontakt.
- MCU (Microprocessor Control Unit) im Sender bleibt Attiny-85, was für einen geringen Stromverbrauch wichtig ist. Es sind nicht genügend digitale Pins vorhanden (ich verwende nicht gerne Reset-Pins) und ich löse ein Problem durch eine einfache Hardwarelösung.
- Die Anzeige des Empfängers erfolgt durch optische und akustische Signale. Optische Signale werden durch LEDs erzeugt und für akustische Signale wird ein Schaltkreis hinzugefügt, der das Lied erzeugt. MCU (Microprocessor Control Unit) im Sender wird geändert und es ist Arduino Nano. Ursprünglich wollte ich Attiny-85 verwenden, aber das Fehlen eines weiteren freien Pins war ein großes Hindernis. Es gibt keine einfache Hardwarelösung.
- Kleine Änderungen wurden in der Arduino-Software vorgenommen, um die oben genannten Hardware-Modifikationen beizubehalten.
- Die drahtlose Halbduplex-Kommunikation funktioniert gut, wenn beide Einheiten (Sender und Empfänger) funktionieren. Wenn jedoch eines der beiden Geräte ausfällt (z. B. bei schwacher Batterie usw.), läuft das andere Gerät weiter und täuscht die Kommunikation vor (Empfänger). In einem solchen Fall wird die Kommunikation unterbrochen, selbst wenn der Fehler an einer beliebigen Site behoben ist. Lösung: Es sollte eine neue Kommunikation erstellt werden. Aus diesem Grund ist im Sender eine Reset-Schaltung mit Anzeige eingebaut.
Beschreibung
Das Projekt besteht aus zwei Teilen: Sender und Empfänger. Sender am Garagenplatz erkennt Signale von Briefkastenkontakt und Garagentor-offen-Kontakt. Wenn einer dieser Kontakte aktiviert ist, sendet der Sender HC12 ein Funksignal an den Empfänger. Auf dem Empfänger wird "Alarm" angezeigt, wie "Post angekommen" oder "Garagentor offen", indem die entsprechende LED blinkt und das Lied abgespielt wird. Durch den Reset-Taster an der Empfangseinheit könnte die Anzeige abgebrochen werden und ein neuer Wartezustand auf Alarm gestartet werden.
Maximale Entfernung
Das HC-12-Kommunikationsmodul ist für Entfernungen bis 1,8 km vorgesehen. Dieser Wert ist jedoch theoretisch und könnte im Freien erreicht werden. Innerhalb des Gebäudes ist die maximale Reichweite kürzer. Ich hatte Probleme, mit einer einfachen String-Antenne eine Entfernung von etwa 100 m zu erreichen. In diesem Fall waren beide Geräte auf maximale Reichweite eingestellt - FU4-Modus und 1200 Baudrate. Eine Einheit befand sich im Inneren des Gebäudes hinter 4 dicken Wänden. Mit SMA Antenne wurde Verbindung hergestellt, aber nicht stabil. In diesem Fall wurde das Problem dadurch gelöst, dass die Empfängereinheit in einem zum Garagenstandort ausgerichteten Raum (nur eine Wand) platziert wurde.
Nach meinen Erfahrungen. Ich empfehle SMA-Antennen mit dem richtigen Verlängerungskabel zu verwenden. Dieses Kabel sollte zu den Anschlüssen auf beiden Seiten passen (Antennen-SMA-Anschluss und HC-12-Ipex-Anschluss).
Schritt 1: Teile und Werkzeuge
Es werden folgende Teile verwendet:
Für weniger häufige Teile werden Links bereitgestellt.
Absender:
- Attiny-85, ebay
- HC-12, ebay
- Widerstände 68, 150, 1k, 10k
- Diode Schottky SR240, ebay
- Diode universal, 1N589 oder 1N4148
- Klemmenblock, Banggood
- SMA-Antenne, ebay
- Kondensatoren 1000M
- Transistor NPN, S9013, 2N2222 oder ähnlich
- Batterie AA Halter (3 Stück) und Batterien
- Schalter Micro C + NO + NC für Reset
- LED 5mm blau
- Reedkontakte für Post- und Garagentorschalter, Banggood
- Magnete, Banggood
- Prototyp PCB, Banggood
- Anschlüsse XH, Banggood
Empfänger:
- Arduino-Nano, Banggood
- HC-12, ebay
- Spannungsstabilisator 7805T
- Melodie IC UM66
- Transistor NPN, S9013, 2N2222 oder ähnlich
- Widerstände 2x470, 10k
- Trim Pot 10k
- Kleiner Lautsprecher
- Schalter zurücksetzen, banggood
- Led 10mm, grün und gelb
- Diode universal, 1N589 oder 1N4148
- Kondensator 2x10M, 1000M
- Hauptadapter 220V AC auf 5V DC
- SMA-Antenne
- Klinkenstecker für Hauptadapter, Banggood
- Led 10mm, 2 Stück grün und gelb
- Anschlüsse XH, Banggood
Werkzeuge:
- Arduino-uno Rev3-Board zum Einstellen von HC-12 und Programmieren von Attiny-85
- Lötkolben
- Multimeter
- Steckbrett
Schritt 2: Absender
Schema des Absenders ist auf dem Bild oben.
Batterien sind drei Stück vom Typ AA. Ihr Spitzenverbrauch liegt während der ersten gestarteten Kommunikation (ca. 100mA). Versuchen Sie, diese Zeit so kurz wie möglich zu halten. Während der Wartezeit ist der Verbrauch sehr gering (weniger als 1 mA), und während des Alarms beträgt der Verbrauch kurzzeitig etwa 40 mA. D1 schützt Stromkreise vor Überspannung, wenn die Batterien neu sind.
SW3, R1, C1 erzeugt eine Rücksetzschaltung. Zustandsanzeige nach Reset ist die blaue LED D4. Diese LED muss nach dem Reset leuchten und anzeigen: "Sender ist bereit zum Verbindungsaufbau". Wenn die blaue LED leuchtet, kann die Kommunikation durch Drücken der Reset-Taste am Empfänger gestartet werden.
D2 und D3 sind Schottky-Dioden mit niedriger Durchlassspannung. Aufgrund dieser Dioden verwendet der Schalter "Garagentor offen" den gleichen Software-Interrupt, wie der Schalter "Post angekommen". Wenn SW1 (Mail) mit Masse verbunden ist, werden Interrupt und Alarm für Mail aktiviert. Wenn SW2 (Garage) mit Masse verbunden ist, wird Interrupt für Mail zusammen mit Alarm für Garage aktiviert. Auf diese Weise wurde ein fehlender Pin auf der MCU behoben.
Eine geeignete Alarmanzeige erfolgt per Software. Diese Hardwarelösung ermöglicht es, nur einen einfachen Interrupt zu verwenden.
Die Beschreibung von Attiny-85 und HC-12 ist in den erwähnten Johan Moberg Instructables sehr gut gemacht.
Schritt 3: Empfänger
Der Empfänger wird von der Hauptstromversorgung über einen Adapter von 220 V AC auf 5 V DC mit Strom versorgt. Es könnte jeder kleine Adapter mit einem DC-Ausgangsstrom von etwa 0,3 A sein. Da die Ausgangsspannung des Adapters vom Ausgangsstrom abhängt (es gab eine Spannung von etwa 8 V bei geringem Strom), habe ich den einfachen Spannungsstabilisator IC1 hinzugefügt. Diode D1 verringert die Spannung für HC-12.
Der Arduino Nano-Ausgang D7 verbindet während des Alarmzustands eine Spannung von etwa 4 V mit dem IC2-Melodiegenerator. T1 Signal zum Lautsprecher verstärken. Die Lautstärke kann durch den variablen Widerstand R4 eingestellt werden. Ich empfehle, ein Loch in der Empfängerabdeckung zu lassen, um auf diesen Widerstand zuzugreifen. D5 und D6 sind Ausgänge für Alarm-LEDs. D3-, D4-Pins sind mit HC-12 verbunden und bieten eine serielle Kommunikation. Der D2-Pin ist der Eingang und erkennt den Zustand des "Reset"-Schalters.
Der Reset-Schalter wird für zwei Funktionen verwendet:
- Aktivieren Sie die erste Verbindung. Nach dem Drücken sollte die Kommunikation beginnen.
- Nachdem die Verbindung hergestellt wurde und ein Alarm auftritt, kann die Reset-Taste den Alarm zurücksetzen und den Empfängerstatus für "Warten" ändern.
LED-Anzeige ist folgende:
- Beide LEDs sind an und leuchten dauerhaft. Dies ist der Anfangszustand nach dem Einschalten des Empfängers. Wenn der Sender bereit ist - die blaue LED am Sender leuchtet, kann die Verbindung durch die Reset-Taste am Empfänger hergestellt werden.
- Nachdem die Verbindung hergestellt wurde, blinken beide LEDs abwechselnd im Zeitraum von etwa 2 Sekunden.
- Im Alarmfall blinkt die entsprechende LED etwa 1 Sekunde lang, die andere LED ist dunkel.
Schritt 4: Software
Arduino-Ino-Dateien mit vollständiger Software sind in diesem Schritt enthalten.
Die Software für den Sender sollte auf die MCU Attiny-85 geladen werden. Verwenden Sie zum Programmieren von Attiny die Arduino Uno- und Arduino IDE-Software auf dem PC. Es gibt viele Tutorials, wie es geht, im Internet. Ich empfehle diese Attiny85-Programmierung. Nachdem Sie das Programm in Attiny geladen haben, stecken Sie den Chip in den Sockel auf der Senderplatine.
Die Programmierung von Arduino Nano ist die gleiche wie die Programmierung von Arduino Uno. Verwenden Sie USB-Kabel und Arduino IDE mit ausgewähltem Nano-Board in "Tools" und "Board Manager". Dieser Vorgang könnte mit einem Brett durchgeführt werden, das in ein Brotbrett eingesetzt wird. Nach der Programmierung die Nanoplatine in die Buchse auf der Empfängerplatine stecken.
Beide Geräte HC-12 sollten mit Arduino Uno auf die gleichen Parameter eingestellt werden. Anweisungen sind in den ursprünglichen Instructables.
Schritt 5: Hardware und Einstellung
Die kritischsten Teile sind Kontakte für Post und Garagentor. Diese Kontakte werden im Briefkasten und an der mechanischen Schiene des Garagentors platziert, an deren Stelle die Tür beim Schließen erreicht wird. Briefkastenkontakt besteht aus Reedschalter und Neodym-Magnet. Der Reedschalter wird mit Klebeband im Inneren der Box an einer Seite des Lochs zum Einfügen von Buchstaben befestigt. Magnet wird so an der Briefklappe befestigt, dass die teilweise geöffnete Klappe den Schalter aktiviert. Die Drähte werden an einen kleinen XH-Stecker angeschlossen.
Die gleiche Kontaktlösung wird für Garagentore verwendet. In diesem Fall könnte der Kontakt auch durch Endschalter hergestellt werden. Welche Variante gewählt wird, bleibt Ihnen überlassen. Es gibt jedoch noch weitere Möglichkeiten: Dieselben Garagensysteme können Klemmenleisten mit Endschalterkontakten im Garagensteuerkasten haben. Schließen Sie in diesem Fall einfach die Drähte an die entsprechenden Schrauben an.
Absender
Die Teile werden auf einer Prototyp-Leiterplatte platziert, die auf kleinere Abmessungen geschnitten wird. Auf der Platine befinden sich Buchsen für das HC-12-Modul und für Attiny-85, Anschlüsse für die Batterie und Klemmenblöcke für beide Alarmkontakte. Außerhalb der Platine befindet sich ein Reset-Schalter, eine blaue LED und eine SMA-Antenne. Alle anderen Komponenten sind auf der Platine gelötet und mit Drähten am unteren Teil der Platine verbunden. Batteriehalter und Platine sind in einer Kunststoffbox montiert. Es könnte jede Plastikdose mit den richtigen Abmessungen sein, ich verwende eine feuchtigkeitsbeständige Anschlussdose. Die Box wird unter dem Garagendach montiert und die Kabel werden durch Kunststoffrohre geführt.
Auf dem Foto des Absenderkartons befinden sich einige Teile, die nicht Gegenstand dieses Artikels sind. Ich habe etwas mehr Elektronik in der Box hinzugefügt.
Empfänger
Komponenten des Empfängers können in jeder Universalbox untergebracht werden. Ich habe eine Plastikbox aus einer alten drahtlosen Türklingel verwendet. Die Teile werden wieder auf die Prototyp-Leiterplatte gelötet, einschließlich der beiden LED-Dioden. Auf der Platine sind Buchsen für MCU- und HC-12-Module sowie auf der Platine angelötete Stecker für Lautsprecher, Reset-Taste und Netzspannung vorhanden. In der Frontabdeckung befinden sich Löcher für LEDs, im oberen Teil für Reset-Taste und Antenne.
Einstellung
Wie der Autor des Originalprojekts geschrieben hat, gibt es viele und viele Gründe, die eine erfolgreiche Kommunikation zwischen Sender und Empfänger verhindern können. Überprüfen Sie zunächst die Kabelverbindung und das Löten. Wenn alles in Ordnung ist, versuchen Sie, eine Kommunikation mit beiden nebeneinander auf dem Tisch platzierten Einheiten herzustellen. Wenn es Probleme gibt, überprüfen Sie die HC-12-Module in einfacher Schaltung mit Arduino auf zwei Steckbrettern. Gebrauchsanweisung nach sehr gutem Artikel zum Modul: Long Range Communication Es gibt eine einfache Software HC-12 Messenger. Laden Sie die gleiche Software auf beide arduino und überprüfen Sie die Kommunikation. Wenn OK, sind beide Module gut.
Versuchen Sie als nächsten Schritt, Arduino Uno mit HC-12 auf dem Steckbrett auf alle Komponenten für Sender und Empfänger zu erweitern, und programmieren Sie beide Arduinos. Überprüfen Sie in diesem Fall die Arduino-Uno-Pins im Vergleich zu Attiny-85 und Nano in den Ino-Dateien und ändern Sie bei Bedarf die Pin-Nummern. Aus diesem Grund habe ich in den Kommentarzeilen in den Ino-Dateien entsprechende Arduino-Pins hinzugefügt. Wenn das Problem weiterhin besteht, versuchen Sie, einen Fehler in der Programmierung mithilfe der seriellen Hardware zu finden. Auf diese Weise können Sie einige kritische Punkte des Programms eingeben, Nachrichten überprüfen und sie im seriellen Monitor anzeigen. Sie können sehen, welche Programmteile abgeschlossen sind und welche nicht. Simulieren Sie Schalter für Post und Garage, indem Sie Drähte berühren. Ersetzen Sie nach der Problemlösung die Backboards durch MCUs (Attiny und Nano).
Die erste Kommunikation zwischen den Einheiten sollte auf dem Tisch erfolgen. Wenn alles in Ordnung ist, montieren Sie die Einheiten vor Ort und überprüfen Sie sie erneut.
Danke fürs Lesen und viel Glück.
Empfohlen:
Smart B.A.L (verbundene Mailbox): 4 Schritte
Smart B.A.L (Connected Mailbox): Sie haben es satt, jedes Mal Ihre Mailbox zu überprüfen, während sich nichts darin befindet. Sie möchten wissen, ob Sie während einer Reise Ihre Post oder ein Paket erhalten. Es benachrichtigt Sie, wenn der Postbote eine Post oder eine Par