Infrarood codes en hoe ze om te zetten?

Tegen beter weten in ga ik toch al even deze thread starten.

Het gaat me hier om het zelf bouwen, dus ik heb geen nood aan shops waar je vervangtoestellen kan kopen.. Alvast bedankt aan de mensen die me daar tips in willen geven.

Ok, ik heb een afstandbediening van Denon die niet 100% meer werkt.
Ik heb de IR codes gevonden van Denon zelf.
In het bestand Denon Master HEX staan de codes die geldig zijn voor het toestel dat ik heb staan.

Ik heb een simpele IR receiver gemaakt op Arduino die de codes op het scherm toont als ik een knop van de afstandbediening druk.

Echter, de codes in het bestand van Denon en wat ik op mijn scherm zie verschijnen, komende van Arduino zijn twee verschillende formaten.

Het probleem is dat ik iets wil maken om 1 toets te vervangen die niet meer werkt. Ik kan de juiste code dus ook niet meer capturen.

Wat ik wilde doen is de code die ik in dat HEX bestand vond versturen maar dat gaat nogal moeilijk zijn als dat niet in het juiste formaat staat.

Ik geef een voorbeeld:

Toets "1" is volgens dat HEX bestand:

0000 006C 0000 0032 0080 0041 0010 0010 0010 0010 0010 0031 0010 0010 0010 0031 0010 0010 0010 0031 0010 0010 0010 0010 0010 0031 0010 0010 0010 0010 0010 0031 0010 0031 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0031 0010 0010 0010 0031 0010 0010 0010 0031 0010 0010 0010 0010 0010 0010 0010 0031 0010 0010 0010 0010 0010 0010 0010 0031 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0031 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0B2D

Als ik dat capture via Arduino krijg ik dit formaat:

Encoding : SANYO
Code : FFFFFFFF (0 bits)
Timing[99]:
+3300, -1650 + 450, - 400 + 400, - 450 + 400, -1200
+ 450, - 400 + 400, -1250 + 400, - 450 + 400, -1200
+ 450, - 400 + 450, - 400 + 400, -1200 + 450, - 450
+ 400, - 400 + 400, -1250 + 400, -1250 + 400, - 450
+ 400, - 400 + 450, - 400 + 400, - 400 + 450, - 400
+ 400, - 450 + 400, -1200 + 450, - 400 + 400, -1250
+ 400, - 450 + 400, -1200 + 450, - 400 + 450, - 400
+ 400, - 400 + 450, -1200 + 450, - 400 + 400, - 450
+ 400, - 400 + 450, -1200 + 450, - 400 + 400, - 400
+ 450, - 400 + 400, - 400 + 450, - 400 + 400, -1250
+ 400, - 450 + 400, - 400 + 400, - 450 + 400, - 400
+ 450, - 400 + 400, - 400 + 450, - 400 + 400, - 400
+ 450, - 400 + 400
unsigned int rawData[99] = {3300,1650, 450,400, 400,450, 400,1200, 450,400, 400,1250, 400,450, 400,1200, 450,400, 450,400, 400,1200, 450,450, 400,400, 400,1250, 400,1250, 400,450, 400,400, 450,400, 400,400, 450,400, 400,450, 400,1200, 450,400, 400,1250, 400,450, 400,1200, 450,400, 450,400, 400,400, 450,1200, 450,400, 400,450, 400,400, 450,1200, 450,400, 400,400, 450,400, 400,400, 450,400, 400,1250, 400,450, 400,400, 400,450, 400,400, 450,400, 400,400, 450,400, 400,400, 450,400, 400}; // SANYO FFFFFFFF
unsigned int data = 0xFFFFFFFF;

Ik moet gewoon de code die ik in dat HEX bestand vind kunnen verzenden via Arduino. Daarvoor zal ik die waarschijnlijk moeten converteren?

Ik begin er aan, ik weet niet waar ik moet beginnen met zoeken, er is veel te vinden over deze materie.
Indien er iemand mij op weg kan helpen met te zorgen dat dat lukt zou ik dankbaar zijn.

Het enige wat telt nu is dat ik dat apparaat kan bedienen met de codes die ik in dat Denon Master HEX bestand heb.

Wat meestal stuk gaat in afstandsbedieningen is de rubber mat waar de knopjes uit bestaan. Het rubber zelf is isolerend. Op de onderzijde van de knopjes zit een geleidende coating. De rubber mat ligt op een print waarop vaak cirkelvormige geleiders zijn aangebracht. De geleidende laag op het rubber wordt op de print gedrukt en maakt contact.

Als je de afstandsbediening open maakt en het rubber weghaald zie je patroon van de knopjes op de print. Door nu op de plek van het knopje met een metalen voorwerp contact te maken zul je code van dat knopje uit te zenden. De ontbrekenden code en die van alle andere knopjes kun je nu opnemen met je arduino (of een kant en klare kloon ab)

Er bestaat geloof ik ook een speciale verf of coating om de geleidende op de rubber knopjes te herstellen. Maar waar je dat kunt kopen weet ik ook niet.

Arco

Special Member

Het gaat niet over het repareren, maar het maken van een nieuwe AB... :)
Die codes zijn voor de Philips Pronto zo te zien; daar zal een arduino niks mee kunnen.
Je kunt toch een scoop aan de ontvanger hangen en zien wat er binnenkomt? (de kapotte '1' zul je nog wel een keer kunnen zenden door 'm kort te sluiten?)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Ik heb geen spijt dat sommige mensen verloren zijn gegaan met de tijd, maar de tijd verloren is gegaan met sommige mensen
Arco

Special Member

Er is maar weinig echte info over het Denon protocol (adressen en commands) te vinden. Alleen een beschrijving:

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Misschien heb je er iets aan, hier staat een library voor irDenon
Daar staat weer een link in voor de Denon IR codes

mel

Golden Member

Is dat niet gewoon ASCII? toets "1" is bijvoorbeeld 31,(die zie ik voorbij komen)

u=ir betekent niet :U bent ingenieur..
Arco

Special Member

Nee,

Dan zou er teveel afvallen (commando's 0x00 tot 0x2F zou je dan bijvoorbeeld niet kunnen gebruiken)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
maartenbakker

Golden Member

Wie wil er nou geen BELL op z'n afstandsbediening? ;)

www.elba-elektro.nl | "The mind is a funny thing. Sometimes it needs a good whack on the side of the head to jar things loose."

Welke IR receiver heb je gebruikt? Je moet zeker zijn dat de frequentie klopt anders is de kans groot dat je vreemde dingen binnen krijgt.

Ik heb geprobeerd het signaal van een Telenet Digicorder in te lezen met een arduino en toen bleek de reciever niet snel genoeg te zijn. Soms bleef de output gewoon hoog staan ipv alle pulsen naar de arduino te sturen.

Ik heb toen een IR photodiode op de ingang van een arduino gezet die dienst deed als logic analyzer (SUMP protocol) en dan met de OLS client software in windows uitgelezen. Na wat spelen met de settings kreeg ik nette pulsen binnen. De pulsen bleken hier manchester gecodeerd te zijn en na alles naar een hex waarde om te zetten, software geschreven voor mijn pro mini.

Op 13 februari 2018 10:03:54 schreef Kapee:
Misschien heb je er iets aan, hier staat een library voor irDenon
Daar staat weer een link in voor de Denon IR codes

Dat ga ik nu eens goed lezen en proberen!
Thanks

Arco

Special Member

Dat zijn ook codes voor de Pronto, en de cijfertoetsen staan er niet bij...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Ik heb hier nog een Denon RC-942 afstandsbediening liggen van een surround versterker en heb hiervan eens de IR pulsen van de nummers bekeken.
Bij de "0" gebeurde er niet veel maar met wat geluk kan je er iets mee doen.

Zoals in de bijlage van Arco krijg je 16 bits met de laatste als stop bit.

Mooie reacties, dank daarvoor.

Ik vind dit heel moeilijke materie door gebrek aan standaardisatie.

Toch blijf ik zoeken...

In de bijlage van Arco staat het protocol, Kapee geeft aan waar Denon codes te vinden zijn. Wat is dan het probleem?

Damn the torpedoes, full speed ahead!
Arco

Special Member

De lijst met Pronto hex codes is wel te gebruiken/om te zetten, maar die hexcodes is niet echt om vrolijk van te worden.
(hier staat hoe ze in mekaar steken: http://www.hifi-remote.com/infrared/IR-PWM.shtml )

Er is wel een lijst met de originele commandonummers van de toetsen: http://irdb.tk/find/

Volgens de hexcode in de startpost zou het geen 32kHz, maar een 38kHz protocol zijn: 1000000 / (108/0.241246) = 38088Hz
(108 = 0x6C, het aantal tijdbasiseenheden van de pronto wat een carrierpuls duurt)

[Bericht gewijzigd door Arco op zondag 18 februari 2018 13:36:07 (25%)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com