Mando a distancia universal para Arduino. Transmisión de datos en el rango de infrarrojos usando Arduino Conexión de un receptor de infrarrojos a arduino

Hay muchos artículos en Internet sobre cómo hacer tu propio control remoto de TV usando Arduino, pero yo necesitaba un control remoto universal para controlar mi TV y mi reproductor multimedia. La principal ventaja de mi control remoto universal es que los botones de la aplicación del teléfono Android tienen una doble función, pero mira el video.



El control remoto es muy conveniente porque se utilizan casi los mismos botones en la pantalla para controlar el televisor y el reproductor. Una diferencia es que el " AV"en el modo de control de TV cambia a un botón" " (detener) al cambiar al modo de control del reproductor. Las imágenes muestran dos modos, a la izquierda está el modo de control del televisor, a la derecha está el modo de control del reproductor.

Bueno, ahora te contaré un poco sobre cómo crear un control remoto de este tipo. Para el dispositivo utilicé el mando a distancia del ERGO TV y el mando a distancia del reproductor multimedia DUNE HD TV101W.

Para recibir datos de los controles remotos, utilicé un sensor de infrarrojos TSOP1138 (análogo a TSOP4838) a una frecuencia de operación de 38 kHz y lo conecté a la placa Arduino de acuerdo con el esquema:

Este boceto no será necesario para determinar la codificación de la transmisión de datos y leer el código de los botones del control remoto.

En el boceto de la línea int RECV_PIN = 11; indicar nuestro pin numero 4

Después de cargar el boceto, abra el "monitor de puerto" y, presionando los botones del control remoto, observe los datos recibidos.

La imagen muestra un ejemplo de cómo escanear el botón de encendido desde el control remoto del televisor y el control remoto del reproductor. Ahora creamos una tabla para códigos de botones.

Lo tengo como en la foto de arriba. Debajo de la inscripción TELEVISOR Códigos de botones del control remoto de TV; bajo la inscripción Jugador- códigos del mando a distancia del reproductor multimedia.

Ahora desconectamos nuestro receptor de señal de infrarrojos de la placa Arduino y le conectamos el módulo Bluetooth HC-05 y un LED de infrarrojos según el diagrama de la foto.

Después de eso, pasamos directamente al boceto.

Bosquejo

#incluir IRsend irsend; int y = 1; configuración vacía() ( Serial.begin(9600); ) bucle vacío() ( if (Serial.available() > 0) ( int x = Serial.read(); if (x == 49) ( y = 1; ) if (x == 50) ( y = 2; ) if (y == 1) ( // códigos de botones para el control remoto del televisor if (x == 97) ( irsend.sendNEC(0x807F08F7, 32); delay(40 ); ) if (x == 98) ( irsend.sendNEC(0x807FA857, 32); retraso(40); ) if (x == 99) ( irsend.sendNEC(0x807F708F, 32); retraso(40); ) if (x == 100) ( irsend.sendNEC(0x807FF00F, 32); retraso(40); ) if (x == 101) ( irsend.sendNEC(0x807F30CF, 32); retraso(40); ) if (x == 102) ( irsend.sendNEC(0x807FB04F, 32); demora(40); ) if (x == 103) ( irsend.sendNEC(0x807F9867, 32); demora(40); ) if (x == 104) ( irsend .sendNEC(0x807F58A7, 32); retraso(40); ) if (x == 105) ( irsend.sendNEC(0x807FD827, 32); retraso(40); ) if (x == 106) ( irsend.sendNEC(0x807F38C7 , 32); retraso(40); ) if (x == 107) ( irsend.sendNEC(0x807F48B7, 32); retraso(40); ) if (x == 108) ( irsend.sendNEC(0x807FB847, 32); retraso(40); ) if (x == 109) ( irsend.sendNEC(0x807F6897, 32); retraso(40); ) ) if (y == 2) ( //códigos de los botones del control remoto del reproductor multimedia if (x == 97) ( irsend.sendNEC(0xFDC23D, 32); delay(40); ) if (x == 98) ( irsend. sendNEC(0xFDE01F, 32); demora(40); ) if (x == 99) ( irsend.sendNEC(0xFD18E7, 32); demora(40); ) if (x == 100) ( irsend.sendNEC (0xFDE817, 32); retraso(40); ) if (x == 101) ( irsend.sendNEC(0xFDA857, 32); retraso(40); ) if (x == 102) ( irsend.sendNEC(0xFD6897, 32 ); retraso (40); ) if (x == 103) ( irsend.sendNEC(0xFDA857, 32); retraso(40); ) if (x == 104) ( irsend.sendNEC(0xFD6897, 32); retraso( 40); ) if (x == 105) ( irsend.sendNEC(0xFDE817, 32); retraso(40); ) if (x == 106) ( irsend.sendNEC(0xFD18E7, 32); retraso(40); ) if (x == 107) ( irsend.sendNEC(0xFD9867, 32); demora(40); ) if (x == 108) ( irsend.sendNEC(0xFD28D7, 32); demora(40); ) if (x = = 109) ( irsend.sendNEC(0xFD20DF, 32); retraso(40); ) ) ) )


En el boceto deberá editar los códigos de los botones, concretamente en las líneas:

If (x == 97) ( irsend.sendNEC(0x807F08F7, 32); retraso(40);
Cambie el valor 807F08F7 a:

If (y == 1) ( //códigos de botones del control remoto del televisor if (x == 97) ( irsend.sendNEC(0x12345678, 32); delay(40); )
Donde 12345678 es el código de su botón.

Después de editar el boceto usando los códigos de sus botones, cárguelo en la placa Arduino y proceda a instalar la aplicación en su teléfono.

Encendemos Bluetooth en el teléfono, buscamos nuestro dispositivo, creamos un par y luego iniciamos la aplicación. Pult por teléfono.

Al iniciar tendremos una pantalla con un icono rojo de bluetooth en la esquina inferior derecha, que nos indica que no estamos conectados a nuestro dispositivo.

Después de eso, haga clic en este icono. Deberíamos ver una ventana con una lista de todos los dispositivos bluetooth disponibles, donde seleccionamos nuestro dispositivo para conectar.

Ahora estamos de vuelta en la pantalla principal y ya podemos controlar el televisor:

Para cambiar al modo de control debemos presionar el botón etiquetado "Jugador". Como dije antes, nuestro botón etiquetado como "AV" cambiará a un botón " ":

Para desconectarnos de nuestro dispositivo basta con mantener pulsado el botón de “Encendido” durante unos segundos.

Bueno, algunas fotos de mi dispositivo terminado.

Al parecer, resultó bastante bien. Estoy esperando comentarios sobre el artículo.

Envía un paquete de datos codificados y modulados al LED IR y, cuando se mantiene presionado el botón, también repite los paquetes.

  • La luz infrarroja invisible del LED IR llega al módulo receptor de IR Trima, donde se convierte en pulsos eléctricos demodulados.
  • La biblioteca iarduino_IR lee y decodifica continuamente pulsos del receptor de infrarrojos (utilizando el segundo temporizador de hardware Arduino)
  • En el código del bucle verificamos los datos decodificados por la biblioteca con los asignados al dispositivo (lámpara) y si coinciden, entonces cambiamos el estado (“1”/“0”) en la entrada del módulo Trema Estado Sólido Relé, por lo tanto, enciende o apaga el dispositivo (lámpara).
  • El dispositivo puede resultar útil si asigna botones no utilizados en el mando a distancia del televisor (por ejemplo, los botones de colores del teletexto) para controlar la iluminación de la habitación.

    En lugar de lámparas incandescentes, puede conectar cualquier dispositivo de red de ~220 V con un consumo de corriente de hasta 2 A.

    Necesitaremos:

    • Control remoto IR x 1 Uds. (cualquier control remoto IR de TV servirá)
    • Dispositivos (lámparas) que controlaremos x 3 uds.

    Para implementar el proyecto necesitamos instalar la biblioteca:

    • Biblioteca iarduino_IR para trabajar con transceptores IR
      IMPORTANTE: la biblioteca utiliza un segundo temporizador de hardware,
      ¡NO ENVÍE SEÑALES PWM A 3 U 11 SALIDAS!

    Puede descubrir cómo instalar bibliotecas en la página Wiki: Instalación de bibliotecas en el IDE de Arduino.

    Video:

    Diagrama de conexión:

    Este circuito utiliza sólo módulos digitales; se pueden conectar a cualquier pin Arduino (tanto digital como analógico). Por ejemplo, conectamos todos los módulos a salidas analógicas. No todo el mundo sabe que los pines analógicos de Arduino pueden funcionar como pines digitales normales, lo que le permite recibir (desde un receptor de infrarrojos) y transmitir (a relés de estado sólido) señales digitales en forma de "0" y "1" lógicos.

    Si va a conectar dispositivos a otros pines, entonces sus números deben indicarse en la segunda (declaración de objeto IR) y tercera (declaración de matriz pinRelay) del boceto. El código del programa está escrito para que pueda conectar tantos relés como pines libres haya en su Arduino, simplemente enumerando los números de pin en la tercera línea del boceto (declaración de matriz pinRelay).

    Algoritmo de trabajo:

    • Al principio, el boceto asigna el código del botón remoto IR a cada relé de estado sólido de forma secuencial. Primero, el LED parpadea y el circuito del relé de estado sólido se cierra, cuya salida se indica en primer lugar. Si presiona cualquier botón en el control remoto por infrarrojos, el código de ese botón se asignará a ese relé y el siguiente comenzará a parpadear, y así sucesivamente, hasta que se hayan asignado botones a todos los relés en el control remoto por infrarrojos.
    • Después de la citaFunciones de los botones, todos los relés están apagados. Si presiona el botón del control remoto IR, se encenderá el relé al que está asignado el código de este botón. Si presiona nuevamente el botón indicado, el relé se apagará. El dispositivo no responderá al presionar botones cuyo código no haya sido asignado a ningún relé.
    • Si Si no desea asignar códigos de botón en cada inicio, indíquelos explícitamente al declarar la matriz varRelay y elimine los bucles for y while del código de configuración.
    • Descubra el código de cada botón puedes escribir la siguiente línea: if(IR.check())(Serial.println(IR.data);)

    Código de programa:

    #incluir // conecta la biblioteca para que funcione con el receptor de infrarrojos iarduino_IR_RX IR(A5); // declarar un objeto IR para trabajar con un receptor IR (indicando cualquier pin al que esté conectado el receptor IR) const uint8_t pinRelay = (A1,A2,A3); // declaramos una matriz que indica los números de cualquier pin (digital o analógico) al que están conectados los relés de estado sólido const uint8_t allRelay = sizeof(pinRelay); // declaramos una constante pasando su número de elementos en la matriz pinRelay (número de relés) uint32_t varRelay; // declaramos una matriz con códigos (comandos) del receptor de infrarrojos, incluidos los relés bool modRelay; // declarar una matriz con estados de retransmisión uint8_t setRelay; // declara una variable con el número de relés para los cuales se escribe el comando del receptor de infrarrojos void setup())( IR.begin(); // inicializa el trabajo con el transceptor de infrarrojos for(uint8_t i=0; i El módulo receptor de infrarrojos en combinación con un control remoto de infrarrojos le permitirá implementar fácilmente el control remoto de la placa Arduino.

    No es más que un receptor de infrarrojos VS1838B con el arnés recomendado por el fabricante instalado en la placa.

    Para trabajar con este módulo listo para usar, necesita un control remoto con una frecuencia de 38 kHz.

    La ventaja de esta placa es el conector push-in, que le permite reemplazar el receptor de infrarrojos por otro que funcione a la frecuencia requerida para su proyecto sin necesidad de soldar.

    Principales características técnicas:

    Tensión de alimentación: 2,7 - 5,5 V

    Frecuencia de modulación: 38kHz

    Rango de temperatura: - 20 ... + 80°C

    Interfaz: Digital

    Conexión a Arduino

    El módulo está equipado con un conector de tres pines de 2,54 mm.

    : se conecta al pin GND

    : se conecta a la salida de +5V

    : se conecta al pin digital (D2 en el ejemplo)

    Un ejemplo de trabajo en el entorno Arduino.

    Para trabajar con este módulo es necesario instalar la biblioteca IRRemote

    Descárgalo, descomprímelo y colócalo en la carpeta de bibliotecas de la carpeta Arduino. Si el IDE de Arduino estaba abierto al momento de agregar la biblioteca, reinicie el entorno.

    Lectura de botones del control remoto

    Para leer las lecturas del control remoto, complete el siguiente esquema. Enviará la codificación de los botones presionados al puerto.

    Como ejemplo usaremos el mando a distancia, como en la imagen, porque Este tipo de mando a distancia está incluido en el set.

    Puede leer sobre las diferencias en la lógica de funcionamiento de varios controles remotos en el artículo original de un miembro de nuestra comunidad con el sobrenombre

    Código de muestra:

    #incluir int RECV_PIN = 2; IRrecv irrecv(RECV_PIN); //Crea un objeto para recibir una señal desde un puerto específico resultados decode_results; //Variable que almacena el resultado vacío configuración () { De serie // Empezar a recibir) vacío bucle() (si (irrecv.decode(&resultados)) //Al recibir una señal... { De serie.println(resultados.valor); //...enviamos su valor al puerto serie irrecv.resume(); ) )

    Deberías ver lo siguiente en el monitor de puerto:

    Al mantener presionado cada botón durante casi un segundo, obtenemos unos 10 códigos. El primero es el código del botón. Y después comienza a aparecer un código estándar que informa que el botón está atascado.

    Controlar la placa Arduino con control remoto

    Hagamos que el LED de la placa Arduino (D13) se encienda cuando se codifica el primer botón y se apague cuando se codifica el segundo botón.

    Código de muestra:

    // Probado en Arduino IDE 1.0.3#incluir int RECV_PIN = 2; LED int = 13; IRrecv irrecv(RECV_PIN); resultados decode_results; vacío configuración () { De serie.comenzar(9600); irrecv.enableIRIn(); //Inicia el receptor pinMode(LED, SALIDA); ) vacío bucle() (si (irrecv.decode(&resultados)) ( De serie.println(resultados.valor); si (resultados.valor == 16769565) // Al recibir la codificación 1( escritura digital (LED, ALTA); //Enciende el LED) si (resultados.valor == 16761405) // Al recibir la codificación 2( escritura digital (LED, BAJO); //Apaga el LED) irrecv.resume(); //Obtiene el siguiente valor } }

    Buen día a todos (o noche, como quieran), comencemos con una introducción lírica. Hoy en día mucha gente tiene casas. TV con mando a distancia, sintonizador, reproductor de DVD. . Muchas personas (y familias) no pueden imaginar su vida hogareña sin un mando a distancia en la mano. De acuerdo: qué maravilloso es ser el maestro de los electrodomésticos y, en cualquier momento, dictar su voluntad sobre estas piezas de hardware. En este artículo, nos gustaría analizar la tecnología de control remoto con más profundidad y dar algunos ejemplos de aplicación para nuestras necesidades.

    Entonces, ¿qué necesitamos como componentes para nuestro experimento? Como una opción Se venden módulos de control remoto IR y receptor IR listos para usar.. Pero no queremos esperar y pagar dinero, por lo que actuaremos de manera más dura. Tomemos como base un mando a distancia de origen desconocido, también tenemos un trozo de placa de un sintonizador chino al que está soldado un receptor de infrarrojos. En la foto de abajo puedes ver estos componentes. Para ser honesto, el control remoto se encontró entre basura innecesaria en el escritorio de la oficina y la placa con el receptor de infrarrojos se sacó del taller de reparación de radios más cercano.

    Pues bien, como solía decir Aníbal - "Adelante a Cartago" . Sólo nos falta desoldar el receptor y conectarlo a la placa. arduino según el siguiente esquema...

    • Conexión de un receptor de infrarrojos

    receptor IR que fue soldado de la placa no tiene ninguna marca, es simplemente otro componente de radio chino desconocido, del cual se produjeron miles. En resumen, podemos decir: en un edificio combinafotodiodo, preamplificador y controlador . La salida está formada por una normal.señal TTL sin relleno, adecuado para su posterior procesamiento por parte del microcontrolador. La frecuencia portadora es posiblemente (!) 36 kHz, pero ahora esto ya no es tan importante... Intentemos conectarlo a la placa.arduino , el diagrama condicional le dará la distribución de pines deseada de este dispositivo. En el siguiente diagrama, resaltada en rojo está la forma del cuerpo en el que está hecho el nuestro.receptor IR , resaltado en verde - pinout en el que está conectado a la placaarduino .

    ¡¡¡Atención!!! En Internet hay muchos diagramas de pines para dispositivos en dicho paquete (TSOP). Los pinouts dados en este artículo pueden no coincidir con ninguno que se encuentre en Internet, pero así es como todo está conectado con nosotros. Si el receptor de infrarrojos comienza a calentarse al conectarlo, apague inmediatamente el circuito ensamblado; esto significa que el pinout de conexión no corresponde al real y tendrá que seleccionarlo casi al azar. Esto es exactamente lo que hicimos, porque los circuitos encontrados en Internet no eran adecuados para nuestro receptor de infrarrojos. Aquí, en general, lo principal es no quemar la placa Arduino, ¡¡¡proceda con precaución!!!

    • Biblioteca remota

    Entonces todo está conectado. Hay una biblioteca para leer códigos desde el control remoto. IRremoto.h, es con su ayuda que estudiaremos nuestro mando a distancia, o más bien los códigos de los botones. En el futuro, utilizaremos los códigos de lectura para nuestros propios fines. El boceto con el que se leerán los códigos de los botones se presenta en los ejemplos de esta biblioteca, se llama IRrecvDemo. ¡¡¡Atención!!! Al compilar el boceto, aparece un error; al principio, es necesario agregar dos bibliotecas de complementos más:

    #include "boarddefs.h" //Biblioteca adicional #include "IRremote.h" #include "IRremoteInt.h" //Biblioteca adicional int RECV_PIN = 2; //Pin para conectar la señal de salida del receptor de IR //Crea una instancia de la clase IRrecv, pasando el pin para conectar la señal del receptor de IR como parámetro IRrecv irrecv(RECV_PIN); resultados decode_results; //Variable para guardar el código recibido del botón presionado void setup() ( Serial.begin(9600); irrecv.enableIRIn(); //Habilitación del funcionamiento del receptor IR ) void loop() ( if (irrecv.decode( &results)) //Si ocurrió un evento/se presionó el botón ( Serial.println(results.value, HEX); //Envía el código del botón presionado en forma hexadecimal al monitor de puerto irrecv.resume(); // Leer el siguiente valor/botón ) retraso(100 ); )

    Después de que el boceto se haya subido al tablero.arduino(usamos Arduino Nano en el escudo Escudo inalámbrico de E/S para Nano ), se puede abrir monitor de puerto y vea qué códigos aparecen cuando presiona los botones del control remoto. El resultado del boceto se muestra en la siguiente captura de pantalla:

    Por cierto, como monitor de puerto Usamos nuestro software probado; si alguien está interesado, puede leer el artículo y descargar Serial Monitor Pro.

    #define KEY_ONOFF 0x807F807F //Botón de encendido/apagado #define KEY_MUTE 0x807F48B7 //Botón de silencio #define KEY_1 0x807F00FF //Botón 1 #define KEY_2 0x807FE01F //Botón 2 #define KEY_3 0x807F609F //Botón 3 #define KEY_4 0x807F20DF //Botón 4 #define KEY_5 0x807FD02F //Botón 5 #define KEY_6 0x807F50AF //Botón 6 #define KEY_7 0x807F10EF //Botón 7 #define KEY_8 0x807FF00F //Botón 8 #define KEY_9 0x807F708F //Botón 9 # define KEY_0 0x80 7FC837 //Botón 0

    Y ahora, en general, todo está listo para la prueba final: será una prueba elemental de control de encendido/apagado de los módulos de relés. Aquí hay una pequeña tarea:

    • Usamos dos módulos de relé.
    • Vinculamos el relé nº 1 al botón “1” del mando a distancia
    • El relé No. 2 está vinculado al botón “2” del control remoto
    • El encendido de cualquiera de los módulos de relé se realiza pulsando el botón al que está asignado
    • El apagado de cualquiera de los módulos de relé también se realiza pulsando el botón al que está asignado
    • Al presionar el botón On/Off se apagan incondicionalmente ambos módulos de relé (si estaban encendidos, o uno de ellos está encendido)

    Un boceto que implementa la tarea anterior:

    #include "boarddefs.h" //Biblioteca adicional #include "IRremote.h" #include "IRremoteInt.h" //Biblioteca adicional #define KEY_ONOFF 0x807F807F //Botón de encendido/apagado #define KEY_1 0x807F00FF //Botón 1 #define KEY_2 0x807FE01F //Botón 2 #define RELOUT1 3 //Puerto de salida para relé 1 #define RELOUT2 4 //Puerto de salida para relé 2 int RECV_PIN = 2; IRrecv irrecv(RECV_PIN); resultados decode_results; booleano estático REL1_ONOFF = falso; booleano estático REL2_ONOFF = falso; void setup() ( pinMode(RELOUT1, OUTPUT); pinMode(RELOUT2, OUTPUT); Serial.begin(9600); irrecv.enableIRIn(); // Inicia el receptor ) void loop() ( if (irrecv.decode(&results )) ( switch(resultados.valor) ( ​​case(KEY_ONOFF): REL1_ONOFF = false; REL2_ONOFF = false; break; case(KEY_1): if(REL1_ONOFF) REL1_ONOFF = false; else REL1_ONOFF = true; break; case(KEY_2 ): if(REL2_ONOFF) REL2_ONOFF = false; else REL2_ONOFF = true; break; ) irrecv.resume(); ) digitalWrite(RELOUT1, REL1_ONOFF); digitalWrite(RELOUT2, REL2_ONOFF); delay(100); )

    Y al final del artículo hay un vídeo que demuestra el trabajo de ambos bocetos. Si lo deseas y tienes imaginación creativa, puedes ampliar la flota de complementos y gestionar todo de una forma más avanzada. En nuestro artículo intentamos dar un ejemplo básico del uso de esta tecnología. ¡¡¡Gracias por su atención y disfrute viendo!!!

    Habilite javascript para que los comentarios funcionen.

    Hay muchos artículos en Internet sobre cómo hacer tu propio control remoto de TV usando Arduino, pero yo necesitaba un control remoto universal para controlar mi TV y mi reproductor multimedia. La principal ventaja de mi control remoto universal es que los botones de la aplicación del teléfono Android tienen una doble función, pero mira el video.



    El control remoto es muy conveniente porque se utilizan casi los mismos botones en la pantalla para controlar el televisor y el reproductor. Una diferencia es que el " AV"en el modo de control de TV cambia a un botón" " (detener) al cambiar al modo de control del reproductor. Las imágenes muestran dos modos, a la izquierda está el modo de control del televisor, a la derecha está el modo de control del reproductor.

    Bueno, ahora te contaré un poco sobre cómo crear un control remoto de este tipo. Para el dispositivo utilicé el mando a distancia del ERGO TV y el mando a distancia del reproductor multimedia DUNE HD TV101W.

    Para recibir datos de los controles remotos, utilicé un sensor de infrarrojos TSOP1138 (análogo a TSOP4838) a una frecuencia de operación de 38 kHz y lo conecté a la placa Arduino de acuerdo con el esquema:

    Este boceto no será necesario para determinar la codificación de la transmisión de datos y leer el código de los botones del control remoto.

    En el boceto de la línea int RECV_PIN = 11; indicar nuestro pin numero 4

    Después de cargar el boceto, abra el "monitor de puerto" y, presionando los botones del control remoto, observe los datos recibidos.

    La imagen muestra un ejemplo de cómo escanear el botón de encendido desde el control remoto del televisor y el control remoto del reproductor. Ahora creamos una tabla para códigos de botones.

    Lo tengo como en la foto de arriba. Debajo de la inscripción TELEVISOR Códigos de botones del control remoto de TV; bajo la inscripción Jugador- códigos del mando a distancia del reproductor multimedia.

    Ahora desconectamos nuestro receptor de señal de infrarrojos de la placa Arduino y le conectamos el módulo Bluetooth HC-05 y un LED de infrarrojos según el diagrama de la foto.

    Después de eso, pasamos directamente al boceto.

    Bosquejo

    #incluir IRsend irsend; int y = 1; configuración vacía() ( Serial.begin(9600); ) bucle vacío() ( if (Serial.available() > 0) ( int x = Serial.read(); if (x == 49) ( y = 1; ) if (x == 50) ( y = 2; ) if (y == 1) ( // códigos de botones para el control remoto del televisor if (x == 97) ( irsend.sendNEC(0x807F08F7, 32); delay(40 ); ) if (x == 98) ( irsend.sendNEC(0x807FA857, 32); retraso(40); ) if (x == 99) ( irsend.sendNEC(0x807F708F, 32); retraso(40); ) if (x == 100) ( irsend.sendNEC(0x807FF00F, 32); retraso(40); ) if (x == 101) ( irsend.sendNEC(0x807F30CF, 32); retraso(40); ) if (x == 102) ( irsend.sendNEC(0x807FB04F, 32); demora(40); ) if (x == 103) ( irsend.sendNEC(0x807F9867, 32); demora(40); ) if (x == 104) ( irsend .sendNEC(0x807F58A7, 32); retraso(40); ) if (x == 105) ( irsend.sendNEC(0x807FD827, 32); retraso(40); ) if (x == 106) ( irsend.sendNEC(0x807F38C7 , 32); retraso(40); ) if (x == 107) ( irsend.sendNEC(0x807F48B7, 32); retraso(40); ) if (x == 108) ( irsend.sendNEC(0x807FB847, 32); retraso(40); ) if (x == 109) ( irsend.sendNEC(0x807F6897, 32); retraso(40); ) ) if (y == 2) ( //códigos de los botones del control remoto del reproductor multimedia if (x == 97) ( irsend.sendNEC(0xFDC23D, 32); delay(40); ) if (x == 98) ( irsend. sendNEC(0xFDE01F, 32); demora(40); ) if (x == 99) ( irsend.sendNEC(0xFD18E7, 32); demora(40); ) if (x == 100) ( irsend.sendNEC (0xFDE817, 32); retraso(40); ) if (x == 101) ( irsend.sendNEC(0xFDA857, 32); retraso(40); ) if (x == 102) ( irsend.sendNEC(0xFD6897, 32 ); retraso (40); ) if (x == 103) ( irsend.sendNEC(0xFDA857, 32); retraso(40); ) if (x == 104) ( irsend.sendNEC(0xFD6897, 32); retraso( 40); ) if (x == 105) ( irsend.sendNEC(0xFDE817, 32); retraso(40); ) if (x == 106) ( irsend.sendNEC(0xFD18E7, 32); retraso(40); ) if (x == 107) ( irsend.sendNEC(0xFD9867, 32); demora(40); ) if (x == 108) ( irsend.sendNEC(0xFD28D7, 32); demora(40); ) if (x = = 109) ( irsend.sendNEC(0xFD20DF, 32); retraso(40); ) ) ) )


    En el boceto deberá editar los códigos de los botones, concretamente en las líneas:

    If (x == 97) ( irsend.sendNEC(0x807F08F7, 32); retraso(40);
    Cambie el valor 807F08F7 a:

    If (y == 1) ( //códigos de botones del control remoto del televisor if (x == 97) ( irsend.sendNEC(0x12345678, 32); delay(40); )
    Donde 12345678 es el código de su botón.

    Después de editar el boceto usando los códigos de sus botones, cárguelo en la placa Arduino y proceda a instalar la aplicación en su teléfono.

    Encendemos Bluetooth en el teléfono, buscamos nuestro dispositivo, creamos un par y luego iniciamos la aplicación. Pult por teléfono.

    Al iniciar tendremos una pantalla con un icono rojo de bluetooth en la esquina inferior derecha, que nos indica que no estamos conectados a nuestro dispositivo.

    Después de eso, haga clic en este icono. Deberíamos ver una ventana con una lista de todos los dispositivos bluetooth disponibles, donde seleccionamos nuestro dispositivo para conectar.

    Ahora estamos de vuelta en la pantalla principal y ya podemos controlar el televisor:

    Para cambiar al modo de control debemos presionar el botón etiquetado "Jugador". Como dije antes, nuestro botón etiquetado como "AV" cambiará a un botón " ":

    Para desconectarnos de nuestro dispositivo basta con mantener pulsado el botón de “Encendido” durante unos segundos.

    Bueno, algunas fotos de mi dispositivo terminado.

    Al parecer, resultó bastante bien. Estoy esperando comentarios sobre el artículo.