Forum: Mikrocontroller und Digitale Elektronik IR-Fernbedienung mit Atmelcontroller


von Biervernichter (Gast)


Lesenswert?

Hallo alle zusammen :)

Ich muss für ein Schulprojekt ein Kettenfahrzeug mit zwei getrennten 
Ketten ein Programm schreiben, welches entweder bei:

-einem Tastendruck auf der Platine
-einem Signal von zwei IR Sensoren bei einem Gegenstand unmittelbar vor 
dem Fahrzeug

oder

- Einem Signal einer IR-Fernbedienung

die Richtung wechselt.

Auf der Platine ist ein ATMEL C5131 verbaut, das File hab ich in C 
geschrieben.

Tastendruck und IR-Sensor stehen und funktionieren bestens, nur bei der 
Fernbedienung bin ich auf Probleme gestoßen.

Google hat zwar ein paar Signale erklärt, aber wie man die Tasten 
ausliest, die gerade gedrückt wird.

Als Fernbedienung wird eine Avisio URC20 verwendet, Anleitung hier:

http://www.pearl.de/pdocs/SD3000_11_54315.doc

Hat jemand Tipps, wie ich das realisieren kann? Ich steh da irgendwie 
auf dem Schlauch :(

Viele Grüße
Biervernichter

von mex (Gast)


Lesenswert?

je nach Tastendruck sendet die IR Diode eben verschiedene Signale, ein 
gängiges Protokoll ist das RC5 ( danach kannst du googlen).

Meistens sendet es dann eben verschiedene an und aussignale , die dein 
Empfänger wieder in einzelne Bits zerlegt und die muss dein µC wiederum 
richtig empfangen und dann musst du in deinem Code je nach empfang die 
richtigen Ketten, LEds, was auch immer du willst... ansteuern

Also wichtigsten Punkte sind:

Protokoll deiner Fernbedienung herausfinden, dementsprechend Code auf 
den µC implementieren ( was nciht ganz trivial ist, wenn man sich damit 
garnicht auskennt) und wenn das gemacht ist, kannst du per Fernbedienung 
dein Kettenfahrzeug  steuern.

Grüße.

von schoensittich (Gast)


Lesenswert?

http://www.lirc.org/


Angucken, verstehen und auf das notwendige auf den Atmega portieren

von Karl H. (kbuchegg)


Lesenswert?

Biervernichter schrieb:

>
> Google hat zwar ein paar Signale erklärt, aber wie man die Tasten
> ausliest, die gerade gedrückt wird.

Gar nicht.
Du liest nicht die Tasten aus, sondern die FB versendet 'Nachrichten' 
wenn der Benutzer auf den Tasten rumtatscht. Drückt er eine Taste dann 
versendet die FB eine Nachricht. Ob es auch eine Nachricht beim 
Loslassen gibt, hängt von der FB ab, bzw vom verwendeten Code. Bei RC5 
gibt es zb keine Nachricht dafür. Schläft der Benutzer auf der Taste 
ein, dann versendet die FB dieselbe Nachricht einfach immer wieder (mit 
einer Markierung, dass es sich jetzt um eine Wiederholung handelt. 
Deshalb kannst du beim Fernseher auf der 'lauter' Taste drauf bleiben 
und der Fernseher stellt die Lautstärke in Schritten höher - die FB 
schickt ihm lauter Einzelkommandos 'Lautstärke 1 Stufe höher stellen').

Dein Programm muss diese Nachrichten empfangen und mitprotokollieren um 
zu wissen, was der Benutzer gerade macht bzw. gemacht hat.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Biervernichter schrieb:

> oder
>
> - Einem Signal einer IR-Fernbedienung
>
> die Richtung wechselt.

Muss mal nachfragen:

... bei IRGENDEINEM Signal der IR-Fernbedienung (FB) die Richtung 
wechselt?

Wenn ja, ist es simpel: Du musst das Signal der FB nämlich dann 
überhaupt nicht decodieren, Du musst nur schauen, ob da überhaupt was 
von der FB gesendet wird.

Dazu schaust Du einfach, ob Du innhalb von 10msec mehr als 3 
Pegelwechsel am IR-Sensor hattest - fertig!

Wenn Dein Programm aber alle Tasten der FB "verstehen" und unterscheiden 
soll, kommst Du um IRMP als IR-Decoder nicht herum.

Viele Grüße,

Frank

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.