derfagottist
09.04.2014, 14:55
Moin zusammen!
Ich habe folgendes Problem:
Wenn ich über meinen IR-Sender ein Rc5 Signal an meinen IR-Empfänger (Schaltpläne siehe Anhang) schicken, erkennt der Empfänger dieses Signal nur sehr selten und auch mit keiner Regelmäßigkeit. Das Bedeutet: der Empfänger zeigt mit verschiedenen LEDs an, ob er auf ein Rc5 Signal wartet, eins empfangen hat, das "richtige" Signal empfangen hat oder kein Signal empfangen hat. Mit dem Sender möchte ich später insgesamt mindestens 4 verschiedene Signale senden und mit dem Empfänger diese Signal eben auswerten/empfangen und etwas steuern.
Hier jetzt die Schaltpläne und Programme zum Sender/Empfänger:
IR-Sender:
27942
Config Portd.0 = Output 'Konfiguration der
Config Pinc.0 = Input 'Out- und
Config Pinc.1 = Input 'der Inputports
Config Pinc.2 = Input 'Dito
Config Pinc.3 = Input 'Dito
Portd.0 = 0 'PortD.0 Ausschalten
Portc.0 = 1 'Pullups Einschalten
Portc.1 = 1 'Dito
Portc.2 = 1 'Dito
Portc.3 = 1 'Dito
Dim Togbit1 As Byte 'Dimensioniern der
Dim Togbit2 As Byte 'Variablen
Dim Command As Byte 'Dito
Dim Address As Byte 'Dito
Dim I As Long 'dito
I = 0 'Setzen der Variblen
Command = 16 'Dito
Togbit1 = 0 'Dito
Togbit2 = 32 'Dito
Address = 17 'dito
Main: 'Hauptprogramm
Do
If Pinc.0 = 0 Then
Portd = 1
Waitms 50
For I = 1 To 10 'Sende den Code I-mal
Rc5send Togbit1 , Address , Command 'Senden des
Rc5send Togbit2 , Address , Command 'Rc5-Codes
Waitus 100
Next I
Portd = 0
Else
Portd = 0
End If
Loop
End
IR-Empfänger:
27941
Config Rc5 = Pinb.1 'Rc5 konfigurieren
Enable Interrupts 'Interrupts erlauben
Config Portd = Output 'Konfiguration der
Config Pinc.0 = Input 'Out- und
Config Pinc.1 = Input 'der Inputports
Config Pinc.2 = Input 'Dito
Config Pinc.3 = Input 'Dito
Config Pinc.4 = Input 'Dito
Config Pinc.5 = Input 'Dito
Portd = 0 'Ausschalten von
'PortD
Dim Address As Byte 'Variablen
Dim Command As Byte 'dimensionieren
Dim I As Long 'Dito
I = 0 'Variablen setzen
Address = 0 'Dito
Command = 0 'Dito
Main: 'Hauptprogramm
Do
Portd = 1
For I = 1 To 100
Getrc5(address , Command) 'Auf Rc5 Signal warten
Next I
If Address < 255 Then
Command = Command And &B10111111 'Lösche Toggle-Bit
Portd = 2
Waitms 100
If Address = 17 And Command = 16 Then
Portd = 4
Waitms 100
Else
Portd = 2
Waitms 100
End If
'Waitms 10
Else
Portd = 8
Waitms 100
End If
Loop
End
Vielen Dank schon jetzt für eure Hilfe!
LG
Jonas
Ich habe folgendes Problem:
Wenn ich über meinen IR-Sender ein Rc5 Signal an meinen IR-Empfänger (Schaltpläne siehe Anhang) schicken, erkennt der Empfänger dieses Signal nur sehr selten und auch mit keiner Regelmäßigkeit. Das Bedeutet: der Empfänger zeigt mit verschiedenen LEDs an, ob er auf ein Rc5 Signal wartet, eins empfangen hat, das "richtige" Signal empfangen hat oder kein Signal empfangen hat. Mit dem Sender möchte ich später insgesamt mindestens 4 verschiedene Signale senden und mit dem Empfänger diese Signal eben auswerten/empfangen und etwas steuern.
Hier jetzt die Schaltpläne und Programme zum Sender/Empfänger:
IR-Sender:
27942
Config Portd.0 = Output 'Konfiguration der
Config Pinc.0 = Input 'Out- und
Config Pinc.1 = Input 'der Inputports
Config Pinc.2 = Input 'Dito
Config Pinc.3 = Input 'Dito
Portd.0 = 0 'PortD.0 Ausschalten
Portc.0 = 1 'Pullups Einschalten
Portc.1 = 1 'Dito
Portc.2 = 1 'Dito
Portc.3 = 1 'Dito
Dim Togbit1 As Byte 'Dimensioniern der
Dim Togbit2 As Byte 'Variablen
Dim Command As Byte 'Dito
Dim Address As Byte 'Dito
Dim I As Long 'dito
I = 0 'Setzen der Variblen
Command = 16 'Dito
Togbit1 = 0 'Dito
Togbit2 = 32 'Dito
Address = 17 'dito
Main: 'Hauptprogramm
Do
If Pinc.0 = 0 Then
Portd = 1
Waitms 50
For I = 1 To 10 'Sende den Code I-mal
Rc5send Togbit1 , Address , Command 'Senden des
Rc5send Togbit2 , Address , Command 'Rc5-Codes
Waitus 100
Next I
Portd = 0
Else
Portd = 0
End If
Loop
End
IR-Empfänger:
27941
Config Rc5 = Pinb.1 'Rc5 konfigurieren
Enable Interrupts 'Interrupts erlauben
Config Portd = Output 'Konfiguration der
Config Pinc.0 = Input 'Out- und
Config Pinc.1 = Input 'der Inputports
Config Pinc.2 = Input 'Dito
Config Pinc.3 = Input 'Dito
Config Pinc.4 = Input 'Dito
Config Pinc.5 = Input 'Dito
Portd = 0 'Ausschalten von
'PortD
Dim Address As Byte 'Variablen
Dim Command As Byte 'dimensionieren
Dim I As Long 'Dito
I = 0 'Variablen setzen
Address = 0 'Dito
Command = 0 'Dito
Main: 'Hauptprogramm
Do
Portd = 1
For I = 1 To 100
Getrc5(address , Command) 'Auf Rc5 Signal warten
Next I
If Address < 255 Then
Command = Command And &B10111111 'Lösche Toggle-Bit
Portd = 2
Waitms 100
If Address = 17 And Command = 16 Then
Portd = 4
Waitms 100
Else
Portd = 2
Waitms 100
End If
'Waitms 10
Else
Portd = 8
Waitms 100
End If
Loop
End
Vielen Dank schon jetzt für eure Hilfe!
LG
Jonas