Mando IR detectado como múltiples mandos

Hola buenas.

Antes de que alguien me crucifique por poner el mensaje en el lugar que no corresponde o algo así, decir que es mi primer post en éste foro, que llevo usando Arduino menos de 2 semanas (de forma autodidacta) y que mi desempeño profesional es la Educación Especial (por lo que estoy más perdido que el barco del arroz....). No me enrollo.

Tengo un receptor IR que funciona bien (es decir, lo he probado con distintos mandos y funciona bien) EXCEPTO con el mando que debería funcionar bien, que es el que quiero destinar a mi proyecto.

¿Qué pasa con ese mando? Pues que cada vez que pulso un botón, el receptor (o la librería, o "yokeseque") lo detecta de la forma que le da la gana, como si se tratase de múltiples mandos.

Voy a intentar documentar el problema.

En la siguiente imagen os voy a enseñar el receptor IR y dos mandos, el de la izquierda que funciona fetén y el de la derecha que me lleva por la calle de la amargura.

Estoy usando la libreria "Arduino-IRremote-master" y cuando abro el ejemplo que me permite ver los botones que pulso "IRrecvDump", el puerto COM me comunica lo siguiente...

  1. Si presiono la misma tecla del mando "bueno" siempre me sale la misma información:

FF42BD
Decoded NEC: FF42BD (32 bits)
Raw (68): -31274 8850 -4450 500 -600 500 -600 500 -600 500 -550 550 -550 550 -550 550 -550 550 -550 550 -1650 550 -1650 550 -1700 500 -1700 500 -1700 500 -1700 500 -1700 500 -1700 500 -600 500 -1700 500 -600 500 -600 500 -600 500 -600 500 -1700 500 -600 500 -1700 500 -600 500 -1700 500 -1700 500 -1700 500 -1700 500 -600 500 -1700 550

  1. Pero... si presiono el mismo botón del mando "malo" me aparece como si hubiese usado varios mandos distintos:

FF42BD
Decoded NEC: FF42BD (32 bits)
Raw (68): -21732 9150 -4400 550 -600 500 -600 500 -600 550 -600 500 -600 550 -550 550 -600 500 -600 550 -1650 550 -1700 500 -1700 500 -1700 550 -1650 550 -1700 500 -1700 500 -1700 550 -600 500 -1700 550 -550 550 -600 500 -600 550 -550 550 -1650 550 -600 500 -1700 550 -600 500 -1700 500 -1700 550 -1650 550 -1700 500 -600 500 -1700 550

FF
Decoded JVC: FF (16 bits)
Raw (68): -30736 9100 -4450 500 -600 550 -550 550 -600 500 -600 550 -600 500 -600 500 -600 550 -600 500 -1700 500 -1700 500 -1700 550 -1650 550 -1700 500 -1700 500 -1700 550 -1700 500 -600 550 -1700 500 -600 500 -600 500 -650 500 -600 500 -1700 500 -600 550 -1700 500 -600 550 -1650 550 -1700 500 -1700 500 -1700 500 -600 550 -1700 500

32C6FDF7
Unknown encoding: 32C6FDF7 (32 bits)
Raw (68): 3284 9100 -4450 500 -600 500 -600 500 -650 500 -600 500 -600 500 -650 500 -600 550 -550 500 -1700 550 -1700 500 -1700 500 -1700 550 -1700 500 -1700 500 -1700 550 -1700 500 -600 500 -1700 550 -550 550 -600 500 -600 550 -550 550 -1700 500 -600 550 -1700 500 -600 500 -1700 500 -1700 550 -1650 550 -1700 500 -600 550 -1700 500

¿Por qué creéis que pasa esto?

Muchas gracias de antemano y perdón por el tostón....

Hola, te he enviado un privado porque las imágenes no se pueden ver y creo que son últiles para entenderte.

Puedes subir un esquema o poner un enlace del circuito que usas y el programa que estas corriendo en tu arduino?

¿Se trata de un mando tipo universal?
Creo que me pasaba algo similar con uno chino tipo llavero, y me da que es que efectivamente envía códigos en varios formatos con cada pulsación.

noter:
¿Se trata de un mando tipo universal?
Creo que me pasaba algo similar con uno chino tipo llavero, y me da que es que efectivamente envía códigos en varios formatos con cada pulsación.

Sí, el mando es universal, y más chino que qué.... ¿Pudiste solucionarlo, o pasaste del tema?

Sencillamente acabé decodificando sólo el código RC5 que era el que me interesaba, pero sí me complicó un poco el tener tanto código extraño de por medio y, ya si quieres usar el autorepeat del mando como en mi caso, verás que es mucho más lento y torpe que un mando genuino. Ya para terminar de matarme, de repente dejó de funcionar y pasó a emitir de forma indescifrable. Tras darle un montón de vueltas, descubrí que si mantienes una de las teclas pulsada x segundos empezaba a rotar entre distintos grupos de codificación. Me costó un triunfo que volviera a emitir en cristiano, y el no poder mantener pulsada esa tecla (no recuerdo si era mute) limitaba mucho la manejabilidad.
Creo que es preferible usar un mando con una sola codificación y adaptar el arduino a ella. De hecho mi menú iba mucho más ágil con un viejo mando de vídeo.

noter:
Sencillamente acabé decodificando sólo el código RC5 que era el que me interesaba, pero sí me complicó un poco el tener tanto código extraño de por medio y, ya si quieres usar el autorepeat del mando como en mi caso, verás que es mucho más lento y torpe que un mando genuino. Ya para terminar de matarme, de repente dejó de funcionar y pasó a emitir de forma indescifrable. Tras darle un montón de vueltas, descubrí que si mantienes una de las teclas pulsada x segundos empezaba a rotar entre distintos grupos de codificación. Me costó un triunfo que volviera a emitir en cristiano, y el no poder mantener pulsada esa tecla (no recuerdo si era mute) limitaba mucho la manejabilidad.
Creo que es preferible usar un mando con una sola codificación y adaptar el arduino a ella. De hecho mi menú iba mucho más ágil con un viejo mando de vídeo.

RC5 (chino “pami”) jeje

Estoy probando con un mando que tengo por ahí específico pero tb hace lo que le da la gana de vez en cuando… Voy a ver si cambio de libreria y logro hacer algo.

Gracias de todas formas!

Estoy revisando mis propias impresiones y, a la vista de los datos raw que emite tu mando, creo que sencillamente ocurre que no es muy preciso, ya que los grupos de datos son bastante similares, y por ello no lo identifica siempre como NEC. Tal vez alguna librería específica para NEC te funcione bien, al forzar la traducción a esa codificación, en lugar de tratar de dirimirla entre varias, como hace irremote.