Typer
24.12.2011, 12:52
Hi,
ich habe ein Funk-Steckdosen-Set von ELV. Von diesem habe ich den Handsender demontiert und
das Sendemodul an einen Atmega 168 angeschlossen. Nun lassen sich mein Funksteckdosen von ELV
mit dieser Platine per Taste bzw per Timer schalten. (Geht alles einwandfrei)
Nun zu meiner Frage:
Ich möchte mit einem Empfänger + Atmega noch andere Dinge schalten als die fertigen Funksteckdosen.
leider habe ich keine Ahnung wie ich mein gesendetes Signal wieder in nützliche Daten umwandeln kann.
Hier mal ein Auszug meines selbst gebauten Senders:
'##### Funk-Settings #####
'-------------------------
Const Fdelay = 325 ' 325 oder 345 funktioniert (Sendepausen)
Dim Zähler1 As Byte
Dim Zähler2 As Byte
Dim Zähler3 As Byte
Dim Funkcode As String * 12
Dim One_str As String * 1
'Gruppen
Const Gruppe_a = "1fff"
Const Gruppe_b = "f1ff"
Const Gruppe_c = "ff1f"
Const Gruppe_d = "fff1"
'Steckdosen + Konstante (00)
Const Steckdose_1 = "1ff000"
Const Steckdose_2 = "F1f000"
Const Steckdose_3 = "Fff100"
Const Dose_ein = "10"
Const Dose_aus = "01"
'Funkpin B.5 an Sendemodul (Masse verbinden)
Config Portb.5 = Output
Funkpin Alias Portd.4
Funkcode = ""
...
For Zähler1 = 1 To 8
Funkcode = Gruppe_a + Steckdose_1 + Dose_ein
Gosub Sendecodes
Next Zähler1
...
'##### Sende Signal #####
'---------------------
Sendecodes:
For Zähler2 = 1 To 3
For Zähler3 = 1 To 12
One_str = Mid(funkcode , Zähler3 , 1)
Select Case One_str
Case "0"
Gosub Sende_null
Case "f"
Gosub Sende_float
Case "1"
Gosub Sende_eins
End Select
Next Zähler3
Gosub Sende_sync
Next Zähler2
Return
Sende_float:
Funkpin = 1
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
' die nächsten 4 Takte
Funkpin = 1
Waitus Fdelay
Funkpin = 1
Waitus Fdelay
Funkpin = 1
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
Return
Sende_null:
Funkpin = 1
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
' die nächsten 4 Takte
Funkpin = 1
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
Return
Sende_sync:
'laenge gesamt 32 Takte
Funkpin = 1
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Return
Sende_eins:
Funkpin = 1
Waitus Fdelay
Funkpin = 1
Waitus Fdelay
Funkpin = 1
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
' die nächsten 4 Takte
Funkpin = 1
Waitus Fdelay
Funkpin = 1
Waitus Fdelay
Funkpin = 1
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
Return
Mit diesem "Funkcode" schaltet sich nun Steckdose1 der Gruppe A ein
Ich versuche nun schon länger ein geeignetes Gegenstück mit Bascom zu programmieren, leider ohne Erfolg.
Wie würde denn in etwa der Code im Empfänger aussehen.
habe versucht mit einem Timer zeitabstände der Signale zu messen und so auszuwerten. Hab ich aber nicht hin bekommen.
Wäre sehr dankbar wenn mir jemand unter die Arme greifen könnte. (bitte in Bascom)
Vielen Dank und noch frohe Weihnachten und schöne Festtage.
ich habe ein Funk-Steckdosen-Set von ELV. Von diesem habe ich den Handsender demontiert und
das Sendemodul an einen Atmega 168 angeschlossen. Nun lassen sich mein Funksteckdosen von ELV
mit dieser Platine per Taste bzw per Timer schalten. (Geht alles einwandfrei)
Nun zu meiner Frage:
Ich möchte mit einem Empfänger + Atmega noch andere Dinge schalten als die fertigen Funksteckdosen.
leider habe ich keine Ahnung wie ich mein gesendetes Signal wieder in nützliche Daten umwandeln kann.
Hier mal ein Auszug meines selbst gebauten Senders:
'##### Funk-Settings #####
'-------------------------
Const Fdelay = 325 ' 325 oder 345 funktioniert (Sendepausen)
Dim Zähler1 As Byte
Dim Zähler2 As Byte
Dim Zähler3 As Byte
Dim Funkcode As String * 12
Dim One_str As String * 1
'Gruppen
Const Gruppe_a = "1fff"
Const Gruppe_b = "f1ff"
Const Gruppe_c = "ff1f"
Const Gruppe_d = "fff1"
'Steckdosen + Konstante (00)
Const Steckdose_1 = "1ff000"
Const Steckdose_2 = "F1f000"
Const Steckdose_3 = "Fff100"
Const Dose_ein = "10"
Const Dose_aus = "01"
'Funkpin B.5 an Sendemodul (Masse verbinden)
Config Portb.5 = Output
Funkpin Alias Portd.4
Funkcode = ""
...
For Zähler1 = 1 To 8
Funkcode = Gruppe_a + Steckdose_1 + Dose_ein
Gosub Sendecodes
Next Zähler1
...
'##### Sende Signal #####
'---------------------
Sendecodes:
For Zähler2 = 1 To 3
For Zähler3 = 1 To 12
One_str = Mid(funkcode , Zähler3 , 1)
Select Case One_str
Case "0"
Gosub Sende_null
Case "f"
Gosub Sende_float
Case "1"
Gosub Sende_eins
End Select
Next Zähler3
Gosub Sende_sync
Next Zähler2
Return
Sende_float:
Funkpin = 1
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
' die nächsten 4 Takte
Funkpin = 1
Waitus Fdelay
Funkpin = 1
Waitus Fdelay
Funkpin = 1
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
Return
Sende_null:
Funkpin = 1
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
' die nächsten 4 Takte
Funkpin = 1
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
Return
Sende_sync:
'laenge gesamt 32 Takte
Funkpin = 1
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Waitus Fdelay
Return
Sende_eins:
Funkpin = 1
Waitus Fdelay
Funkpin = 1
Waitus Fdelay
Funkpin = 1
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
' die nächsten 4 Takte
Funkpin = 1
Waitus Fdelay
Funkpin = 1
Waitus Fdelay
Funkpin = 1
Waitus Fdelay
Funkpin = 0
Waitus Fdelay
Return
Mit diesem "Funkcode" schaltet sich nun Steckdose1 der Gruppe A ein
Ich versuche nun schon länger ein geeignetes Gegenstück mit Bascom zu programmieren, leider ohne Erfolg.
Wie würde denn in etwa der Code im Empfänger aussehen.
habe versucht mit einem Timer zeitabstände der Signale zu messen und so auszuwerten. Hab ich aber nicht hin bekommen.
Wäre sehr dankbar wenn mir jemand unter die Arme greifen könnte. (bitte in Bascom)
Vielen Dank und noch frohe Weihnachten und schöne Festtage.