Seite 1 von 1

Ein preiswerter Bewegungsmelder

Verfasst: Di 29. Okt 2013, 11:24
von Heinrichs
Gibt man bei EBAY als Suchbegriff "Infrared PIR Motion Detector" ein, erhält man eine ganze Reihe von preiswerten Angeboten zu Bewegungsmeldern. Meinen habe ich für 1,80 Euro (inkl. Porto) erstanden. Im Wesentlichen sieht er so aus wie in der folgenden Abbildung; der eigentliche Sensor befindet sich auf der Rückseite der Platine.

HC-SR501-PIR.jpg
Bewegunsmelder-Platine HC-SR501
HC-SR501-PIR.jpg (61.97 KiB) 18364 mal betrachtet

Leider unterscheiden sich die angebotenen Platinen im Platinenlayout, und damit auch in den Anschlussbelegungen. Obendrein sind nicht auf allen Platinen die Anschlüsse gekennzeichnet. Von den drei Anschlüssen befinden sich in der Regel die Anschlüsse für Masse und VCC außen und der Ausgang dazwischen. Bei meiner Platine gibt es zwar keine Beschriftung, dafür aber einen Verpolungsschutz, so dass sie eine falsche Polung der Versorgungsspannung klaglos überstanden hat.

Jedenfalls lohnt es sich, vor dem Anschluss die Anschlussbelegung genau zu recherchieren. Für meine Platine habe ich sie noch einmal aufgezeichnet:

Anschluesse_PIR.jpg
Anschlüsse
Anschluesse_PIR.jpg (35.57 KiB) 18364 mal betrachtet

Die Platine liefert ein High-Signal an ihrem Ausgang, wenn der Sensor eine Bewegung registriert hat. Dieses Signal bleibt für eine gewisse Zeit auf High; die Länge dieser Zeitspanne (von 5 s bis 200 s) kann an dem linken Poti in der obigen Abbildung eingestellt werden: Dreht man die Schraube im Uhrzeigersinn, wird die Zeitdauer vergrößert. Die Empfindlichkeit (Abstand, bei dem noch eine Bewegung registriert wird) kann an dem rechten Poti eingestellt werden: Ein Drehen im Uhrzeigersinn erhöht die Empfindlichkeit (von 3 m - 7 m).

Mit einem Jumper kann man die Triggerart einstellen. Verbindert der Jumper den mittleren Kontakt mit dem H-Kontakt, so wird der Sensor deaktiviert, wenn eine Bewegung registriert worden ist. Eine erneute Aktivierung ist erst wieder möglich, wenn der Ausgang auf Low gegangen ist, also nach der oben erwähnten Verzogerungszeit. Verbindet der Jumper hingegen den mittleren Kontakt mit dem Stift L, so so bleibt der Sensor auch nach der Registrierung einer Bewegung aktiv. Er registriert also auch während der Verzögerungszeit Bewegungen; dadurch wird die Verzögerungszeit entsprechend verlängert.

Zum Testen des Moduls ist noch nicht einmal ein Mikrocontroller erforderlich. Über einen Schutzwiderstand (einige 100 Ohm) kann man direkt eine LED an den Ausgang des Moduls anschließen. Man beachte: Nach dem Anschluss an die elektrische Quelle braucht das Modul bis 60 s, um stabil zu arbeiten.

Das folgende Programm wertet das Ausgangssignal des Moduls im Sekundentakt über den Eingang B.0 aus und schaltet demgemäß eine LED an B.6.

Code: Alles auswählen

' Datei für Attiny-Platine von E. Eube, G. Heinrichs und U. Ihlefeldt
' HC-SR501-Infrarot-Motion-Detector (out) an B.0
' LED an B.6
' LED zeigt Bewegung an.
' Die Länge der Leuchtdauer hängt von der Zeiteinstellung des PIR-Moduls ab (ca. 7 s bis 200 s)
' Die Empfindlichkeit hängt von der Empfindlichkeitseinstellung des PIR-Moduls ab (3 m - 7 m)
' Wenn Jumper in L-Stellung, ist der Sensor nach einer Bewegungsregistrierung solange deaktiviert,
' bis Out wieder auf Low.
'
' Ggf. muss man nach dem Einschalten bis zu 60 Sekunden warten, bis das Modul stabil arbeitet.
'
'----------------------------------------------------------------------------

$regfile = "attiny2313.dat"                                 'Attiny2313
$crystal = 4000000                                             '4 MHz


'**********************************************************
'******************* Deklarationen ************************


'****************** Initialisierung ***********************

Ddrb = &B11111110                                           'Port B als Ausgangsport. B.0 als Eingang
Ddrd = &B01110000                                           'D4, D5, D6 als Ausgang; Rest als Eingang
Portd = &B10001111                                          'Eingänge auf high legen
Waitms 50                                                        'warte bis Kondensator bei Ta0 geladen

'**********************************************************
'******************** Hauptprogramm ***********************

Do
  If Pinb.0 = 1 Then Portb.6 = 1
  Wait 1
  Portb.6 = 0
Loop
Wer den Baustein zur Überwachung seiner Wohnung benutzen möchte, kann sich über ein Bewegungsereignis mithilfe der Attiny-Platine per Email informieren lassen. Wie das geht findet man hier: https://www.forum.g-heinrichs.de/viewto ... ?f=12&t=51.