Läs/emulera fjärrkontroller med Arduino och Raspberry Pi (3 / 12 steg)
Steg 3: Läsa IR koder med hjälp av Arduino
Nu låt oss komma till de intressanta saker. Anslut din IR-sensorn till Arduino som visas i bilden. Jag lödda några längre kablar till min IR-sensorn och täckt gemensamt med heat shrink. Kontrollera av pinut av sensorn från dess datablad. Koppla Arduino till datorn och öppna upp Arduino IDE.
Jag ändrade koden från denna handledning av ladyada att läsa en fjärrkontroll IR koder så att den använder avbrott. Ladda upp den till din Arduino. Filen .ino är kopplad till detta steg.
Som jag nämnde i föregående steg, är kod något annat än hur länge den modulerade signalen skickades och hur lång tid var det inte. Om din Arduino IDE: s seriella monitor får du en serie av OFF-ON varaktighet. Detta är raw-data skickas med fjärrkontrollen. Om vi hade en fjärrkontroll sänder exempel IR kod vi använde i föregående steg, skulle vi ha något liknande detta:
Redo att avkoda IR!!!
Emot:
OFF ON
1234 usec, 1500 usec
500 usec, 1500 usecint IRsignal [] = {
ON, OFF (i 10 mikrosekunder)
150, 50,
150, 0}
Det första blocket av koder är raw tidsvärden i mikrosekunder, andra är samma värden dividerat med 10 och presenteras i form av en C array, så vi kan direkt använda den i vår Arduino kod (vi kommer använda det när återskapades IR-signalen). Observera att rå värde kolumner är OFF-ON och formaterade värdena är ON-OFF. Det första rådata värdet (1234 usec) är meningslöst eftersom det är ett mått på tid fanns inga signal(OFF) innan vi började ta emot den första på signal (så visas inte i formaterade värden). De värden som formaterats som en matris, kommer sista värdet alltid vara 0 som sist av varaktighet kommer bara avslutar när du trycker på en fjärr-knappen igen.