Arduino – Olcsó IR távirányító kezelése



(Letölthető innen:)

Ezek a távirányítók nagyon olcsón megvásárolhatóak pl. Ebay-ről.

Amit tudni kell róluk, hogy 38kHz-es jelet adnak ki


A gombok elhelyezkedése ugyan különböző, de az adott helyen ugyanazt a jelet adják ki.

A bal oldali távirányítón hiányzó gombok alatt is megvannak az érintkezők, csupán a felső fóliák nem azonosak.

Szétszerelve látszik, hogy belül egyformák.



Az alábbi táblázatban látható a kiadott jelsorozat (8 számjegyű).

A kétjegyű számok értelmezése: Sor, oszlop.

Pl. a bal felső nyomógomb 11, a Jobb felső 13, a jobb alsó 73.


17 gombos: 21 gombos: Parancs: Hozzárendelt parancs:


11 CH- 16753245 11

12 16736925 12 CH 16736925 12

13 CH+ 16756815 13

21 16720605 21 |◄◄ 16720605 21

22 OK 16712445 22 ►►| 16712445 22

23 16761405 23 ►|| 16761405 23

31 - 16769565 31

32 16754775 32 + 16754775 32

33 EQ 16748655 33

41 1 16738455 41 0 16738455 0

42 2 16750695 42 100+ 16750695 100

43 3 16856815 43 200+ 16756815 200

51 4 16724175 51 1 16724175 1

52 5 16718055 52 2 16718055 2

53 6 16743045 53 3 16743045 3

61 7 16716015 61 4 16716015 4

62 8 16726215 62 5 16726215 5

63 9 16734885 63 6 16734885 6

71 * 16728765 71 7 16728765 7

72 0 16730805 72 8 16730805 8

73 # 16732845 73 9 16732845 9


#include <IRremote.h>

int RECV_PIN = 2; //Távirányító bemenet

IRrecv irrecv(RECV_PIN);

decode_results results;


unsigned long tavparancs = 0; // Távirányító parancs

byte tavgomb = 255; // Távirányító megnyomott gomb


void taviranyito() //38kHz NEC kódolási formátum, upd6122 kódolás

{

if (irrecv.decode(&results)) { // Távirányító jel feldolgozása

if (results.value != 0xFFFFFFFF) { // Ismétlődés jel. Ezt most nem használjuk

tavparancs = results.value;

if (tavparancs == 16738455) tavgomb = 0; //0 ______________

if (tavparancs == 16724175) tavgomb = 1; //1 | |

if (tavparancs == 16718055) tavgomb = 2; //2 | 11 12 13 |

if (tavparancs == 16743045) tavgomb = 3; //3 | 21 22 23 |

if (tavparancs == 16716015) tavgomb = 4; //4 | 31 32 33 |

if (tavparancs == 16726215) tavgomb = 5; //5 | 0 100 200 |

if (tavparancs == 16734885) tavgomb = 6; //6 | 1 2 3 |

if (tavparancs == 16728765) tavgomb = 7; //7 | 4 5 6 |

if (tavparancs == 16730805) tavgomb = 8; //8 | 7 8 9 |

if (tavparancs == 16732845) tavgomb = 9; //9 |____________|

if (tavparancs == 16750695) tavgomb = 100; //100+

if (tavparancs == 16756815) tavgomb = 200; //200+

if (tavparancs == 16753245) tavgomb = 11; //CH-

if (tavparancs == 16736925) tavgomb = 12; //CH

if (tavparancs == 16769565) tavgomb = 13; //CH+

if (tavparancs == 16720605) tavgomb = 21; //I<<I

if (tavparancs == 16712445) tavgomb = 22; //I>>I

if (tavparancs == 16761405) tavgomb = 23; //I>II

if (tavparancs == 16769055) tavgomb = 31; //-

if (tavparancs == 16754775) tavgomb = 32; //+

if (tavparancs == 16748655) tavgomb = 33; //EQ

Serial.print(tavparancs, DEC);

Serial.print(' ');

Serial.println(tavgomb, DEC);

}

irrecv.resume(); // Receive the next value

}

} // Távirányító vége



<< Vissza <<