Zitat :
|
Wofür den Pull-Up-Widerstand?!?! |
Weil der PIC an den RA-Pins keine hat, und der TSOP seinen Ausgang auch nicht nach Plus treibt, sondern nur als Stromsenke funktioniert.
Zitat :
|
Was bewirken die Freilauf-Dioden? |
Sie verhindern dass beim Abschalten der Transistoren diese evtl. durch induktive Überspannungen beschädigt werden oder andere Störungen auftreten.
Zitat :
|
1. Habe noch nicht wirklich in Assembler programmiert |
Dann solltest du 1. damit anfangen und 2. nicht gleich so dicke Bretter bohren wollen.
Bring z.B. erst mal die Relais ohne weiteren Input im Sekundentakt oder so zum klappern, und wenn das gelungen ist, kannst du auch mal testen, ob es dir gelingt das Vorhandensein von Daten an RA4 abzufragen. Danach könntest du mal versuchen, ob du den Timer so programmieren kannst, dass er das macht, was du willst.
Das alles, um den Befehlssatz zu lernen und etwas Gefühl für die Programmiertechnik zu bekommen.
Dann kannst du dir mal in den von Microchip gelieferten Beispielprogrammen (Software-UART) ansehen, wie eine serielle Schnittstelle programmiert wird.
Ob dabei nun 7 oder 27 Bit eingesammelt werden, ist letztlich kein grosser Unterschied.
Das LIRC-Projekt, welches der Simulation diverser Fernbedienungen mittels PC dient, existiert ja wohl schon über 10 Jahre.
Da zur der Vielzahl der auf dem Markt befindlichen Fernbedienungen fast ebensoviele Protokolle gehören, hat man da einen Automaten geschaffen, den man mit einer Handvoll Parameter füttern muss, bevor er wunschgemäss funktioniert.
Das sind z.B. die Trägerfrequenzen (hier 38kHz) die die Soundkarte ggfs. herstellen muss, sowie weitere Details über Zahl, Lage und Bedeutung der übertragenen Bits.
Prinzipiell kannst du erwarten, dass solch ein Datentelegramm aus einem Vorspann besteht, damit der Empfänger sich mit dem Bitstrom synchronisierern kann, dann folgt eine bestimmte Bitkombination mittels derer dem Empfänger der Beginn der Daten mitgeteilt wird, dann folgen die Nutzdaten und am Schluss evtl. noch eine Prüfsumme.
Das funktioniert meist nicht viel anders als die Datenaufzeichnung auf einer Diskette.
Um zu ergründen, was genau die für deine Fernsteuerung angegebenen Parameter bewirken, musst du in die Dokumentation des LIRC-Projekts schauen.
Hier ein Einstieg:
http://de.wikipedia.org/wiki/LIRC
Da dieses Projekt schon so lange existiert, halte ich es für sehr gut möglich, dass jemand etwas ähnliches schon auf einem PIC programmiert hat, und du diesen Code nur noch etwas zu modifizieren brauchst.
[ Diese Nachricht wurde geändert von: perl am 14 Okt 2009 21:49 ]