Sida 1 av 1

AVR och IR

Postat: 18 april 2006, 09:46:31
av Johansson
Skulle behöva lite tips för att komma igång.
Jag tänkte använda en fjärrkontroll för att styra min Atmega8. Jag har en IR-mottagre som jag har kopplat på en pinne. Nu kan jag få nånting att hända när det kommer en ljussignal. det fungerar fint. Men jag skulle vilja att olika saker sker beroende på vilken knapp som trycks in.
Jag förstår att det kommer en serie av ettor och nollor, men hur får jag processorn att känna igen de olika kombinationerna?
Jag skriver i C, men har inte hållt på med språket särskilt länge. Har aldrig provat på seriell kommunikation tidigare.

Postat: 18 april 2006, 09:59:17
av thepirateboy
Ett tips kan vara att läsa på lite hur IR fungerar http://www.xs4all.nl/~sbp/knowledge/ir/ir.htm

Det finns även några exempel för PIC på denna sida.

Postat: 18 april 2006, 10:04:10
av Rohan
Du får nog börja med att ta reda på vad din fjärrkontroll använder för protokoll. Är det sonys RC5 eller något annat?

EDIT: Det följande stycket är fruktansvärt korkat och dumt. Läs Application Notes istället.
Om du inte vet protokollet eller bara vill ta reda på det så skriv ett litet program som har en 'klocka', typ använd timer0 och räkna tid med den. Sen kan du spara (kanske skicka med usart till en PC med terminal) tiderna för alla stigande och fallande flanker kanske? På så vis kan du kanske lista ut vad det är för pulståg vid olika knapptryckningar. Med stor sannolikhet är detta en besvärlig och inte särskilt bra metod.

Ett annat tips vore ju att besöka http://www.avrfreaks.net och se till att bli medlem.

Sen finns det förmodligen mycket mer vettig information i Application Note AVR410 och AVR415 här.

EDIT: Är det typ en sån här du har? Det blir jobbigt om du bara har en vanlig fotodiod.

Postat: 18 april 2006, 12:28:21
av $tiff
Vad har du för fjärrkontroll?

I natt skrav jag ett program som avkodar JVC-liknande protokoll (Denon's variant) "i bakgrunden", d.v.s. helt interruptstyrt. Det kan jag dela med mig av om du vet att det är detta protokoll.
Annars är RC5 det vanligaste, även om inga av mina fjärrkontroller använder det :P

Har du tillgång till ett minnesoscilloskop och länken som thepirateboy skrev så är halva ditt problem löst (då kan du lista ut vilket protokoll det liknar mest)!

Postat: 18 april 2006, 16:36:06
av Greve Hamilton
Här kommer jag och stör...

$tiff: Vad är det programmet skrivet i för språk? Du får gärna dela med dig, speciellt om det är skrivet i C. :wink:

Och förresten, är det någon som har koll på hur Grundigs protokoll ser ut? Har sökt som en tok på google, och har tyvärr inte tillgång till oscilloskop.

Postat: 18 april 2006, 19:03:02
av $tiff
C till AVR så klart :wink:

Jobbar fortfarande på det stundvis. Den har inga problem med att dra ut rådatan, men den kommer ju den lite tråkigare delen med att matcha detta mot knapptryckningarna!
Använder timer0 och INT0 på en Mega32, men det lär funka på alla Mega och de flesta Tiny också med lite pill i registerna.