Analysera IR protokoll med bara din Arduino ombord (3 / 5 steg)
Steg 3: Fall jag)
Vid AC fjärrkontroller, när vi trycker på knappen skickas hela data av knappen en gång även om vi har tryckt på knappen under ganska lång tid. Därför måste vi trycker på knappen en gång. Tryck på knappen för andra gången, buffert i koden kommer att vara överfull och arduino kommer att starta om.
Svaret vi får när vi trycker på knappen för panasonic AC remote är följande:(fig 1)
Så tas datan av 439 bitar emot när vi trycker på knappen en gång. Och Ja detta mycket mängd data som skickas i varje knapp. Nu är dessa data i form av tid, så vi måste omvandla den till binär form att analysera den. För det måste vi vara medvetna om som vilken typ av kodning som görs i detta. Varje IR-fjärr använder puls distans kodning dvs PDC för kodning av data. Oavsett om det är 1 eller 0 kan därför avgöras av varaktigheten av den låga tiden i signalen. Duartion av hög tid i signalen kommer att vara konstant runt 500 oss, så vi inte behöver tänka på hög tid när konvertera det till binärt format.
Om låg tid varar runt 300 till 400 US, än den biten är binära '0' och om låg tid varar omkring 1200 till 1300 USA, än den biten är binära '1'.
Du kan analysera de mottagna uppgifterna och erkänna startbit, sluta bit, binära '1' och binära '0' av nedan nämnda utbud. (Fig. 2)
Så den mottagna datan kommer att vara runt nämnda spänna och med hjälp av detta kan vi enkelt avkoda den mottagna datan. Kan avkoda data som mottas i bilden ovan. (Fig. 3)
Så detta är avkodad data från min Panasonic AC. än konvertera dessa data till 8-bitars HEX koden. Panasonic AC protokollet består av 8 byte konstant data och 19 byte med andra data som innehåller information av temperatur, fläkt hastighet etc. Totalt finns 27 byte data som överförs när vi trycker på knapp på fjärrkontrollen.
Du kan söka efter olika protokoll för avkodning binära 1 och binära '0'. Men om du inte får någon information, du kan gå för denna logik,
första biten kommer alltid att startbit. och sista biten blir alltid stoppbit. om låga längd är större än 1000 USA, än det är binära ' 1 'och om låg längd är mindre än 1000 USA, än det är binära ' 0'.
Jag vet inte att detta kommer att fungera för alla apparater eller inte men mestadels detta kommer att fungera.