PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie realisiere ich IR-Verbindung?



Jacob2
15.12.2008, 18:26
Hi,
ich habe vor zwischen zwei AVR's (ATmega8) eine Übertragung mit IR zu realisieren. Nur in eine Richtung. Ich habe einen IR-Empfanger für 36kHz. Wie realisiere ich das? Wie lasse ich die IR-LED mit 36kHz blinken?
Es müssten nur 26 Werte (Alphabet) übertragen werden.

Hubert.G
15.12.2008, 19:31
Der Sende-Mega8 kann doch die 36kHz mitmachen, diese werden dann im Takt der Übertragung ein und ausgeschalten. Dazu verwendest du am besten den UART.

thewulf00
16.12.2008, 08:59
Lies Dir mal das Datenblatt Deines Empfängers durch, da stehen noch andere wichtige Infos. Wenn Du z.B. einen TSOP verwendest, kann es gut sein, dass Du eine bestimmte Menge an Takten senden musst, damit er eine '1' liest. Bei unserem Versuch mit dem TSOP1736 waren es 10-20 Takte und damit waren wir auf einer Datenrate von max. 1800-3600 Baud, was uns zu wenig war.

oberallgeier
16.12.2008, 09:12
Lies Dir mal das Datenblatt ... TSOP1736 waren es 10-20 Takte ...So weit ich das TSOP-Datenblatt in Erinnerung habe, muss man beim TSOP auch gelegentlich den Sender ausschalten. Beim Osram SFH5110 steht im neuesten Datenblatt, dass er ein Signal nach 4 Pulsen (früher 6 Pulse) mit rund 50% Dutycycle erkennt. Bei der gewünschen Sendefrequenz von 36 kHz (die schnelleren Typen finde ich nicht bei meinen Lieferanten) komme ich auch nur auf eine Bruttorate von 6 - 9 kHz - also ebenfalls recht niedrige Baudraten.

Jacob2
17.12.2008, 13:09
Vielen Dank für die Antworten!
Ich hab den TSOP 1736. Aber wie mache ich das programmiertechnisch, wenn ich z.B. eine Zahl übertragen will über einen Pin? Gibts da Funktionen oder muss man jede Binärstelle "von Hand" an den Pin schicken? Könnte mir das jemand vielleicht anhand eines Beispiels zeigen, wäre sehr nett!
Und wie lasse ich den Atmega die 36kHz "mitmachen"? Gibts dafür auch Funktionen? (mit Frequenzen in Verbindung mit µC's hab ich bis jetzt noch keine Erfahrungen gemacht!)
Die IR-LED schließe ich so an:



VCC
+
|
.-.
| |
| |
'-'
|
|
V ->
-
|
|
|/
ATmega8 ---------|
|>
|
|
===
GND

uwegw
17.12.2008, 14:08
Schau dir mal an, wie das beim Asuro gelöst wurde. Da könntest du Hardware und Software eigentlich fast 1:1 übernehmen...
Der 36kHz-Takt wird da über einen Timer-Output erzeugt, die Datencodierung über das UART mit 1200 Baud.