aktualisiert 12.08.2009
Mit Atmega 8 L ein Handy ansteuern - 2. Erweiterung
Hier wird die vorangegangene Schaltung um einen PIR Bewegungsmelder als Alarmauslöser erweitert.
Die Schwierigkeit bestand darin einen Sensor zu benutzen der mit der von mir verwendeten geringen Spannung von ca 2,4 Volt auskam.
Habe dann durch einige Experimente einen Sensor gefunden der laut Datenblatt zwar eine Spannung von 10 Volt beansprucht,
aber bei einigen Test's auch mit einer Spannung von 2,4 Volt funktionierte , weiß aber nicht ob bei dieser geringen Spannung auch die Reichweite und die Zuverlässigkeit noch im Rahmen liegen.

Zu beziehen ist der PIR Sensor bei Conrad Electronic unter folgender Artikel-Nr.: 190952 - 62.
Es ist ein kleiner kompakter Sensor der schon einen Verstärker enthält und so direkt an meiner Schaltung angeschlossen werden kann.

PIR- Sensor


Schaltplan hier als PDF Plan vergrößern hier
Also das Display und der Trimmer P1 sind nur Optional und kann komplett weggelassen werden es ist in meiner Schaltung nur bei der Entwicklung der Software zum Einsatz gekommen.
Unten noch einmal der Plan ohne Display.
Schaltplan Hier laden
Hier das dazugehörige Programm in Bascom

' 11.07.2009 by Ms
' Testplatine mit Atmega 8 L und Optionales Display um ein Siemens Handy S45
' direkt anzusteuern ohne Pegelwandler.
' Led Gelb an Pind. 2 für Betriebskontrolle
' Led Rot an Pind.1 ( TXD) Sendeanzeige des UART
' Led Grün an Pind.0 (RXD) Empfangsanzeige des UART
' Led Blau an PortB.0 Anzeige für Telefon Klingeln
' PIR-Sensor an PinD.7 Anzeige für Bewegung im Raum.
' Grüne Led für PiR Sensor an Portb.6
'
' Display an folgenden Ports
' Enable = Port B.5
' RS = Port C.5
' DB7 = Port B.1
' DB6 = Port B.2
' DB5 = Port B.3
' DB4 = Port B.4
'
' F u n k t i o n
' Controller ruft Handy an wenn entweder Kontakt Grün geöffnet oder
' Kontakt Rot geschlossen wird oder wenn PIR Sensor eine Bewegung erfasst.
' Nach bestimmter Zeit wird wieder aufgelegt
' dann wird gewisse Zeit gewartet bis Anlage wieder scharf ist
'
'------------------------------------------------------------------------------
$regfile "m8def.dat" 'Definiert den Atmega als Atmega 8
$baud = 19200
$crystal = 1000000
Ddrd = &B00000100 ' Port D.2 als Ausgang setzen alle a. als Eingang
Ddrb = &B01000001 ' Port B.0 und B.6 Als Ausgang setzen
Portd = &B00011000 ' Pull Up setzen für pin D3 und D4

Config Lcd = 16 * 2 'definiert das LCD Display in Art und Größe
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.3 , Db6 = Portb.2 , Db7 = Portb.1 , Rs = Portc.5 , E = Portb.5
Dim Inaktiv As Byte '
Dim Anrufzeit As Byte
'-----------Variable um Anrufe zu empfangen__________________________________
Dim Empfang As String * 1

'____________________Hier E i n s t e l l en _______________________________
Inaktiv = 60 ' Zeitvorgabe die zwischen ersten und nächsten Alarm
' mindestens vergehen muss in Sekunden um die
' Anlage wieder zu aktivieren
'______________________________________________________________________________
Anrufzeit = 19 ' Zeitvorgabe nach wie viele Sekunden soll nach
' Alarmauslösung
' wieder aufgelegt werden
'__________________________________________________________________________
Cls ' Display löschen falls vorhanden
Portd.2 = 0
Do
If Pind.7 = 1 Then Waitms 20 ' PIR Eingang abfragen
If Pind.7 = 1 Then Gosub Alarm
Portd.2 = 1 'Led Gelb Als Betriebsanzeige Ein ' Schleifenanfang
If Pind.3 = 1 Then Waitms 20 'Tastenprellen verhindern
If Pind.3 = 1 Then Gosub Alarm ' Wenn Öffner geöffnet wird dann gib Alarm
If Pind.4 = 0 Then Waitms 20 'Tastenprellen verhindern
If Pind.4 = 0 Then Gosub Alarm ' Wenn Schließer zu ist dann gib Alarm
Waitms 300 ' Pause von 500 Millisekunden
Portd.2 = 0 ' Led Gelb als Betriebsanzeige Aus
Waitms 300

'________________________________________________________________________________
'
' Empängt Serielle Schnittstelle igend was anderes als Askii Zeichen Null dann
' schaltet Blaue Led ein sonst lass Blaue Led aus
Empfang = Inkey()
If Empfang <> Chr(0) Then
Portb.0 = 1
Else
Portb.0 = 0

End If

Loop
End
'_____________________ Alarm Geben _____________________________________________
Alarm:

Toggle Portb.6
Waitms 500

Lcd "ATDP+49157*******;" ' Telefon Nr auf Display anzeigen
Print "ATDP+49157*******;" ' Nummer wählen
Wait Anrufzeit ' Pause von n Sekunden
Print "AT+CHUP" ' Hörer auflegen
Wait Inaktiv
Return

 

Bascom Programm hier laden
Aktualisiert 30.05.2019