E-Feld-Bewegungsmelder mit Tiny13 


 aus ELO 2008
Elektronik-Labor  Labortagebuch  Notizen  Mikrocontroller

Die Aufgabe: Eine Lampe soll bei Annäherung einer Person für 10 Sekunden eingeschaltet werden. Die Zeit verlängert sich entsprechend, wenn die Bewegung in der Nähe des Sensors anhält.

Hier wird die E-Feld-Messung mit einem Feldsensor am offenen AD-Eingang verwendet (siehe E-Feld-Plotter mit Tiny13). Das Programm misst laufend die Spannung an AD2 (Pin PB4) in einem Intervall von 41 ms. Da so die doppelte Periode der 50-Hz-Netzspannung gerade leicht verfehlt wird, erscheint ein Störsignal deutlich in der Messung. Seine Spitzenwerte werden in Mini und Maxi erfasst. In der eigentlichen Sensorschleife wird überwacht, ob ein Messwert um mehr als 20 außerhalb dieser Spitzenwerte liegt. In diesem Fall wird ein Timer auf 10 Sekunden gesetzt und die LED an PB3 eingeschaltet. Die Methode erlaubt eine Nachtriggerung. Wenn also innerhalb der laufenden Einschaltzeit erneut ein Grenzwert überschritten wird, wird der Timer auf 10 Sekunden zurückgesetzt. Bei Bedarf lässt sich die Zeit leicht auf einige Minuten verlängern.

'E-Feld-Bewegungsmelder
'Einschaltzeit 10 s

$regfile = "attiny13.dat"
$crystal = 1200000
$hwstack = 8
$swstack = 4
$framesize = 4


Dim D As Integer
Dim N As Byte
Dim Mini As Byte
Dim Maxi As Byte
Dim T As Integer

'Baud = 9600
Config Adc = Single , Prescaler = Auto
Start Adc
'Open "comb.1:9600,8,n,1,INVERTED" For Output As #1

Ddrb.3 = 1

'Einschwingen
For N = 1 To 50
D = Getadc(2)
D = D / 4
' Put #1 , D
Waitms 41
Next N

'Spitzenwerte 50 Hz
Mini = 255
Maxi = 0
For N = 1 To 50
D = Getadc(2)
D = D / 4
'Put #1 , D
Waitms 41
If D > Maxi Then Maxi = D
If D < Mini Then Mini = D
Next N
Maxi = Maxi + 20
Mini = Mini - 20


Do
Waitms 41
D = Getadc(2)
D = D / 4
'Put #1 , D
'Triggern 10 Sekunden AN
If D > Maxi Then T = 250
If D < Mini Then T = 250
'AN-Zeit läuft ab
T = T - 1
If T < 0 Then T = 0
If T > 0 Then Portb.3 = 1
If T = 0 Then Portb.3 = 0
Loop

End

 

Download: MelderTiny13

Video: https://youtu.be/wbKBuqGd89U

Gestestet mit dem Sparrow: App laden, Sparrow vom Soundkabel trennen, zur Initialisierung neu einschalten, bereit.


Sparrow APP

share.cheepit.net