Ergänzend zu DiJe's Anleitung habe ich hier mal die Erläuterung, wie man mehrere Sensoren parallel anschließen kann, und wie man das ganze als Netzteilvariante bauen kann.
Ich habe die Netzteilvariante verbaut, aber meine Arduinos konnten die 12V leider nicht am RAW pin, ab, bei mir ist der LDO durchgebrannt. Obwohl in der chinesischen Beschreibung ganz klar bis 12V steht! Daher habe ich mich für einen StepDown-Regler entschieden, um dieses Problem zu umgehen!
Anmerkung:
Ich habe die Software nicht erstellt, das waren viele andere fleißige Mitglieder dieses Forums und von Extern.
Der Dank geht daher an alle, die sich die Mühe machen und hier Ihre Freizeit "opfern" um uns den Nachbau zu ermöglichen bzw. zu erleichtern.
Ich habe meine Anleitung bewusst der Anleitung von jp112sdl angepasst, so das man sich schnell zurecht findet:
benötigte Hardware:
1x Arduino Pro Mini ATmega328P (3.3V / 8MHz)
1x CC1101 Funkmodul (868 MHz)
1x FTDI Adapter (zum Flashen)
1x Taster
1x LED (optional)
1x Widerstand 330 Ohm (optional)
Draht
1x StepDown Modul (nur im Netzteilbetrieb)
https://de.aliexpress.com/item/1-pcs-Ul ... 66862.html
1-4x PIR-Sensoren
Batteriebetrieb: https://de.aliexpress.com/item/Mini-IR- ... 62369.html
Diese Sensoren funktionieren ab 2,7V und sind daher für den Batteriebetrieb von 2 x AA-Batterien (2*1,5V = 3V) geeignet. Dieser Sensor kann laut Verkäufer bis zu 100° und 3-5Meter abdecken.
Netzteilbetrieb: https://de.aliexpress.com/item/Free-shi ... 07854.html
Diese Sensoren funktionieren erst ab 4,5V und würden somit mindestens 4 Batterien (6V) benötigen, daher sind diese besser für den Netzteilbetrieb geeignet). Es besteht noch die Möglichkeit, hier die Z-Diode auszulöten, dann soll der Sensor mit 3,3V laufen.
Platine:
Die Universalplatine von deimos habe ich in meinem Fall verwendet, um alles etwas aufgeräumter wirken zu lassen.
Die Platine hat die benötigten 4 Analogen Pin (A0-A3) herausgeführt.
Batteriebetrieb: Es sind "nur" 2x VCC Anschlüsse vorhanden (am I2C Sockel J1 +J2), hier muss man entweder jeweils 2 Sensoren anschließen, oder aber den Code erweitern, so das man D5 und D6 als Versorgung nutzen kann. Unter der Zeile "sdev.init(hal);" folgendes einfügen:
somit werden die beiden Kanäle auf VCC (3,3V) gezogen. Da die Sensoren sehr energiesparend arbeiten, können diese leicht über diese Pinne versorgt werden!
Netzteilbetrieb: Die Sensoren müssen ohne die Platine versorgt werden, da auf der Platine nur die 3,3V vorhanden sind.
Link zur Platine:
https://github.com/alexreinert/PCB
(ich habe auch noch welche übrig, die ich günstig abzugeben habe, einfach per PN anfragen)
Akkulaufzeit (nur für den Batteriebetrieb relevant):
Um die Batterielebensdauer zu erhöhen, ist es unbedingt notwendig, die LED vom Arduino Pro Mini zu entfernen!
Die LED und den 330R Widerstand kann man ebenfalls weglassen, um noch ein wenig mehr Akku zu sparen, man sieht dann allerdings nicht, das der Arduino "lebt".
Der LDO auf dem Arduino Board kann/sollte ebenfalls entfernt werden.
Je nach Arduino Board (Version) kann man hierfür die Lötbrücke öffnen, oder muss das IC ablöten (wenn keine Lötbrücke vorhanden).
Ich habe die theoretische Batterielaufzeit mit 2xAA Batterien mit 2000mAh und 10 Auslösungen pro Stunde mal in einer Excel Tabelle durchgerechnet.
Arduino mit LED und LDO und PIR-Sensor - ca. 2,5 Monate
Arduino ohne LED, mit LDO und PIR-Sensor - ca. 1,3 Jahre
Arduino ohne LED, ohne LDO und PIR-Sensor - ca. 1,9 Jahre
Man sieht also, das es sich durchaus lohnt die "Sparmaßnahmen" auch durchzuführen! Die Werte sind allerdings mit Vorsicht zu genießen, da die Angaben der Chinesischen Hersteller nicht immer so ganz stimmen!
Anschaltung:
- Variante mit Batterien
- Variante mit Netzteil
Code flashen:
AskSinPP Library in der Arduino IDE installieren
Achtung: Die Lib benötigt selbst auch noch weitere Bibliotheken.
Projekt-Datei herunterladen. --> zu finden in den Beispielen von pa-pa(
https://github.com/pa-pa/AskSinPP/tree/ ... M-SEC-MDIR)
Arduino IDE öffnen
Heruntergeladene Projekt-Datei öffnen
Werkzeuge
- Board: Arduino Pro or Pro Mini einstellen
- Prozessor: ATmega328P (3.3V 8MHz) auswählen
- Port: entsprechend FTDI Adapter einstellen
- Menü "Sketch" -> "Hochladen" auswählen.
Gerät anlernen:
Kann wie jedes HM-Gerät angelernt werden, CCU in den Anlernmodus bringen, Taster kurz drücken..
siehe Posteingang!
Jetzt unbedingt darauf achten, das man im Gerät die Verbindung auf Standard stellt (nicht auf gesichert).
AES ist zwar möglich muss aber individuell eingestellt werden im Sketch!
Optional - Umbau für mehrere PIR-Sensoren:
Hier müssen optional folgende Zeilen unter '#define PIR_PIN 14' eingefügt werden:
Code: Alles auswählen
#define PIR_PIN2 15
#define PIR_PIN3 16
#define PIR_PIN4 17
Und unter 'motionISR(sdev,1,PIR_PIN);' müssen folgende Zeilen eingefügt werden:
Code: Alles auswählen
motionISR(sdev,2,PIR_PIN2);
motionISR(sdev,3,PIR_PIN3);
motionISR(sdev,4,PIR_PIN4);
Es können immer alle 4 Ports im Code eingestellt werden, da diese keinen Mehrverbrauch darstellen. Der Arduino wacht immer dann auf, wenn an den definierten Pinnen ein High-Signal(3,3V) anliegt, wenn kein Sensor angeschlossen wird, wird der Arduino auch nicht geweckt.
Optional - Netzteilbetrieb:
Für den Netzbetrieb können folgende Zeilen ersetzt werden:
Code: Alles auswählen
typedef AskSin<LedType,BatterySensor,RadioType> BaseHal;
ersetzen durch
und folgende Zeilen auskommentieren (// vor die Zeile eintragen) oder Zeilen löschen:
Code: Alles auswählen
battery.init(seconds2ticks(60UL*60),sysclock);
battery.low(22);
battery.critical(19);
if( hal.battery.critical() ) {
hal.activity.sleepForever(hal);
}
Das PIR-Modul hat einen Jumper, der regelt, ob das PIR-Modul das Ausgangssignal nur einmalig oder mehrfach (retriggernd) ausgibt. Ich hatte Probleme (nach einmaliger Erkennung der Bewegung funktionierte das PIR-Modul nicht mehr), wenn das Signal auf retriggernd stand, von daher solltet ihr in dem Fall den Jumper umstecken.
Sollten mir hier Fehler unterlaufen sein, so sagt mir bitte schnell bescheid, damit wir diesen beheben können.
Nachtrag1: Beim PIR "HC-SR501" kann man am IC1 (Stepdown 7133-1) das IC entfernen und Pin VIn und Pin VOut brücken. Und die Diode 1 muss ebenfalls überbrückt werden. Dann läuft der Sensor auf 3,3V. Es ist aber sicher zu stellen, das die 3,3V dann stabil sind, also über den Arduino oder einen anderen Wandler erzeugt werden (nicht Batteriespannung).
Hier gilt je Effizienter der Wandler, desto länger halten die Batterien:
https://de.aliexpress.com/item/DD0503MA ... 44898.html
- Variante mit Batterien und HR-501 PIR
Viel Erfolg
Gruß Carsten