erstellt  08.08.2020
Funk
Ein mit einem Radarmodul erfasste Bewegung soll mit Hilfe eines Funk-Senders zu einem Funk-Empfänger verschickt werden
um dort dann ein akustisches wie auch visuelles Signal aus zu lösen.
Alternativ hab ich noch einen gleichen Sender allerdings nicht mit einem Radarsignal , sondern mit einen PIR Sensor ausgestattet.
So hab ich die Möglichkeit eine Signal per PIR Sensor oder per Radar zu erfassen.

Warum diese beiden Möglichkeiten ?
Radarsensoren reagieren auf Bewegung und haben den Vorteil auch durch dünnes Holz, Glas, usw eine Bewegung zu erfassen,
haben allerdings auch den Nachteil auf nicht vermeidbare Bewegungen zu reagieren wie sie beispielsweise bei durch einen Windzug
entstehende Bewegung von Blätter in Erscheinung treten.
PIR Sensoren reagieren auf Temperaturdifferenzen die auftreten wenn  z.B. ein Mensch oder Tier sich Temperaturmäßig von seiner Umgebung abhebt..
Diese Sensoren können aber keine Temperatur durch Glas hindurch erfassen.


Als Empfänger dient eine fast gleiche Schaltung wie der Sender ,mit dem Unterschied das beim Empfänger das Radarmodul weg gelassen wird weil ja nicht benötigt,
aber ein Piezo Summer als Alarm Melder hinzugefügt wird.
Dementsprechend ist auch die Software der beiden Schaltungen nicht identisch.

Die Bezeichnung "Sender" ist dabei natürlich nicht ganz richtig weil auch der Sender empfangen kann, genauso wie die Bezeichnung "Empfänger"der natürlich auch senden kann.
Ich bezeichne ihn aber dennoch als Sender weil es seine Hauptfunktion sein soll ein Signal zu senden sobald das Radarmodul eine Bewegung registriert hat.


Radar-Sender
Um eine korrekte Datenübertragung mit geringen Fehlverhalten zu gewährleisten wird der Takt am Atmega mit einen Quarz festgelegt
der sich auf 3,6864 MHz beläuft.
Es funktionieren natürlich auch andere Quarze, die sollten aber an eine Baudrate von 9600 angepasst sein.


Funktion Radar Sender
Als Betriebsanzeige gibt es eine blinkende Rote Leuchtdiode die ca. 10 Sekunden nach dem Einschalten erlöscht,
damit nicht für jedermann ersichtlich ist das der Radar Sender aktiv ist außerdem wird dadurch Strom gespart.

Sender
Radar Modul RCWL-0516
Das Radarmodul mit der Bezeichnung RCWL -0516 ist sehr günstig zu bekommen und benötigt ca 3-6 mA bei einer Betriebsspannung von 4 - 28Volt.
Der Ausgang des Radarmodul liegt auf Minus und geht bei Bewegungserkennung für eine festgelegte Zeit von ca. 2 bis 3 Sekunden auf Plus,
bei erneuter Betätigung wird nachgetriggert.
Wenn der Eingang CDS ( Freigabe) auf Minus gelegt wird ist das Radarsignal unterbunden, ein unbelegter Eingang gibt das Signal wieder frei.
Diese Funktion wird bei dieser Schaltung aber nicht genutzt.
Funk  Modul HC-12
Das Funk Modul trägt die Bezeichnung HC12 und arbeitet im Bereich von 434 MHz,
es gibt auch Module mit der Bezeichnung HC11 die Baugleich und Pin Kompatible sind allerdings nicht die gleichen Protokolle benutzen.
Laut Datenblatt soll es möglich sein, einige Parameter des Modul HC 12 anzupassen, was mir trotz Intensiver
Versuche aber nicht gelungen ist.
Auch beim testweise Aufbau mit den Modul HC 11 ließen sich die Parameter nicht ändern.
Das Modul HC12 kann ohne Probleme  mit dem Modul HC11 ausgetauscht werden, es müssen dann
allerdings beide, also am Sender und am Empfänger getauscht werden.

Programm / Radar-Sender

$regfile "m8def.dat"
Definiert den Atmega als Atmega8
$crystal = 3686400
Gibt die Quarzfrequenz an in Herz
$hwstack = 32   
Default use 32 Hardware reservierte Speicher
$swstack = 10  
Default Software resvierung Speicher
$baud = 9600 Geschwindigkeit der UART Schnittstelle setzen
Ddrd.5 = 1
Ausgang für Rote Betriebs Led setzen
Sreg.7 = 1 Interrupt Gloabal einschalten
Gicr = &B01000000  Interrupt 0 einschalten, Bit 6 setzt Interrupt 0- Bit 7 setzt Interrupt 1
Mcucr = &B00000011 Interrupt reagiert  bei steigender Flanke
On Int0 Senden Namen der Interrupt Routine die angesprungen wird wenn an Pind.2 ein Signal erfasst wird
Do Schleifen Anfang
for T=0 to 100
Schleifenanfang
waitms 300
Pause
portd.5=1
Rote Led einschalten
waitms 15
Pause
portd.5=0
Rote Led aus schalten
next T
Schleife nach 100 Durchläufe beenden
Loop Ende der Programmschleife
  Senden: Routine die beim ausgelösten Interrupt an Pind.2 angesprungen wird
Print "A" Das ASKII Zeiche "A" per Funk senden
Wait 2
Pause
Return
Rücksprung zum Punkt an dem das Programm wegen des Interrupt unterbrochen wurde


Empfänger
Als nächste Schaltung kommt der Empfänger, identisch aufgebaut wie der Sender mit einen Unterschied,
es wurde das Radarmodul weg gelassen dafür aber ein Piezo zur akustischen Alarmmeldung angebracht.


Funktion Empfänger
Der Empfänger hat nach dem einschalten eine blinkende Rote Leuchtdiode als Betriebsanzeige.
Wenn durch einen Sender ein Alarm auslöst wird blinkt die Blaue Led für einige Sekunden und eine kurzer Piep Ton ist zu hören.
Anschließend blinkt die Grüne Led als Anzeige für die Anzahl der eingegangenen Alarme.
Also dreimal blinken für drei entgangene Alarme usw.
Empfänger
Programm Empfänger
$regfile "m8def.dat"
Definiert den Atmega als Atmega8
$crystal = 3686400
Gibt die Quarzfrequenz an in Herz
$hwstack = 32   
Default use 32 Hardware reservierte Speicher
$swstack = 10  
Default Software resvierung Speicher
$baud = 9600 Geschwindigkeit der UART Schnittstelle setzen
Ddrd.5 = 1
Ausgang für Rote Betriebs Led setzen
Ddrd.7 = 1                   
Ausgang für Blau Sende-Led setzen
Ddrc.2 = 1 Ausgang für Grüne Melder setzen
Ddrc.5 = 1
Ausgang für Piezo Summer setzen
Sreg.7 = 1 Interrupt Gloabal einschalten
Portc.5=1
Voreinstellen das Piezo aus ist
Portc.2=1
Voreinstellen das Grüne Led aus ist
Dim K as Byte
Variable zum aufaddieren der eingehenden Meldungen
Dim M as Byte
Variable zum Anzeigen der eingehenden Alarma
Dim Blinken as byte
Variable aufblitzen der Blaue Led bei Eingang eines Alarm
Voreinstellungen
Portc.5=1
Piezo aus schalten
Waitms 200
Pause , damit Grüne Led kurz aufleuchtet als einschaltmeldung
Portc.2=1
Grüne Led aus schalten
Konfiguration zum Empfangen von Daten über die UART Schnittstelle ( RS 232)
SREG.7=1
Globale freigabe der Interrupts
On Urxc Datemempfang
Festlegen der Routine die angesprungen wird wenn Daten eintreffen
Enable Urxc
Interrupt für Datemempfang freigeben
Dim X as Byte
Variable in der die eintreffenen Daten kopiert wereden  Wenn Daten am RXD Eingang empfangen werden , werden sie im Register URXC
 'gespeichert dann wird in Routine Datenemfang gesprungen.
Do Schleifenanfang
For M = 1 to K

Portc.2=0
Grüne Led ein schalten
waitms 6
Pause
Portc.2=1
Grüne Led aus schalten
waitms 300
Pause
Next M

Portd.5=1
Rote Led an
Waitms 30 Pause
Portd.5=0
Rote Led aus
Waitms 10
Pause
Loop Rücksprung
 Datenempfang:

X=UDR
Empfangenes Byte in Variable X verschieben
if X="A" then Gosub Alarm
Abfrage ob ein A empfangen wurde
Return

Alarm:

K=K+1
Variable speichert die Anzahl der eingegangenen Alarme
Portc.5=0
Piezo einschalten
waitms 200
Pause
Portc.5=1
Piezo aus schalten
for Blinken=1 to 100

Portd.7=1

waitms 10

portd.7=0

waitms 100

Next Blinken

Return



Funktion PIR Sender
Anstatt ein Alarmgeber wie oben beschrieben mit Radar Modul, kann auch einen Alarmgeber mit einen PIR Modul verwendet werden.
Ein mit einem PIR erfasste Bewegung wird mit Hilfe des Funk-Senders zum Funk-Empfänger verschickt .
Dementsprechend ist auch die Software der beiden Schaltungen leicht abgeändert.


Pin1= GND
Pin2=OUT
Pin3=Plus


Der PIR Sensor arbeitet mit einer Betriebsspannung von 5 Volt.
Nach dem Einschalten der Betriebsspannung geht der Ausgang des Sensor ( mittlerer Pin) erst einmal für ca 10-15 Sekunden auf High.
Um anschließend dann auf Low zu schalten was der Standard bleibt so lange kein Objekt erfaßt wird.
Wird ein Objekt erfaßt geht der Ausgang für ca 8 Sekunden  auf HIGH um dann für wieder auf LOW zu schalten.

Funktion Licht Sender
Genau so ist es möglich den Alarm weder mit einen Radarmodul noch mit einen PIR Modul zu erfassen, sondern durch geänderte Lichtverhältnisse.
Ein Sender der einen Alarm auslöst wenn eine bestimmte Helligkeit überschritten wird.
Über einen LDR ( Lichtempfindlicher Widerstand) wird die Umgebungshelligkeit auf einen Analogeingang gegeben.
Der Analogeingang bestimmt daraus einen Wert zwischen 0 und 255.
Dieser Wert wird abgefragt und wenn die Schwelle oberhalb von 150 ist wird ein Alarm ausgelöst indem das Aski Zeichen "A"
dem Sendermodul zugefügt wird.
Nach jedem Alarm setzt eine Pause von ca 1 Minute ein, um nicht wenn dauerhaft ein Licht eingeschaltet wird, ständig einen erneuten Alarm au zu lösen.




Funktionbeschreibung für die , die es genauer Wissen wollen
Wenn das Radarmodul am Sender ein Signal erfasst bzw. eine Bewegung erkennt
wird direkt ein Signal über Funk dieses erfasste Signal in Form eines ASCII Zeichen
, im vorliegenden Fall das Zeichen "A" zum Empfänger schicken und dort nach dem Empfang ein Tonsignal ausgeben.
Es wird mit der Anweisung (Print "A";) das ASKII Zeichen "A" übertragen ( Dezimal 065).
Das Zeichen ; verhindert das die Zeichen "Carriage Return ( Wagen Rücklauf)" und das Zeichen "Line Feed ( Neue Zeile)"übertragen werden.

Technische Daten Empfänger
Stromaufnahme : Mikroprozessor 6mA
Gesamte Stromaufnahme im Standby 27 mA












Aktualisiert 13.08.2022
Copyright by Ms2009