Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Mando universal Android con Arduino, 1Sheeld y control IR

Componentes y suministros

Sobre el proyecto

Este proyecto ilustra cómo controlar tu TV, receptor satélite y estéreo usando tu móvil Android en lugar de sus mandos a distancia.

Básicamente, puedes aplicar esta técnica para cualquier otro dispositivo que funcione con mando a distancia. Quería usar mi móvil para controlar todos los dispositivos de casa en vez de usar el mando de cada uno.

Ahora puedes controlar tantos dispositivos de control remoto de tu casa como quieras con solo 1 aplicación en tu móvil!

Primero, solo hay que descargar la aplicación de Android desde Google Play Store.

Luego, tienes que decodificar tu mando a distancia.

El transmisor en el mando envía una serie de pulsos de luz infrarroja cuando el usuario pulsa un botón. El transmisor suele ser un LED IR en el extremo del mando. Los pulsos infrarrojos forman un patrón único para ese botón. El receptor en el dispositivo reconoce el patrón y hace que el dispositivo responda (Wikipedia).

Así que tenemos que conocer ese patrón único de cada botón.

Simplemente, descarga la librería IR para Arduino.

En los ejemplos de esa librería encontrarás el ejemplo IRrecvDump (ilustrado en la tercera imagen). Este código sirve para decodificar datos del mando a distancia.

Cablear el receptor IR como se muestra en su figura:
1‑ Tierra (GND)
2‑ 5V
3‑ Pin 11

Tras subir este código al Arduino, abre el monitor serie y pulsa cualquier botón de tu mando TV; verás algo como en la quinta imagen.

Como se muestra en la cuarta imagen, puedes encontrar el código hex que corresponde a cada botón del mando. Anota estos números hex correspondientes a su función (p.ej. 20DFC03F, 32 para el botón de encendido).

Nota, si obtienes «unknown encoding», pulsa el botón de nuevo.

Mando universal Android con Arduino, 1Sheeld y control IR
Mando universal Android con Arduino, 1Sheeld y control IR
Mando universal Android con Arduino, 1Sheeld y control IR
Mando universal Android con Arduino, 1Sheeld y control IR
Mando universal Android con Arduino, 1Sheeld y control IR

Ahora, hay que subir el código que transmite los comandos a nuestros dispositivos. Puedes encontrar el código pero harás un pequeño cambio según tu mando.

Todo lo que tienes que hacer aquí es reemplazar los valores hex (como 0x20DF10EF) por los valores que obtuviste del botón de encendido, volumen arriba/abajo y cualquier otro botón que quieras.

Como la app móvil 1Sheeld no tiene interfaz de mando a distancia, usé el escudo Keypad como control remoto; también puedes elegir el escudo Keyboard para más dispositivos.

Mando universal Android con Arduino, 1Sheeld y control IR
Mando universal Android con Arduino, 1Sheeld y control IR

Pruebas

Finalmente, usa el LED IR en el pin 3 de Arduino y colócalo frente a los dispositivos como se muestra.

Abre la app móvil 1Sheeld, conéctala con el shield y elige el escudo keypad, todo esto se muestra en el video.

Ahora, al pulsar botones en tu móvil se ejecutará la tarea correspondiente: encender, subir/bajar volumen, cambiar canal, etc.

Mando universal Android con Arduino, 1Sheeld y control IR
Mando universal Android con Arduino, 1Sheeld y control IR

Código

#include <OneSheeld.h>
#include <IRremote.h>
IRsend irsend;

void setup() {
  OneSheeld.begin();
}

void loop() {
  if (Keypad.isRowPressed(0) && Keypad.isColumnPressed(0)) {
    irsend.sendNEC(0x20DF10EF, 32);
  } else if (Keypad.isRowPressed(0) && Keypad.isColumnPressed(1)) {
    irsend.sendNEC(0x20DFC03F, 32);
  } else if (Keypad.isRowPressed(0) && Keypad.isColumnPressed(2)) {
    irsend.sendNEC(0x20DF40BF, 32);
  } else if (Keypad.isRowPressed(1) && Keypad.isColumnPressed(1)) {
    irsend.sendNEC(0x41048B7, 32);
  } else if (Keypad.isRowPressed(1) && Keypad.isColumnPressed(0)) {
    irsend.sendNEC(0x410C837, 32);
  } else if (Keypad.isRowPressed(2) && Keypad.isColumnPressed(0)) {
    for (int i = 0; i < 3; i++) {
      irsend.sendSony(0xa81, 12); // Código power Sony TV
      delay(40);
    }
  }
}

Proceso de manufactura

  1. Construye un Voltímetro Inteligente con Arduino y Smartphone – Proyecto DIY Fácil
  2. Control Remoto IoT de Brazo Robótico Personalizado con Arduino MKR1000 y ThingSpeak
  3. Vehículo Controlado por Android con Raspberry Pi, Arduino y Motor Shield: Guía Completa
  4. Medición precisa de frecuencia y ciclo de trabajo con Arduino UNO
  5. Controla un Rover Arduino con Firmata y Mando Xbox One - Guía Completa
  6. Control de brillo LED sin interrupciones con Bolt IoT y Arduino UNO
  7. Brazo Robótico Inteligente Controlado por Arduino: Tutorial DIY Fácil
  8. Controla tu TV con Alexa mediante Arduino IoT Cloud: Guía Paso a Paso
  9. Construye una Radio FM Compacta con Arduino Nano y RDA5807M
  10. Controla el Parpadeo del LED de Arduino desde tu App iOS/Android vía WiFi/Ethernet
  11. Control Inalámbrico de Iluminación Doméstica desde Smartphone con 1Sheeld