Go Down

Topic: Trasmisión de señal IR con micro desconocido  (Read 168 times) previous topic - next topic

jpsabatini

Estimados, me estoy iniciando en Arduino y quiero controla un TV como primeras pruebas.
Eh investigado y probado la recepción de la señal y me a dado resultado.
El problema viene cuando intento replicar esta señal ya que cuando levanto el dato que emite el control remoto no logo detectar el micro controlador del mismo.
Por lo que estuve navegando cuando utilizas la librería IRremote. En la sentencia tengo que describir que micro tiene mi control para enviar dicha señal. Ejemplo SendNEC, en mi caso no se que micro tiene ya que cuando levanto la señal me detecta el codigo HEX pero el micro me sale UNKNOWN, ¿me podrían orientar como puedo resolver esto?
Desde ya muchas gracias por su tiempo
Saludos
Juan

surbyte

Si te sale UNKNOWN es porque no se ajusta a los protocolos conocidos y desde ya no es NEC

jpsabatini

surbyte,  entiendo que no se ajusta al protocolo, lo que no sé es como escribir este nuevo protocolo o si hay distintas librerías en la cual pueda probar la recepción de este control.

Por otro lado me paso que en teoría la liberia esta pensada para Ardunio Uno y yo tengo el Mega, por lo que lei esta librería utiliza el pin de salida 3 y mi mi intención es usar otro pin.
Vos me podrás indicar si la modificación la debo hacer en la librería o la puedo hacer por fuera de la misma.
Desde ya muchas gracias

surbyte

#3
Aug 10, 2017, 12:51 pm Last Edit: Aug 10, 2017, 12:57 pm by surbyte
No hay nada escrito para UNO salvo cuando la librería refiere a cuestiones de hardware exclusivias pero éste no es el caso.
El MEGA corre códigos IRremote al igual que un UNO/NANO DUE o Yun. No cambia nada.
Aclarado eso, el problema de no seguir un código NEC, SONY, etc no debe afectarte.
Puedes almacenar el RAW que corresponda a cada código y trabajar con ello de igual modo.
Hay cientos de códigos IR y solo unos pocos son reconocidos por la librería. Eso no debe limitarte.

Basta conque la frecuencia IR cambie para que no sea reconocida.
MIra esto

RC5/RC6 esta a 36kHz
NEC es a 38kHZ

La mayoría de los Receptores IR recibe señales en otras frecuencias.
Asegurate de usar un buen receptor IR como los de la familia TSOPxxxxx de Vishay.
Evita usar receptores baratos

jpsabatini

Nuevamente muchas gracias por tu respuesta, vere de hacer esto que me dices.
Por otro lado aprovecho a consultarte, por lo que pude ver en varios videos sobre este tema, siempre dice que se activa el pin3 como salida en la libería
Fuera de esta pueda activar el pin que mejor me quede y seguir usando la instrucción send.sendNEC (0x....,32)

surbyte

#5
Aug 12, 2017, 12:08 am Last Edit: Aug 12, 2017, 12:10 am by surbyte
El pin que usas es donde quieras instalarlo. Sera cualquier del 2 al 13 para un UNO.


No has visto esto en tu librería?

Code: [Select]
#include <IRremote.h> // https://github.com/z3t0/Arduino-IRremote

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);


cambia 11 por lo que tu quieras y listo!

jpsabatini

Para  la recepción si interpreto la recepción que es en le pin 11.
El inconveniente se da en la emisión, aunque ya identifique que es el Pin 9 la salida, no logro comprender como lo define exactamente para así poder seleccionar más de un pin de salida

// Define which timer to use
//
// Uncomment the timer you wish to use on your board.
// If you are using another library which uses timer2, you have options to
//   switch IRremote to use a different timer.
//

// Arduino Mega
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
   //#define IR_USE_TIMER1   // tx = pin 11
   #define IR_USE_TIMER2     // tx = pin 9
   //#define IR_USE_TIMER3   // tx = pin 5
   //#define IR_USE_TIMER4   // tx = pin 6
   //#define IR_USE_TIMER5   // tx = pin 46

El Pin 10 también es con base de tiempo 2 TIMER2 en el Mega, igualmente podría usar otro pin con otro TIMER si es que le logor cambiar el pre escaldo para emitir en 32 como lo hace el TIMER2

Muchas gracias por la ayuda que brindas

Go Up