Empfänger2
Da nur ein Haupt-Lichtschalter momentan zwei Stromkreise schaltet, ist es notwending, diesen zweiten Kreis separat zu schalten. Realisiert wird dies durch einen RC5-Code der FB, der empfangen von einer kleinen Elektronik die Lampe an- und ausschaltet.
Als Schaltung wurde die nachstehende verwendet. Dabei wird prinzipiell über ein Kondensatornetzteil ein kleine ATiny 25/45/85 versorgt, der über einen Triac die Lampe schaltet.
Auf dem Tiny selbst läuft nur ein kleines Programm, das lediglich den RC5 Code auswertet und den Pin toggelt, an dem die Triacstufe angebracht ist. Damit nach dem Ausschalten des Hauptschalters der "ist" Zustand erhalten bleibt, wird der letzte Zustand im EEPROM gespeichert.
' ------------------------------------------------------------------------------
'
' Leuchtenansteuerung Single Receiver
'
' - nur Kondensatornetzteil
' - ein Kanal
'
' Tiny25/45/85
' Pin 5 (PB.0) Switch
' Pin 2 (PB.3) RC5 Empfänger
'
'
$Regfile="attiny85.dat"
$Crystal=8000000
$hwstack=40
$swstack=16
$framesize=32
' ----------------------- Konstanten -------------------------------------------
const Versionsinfo="Leuchte single Receiver V1"
' Tastenzuordnung
const Lampe3=3
' ----------------------- Variablen --------------------------------------------
Dim RC5_Address As Byte , RC5_Command As Byte
Dim Lampenstatus as eram byte
dim Flag as byte
' Flag.0 = Lampenstatus
' ----------------------- Ports ------------------------------------------------
config PORTB.0 = output:Sw alias portb.0:set sw 'Schalterausgang
Config Rc5 = Pinb.3 ' für RC5 Empfänger
' ----------------------- Hauptprogramm ----------------------------------------
Enable Interrupts
' lese letzen Lampenstatus
Flag = Lampenstatus
sw = Flag.0
do
Getrc5(RC5_address , RC5_Command) 'lese FB
If RC5_Address <255 Then
RC5_Command = RC5_Command And &B01111111 ' clear Toggle Bit
if rc5_command=lampe3 then
toggle sw
Flag.0 = sw
Lampenstatus=Flag
waitms 500
end if
end if
loop
end
Referenzen
Einen ausführliche Beschreibung zum Kondensatornetzteil findet sich hier