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

Controla tu TV con Alexa mediante Arduino IoT Cloud: Guía Paso a Paso

Componentes y suministros

Arduino Nano 33 IoT×1
Resistencia 330 Ω×1
Receptor IR (genérico, ej. VS1838B)×1
Emisor IR (genérico)×1
Cables jumper (genéricos)×1
Protoboard (genérica)×1

Aplicaciones y servicios en línea

Sobre el proyecto

Nota: Este tutorial podría estar desactualizado, ve aquí para versión más actual.

Introducción: Arduino IoT Cloud

Arduino IoT Cloud permite a cualquiera crear objetos IoT conectados fácilmente. Para controlar la TV con Alexa, usaremos la Skill Oficial Arduino Alexa.

Si eres nuevo en Arduino IoT Cloud, mira primero este proyecto introductorio que guía en configuración de placas soportadas, Things y Properties.

Parte 1: Cómo controlar un televisor

La forma más fácil es actuar como su propio mando IR. Hay que escuchar las señales del mando, capturar datos y replicarlos con Arduino. Montado el circuito, sube este sketch para traducir pulsaciones del mando en arrays de enteros sin signo. Apunta el mando al Receptor IR del Arduino y pulsa:

Verás valores en Monitor Serial como rawData. Anótalos en archivo de texto asignando nombre a cada array (chan1, chan2...). Los valores de referencia son de un mando Samsung:

// Ejemplo arrays (67 elementos cada uno)
CHANNEL 1 unsigned int chan1[67] = {4450,4500, 550,1700, ... };
CHANNEL 2 unsigned int chan2[67] = {4500,4500, 550,1700, ... };
// ... hasta CHANNEL 9, VOLUME UP, VOLUME DOWN, CHANNEL UP, CHANNEL DOWN, ON/OFF, MUTE

Parte 2: Arduino IoT Cloud

En la página principal Arduino IoT Cloud, crea nuevo Thing llamado TVRemoteController. Selecciona tu placa (usamos Arduino Nano 33 IoT; otras compatibles valen, pero pinout y librería IR pueden variar). Si no ves tu placa, repasa el Getting Started.

Añade una Property al Thing representando la TV. Categoría Smart Home, tipo "TV", "Read & Write", actualización "When the value changes".

Controla tu TV con Alexa mediante Arduino IoT Cloud: Guía Paso a Paso

Parte 3: Arduino Web Editor

Pulsa EDIT SKETCH → Web Editor para añadir código personalizado al sketch generado.

  1. Incluye librería IR Remote (Ken Shirriff): #include <IRremote.h>
  2. Define arrays: uno 2D para canales (chan[9][67]) y 6 arrays para comandos (volUp, volDown, chanUp, chanDown, onoff, mute) usando datos capturados en Parte 1.
  3. Configura librería IR y frecuencia (38 kHz): IRsend irsend; const int freq = 38;
  4. Función para enviar comandos IR y parpadear LED integrado (depuración):
void sendIR(const unsigned int buf[]) {
  digitalWrite(LED_BUILTIN, HIGH);
  irsend.sendRaw(buf, 67, freq);
  delay(300); // Ajusta según marca/modelo TV
  digitalWrite(LED_BUILTIN, LOW);
}
  1. Completa callback generado onTvChange() para enviar comandos IR cuando Alexa cambie propiedad TV. Ejemplo: si sube volumen → envía volUp; si canal 7 → envía chan[6]; etc.
void onTvChange() {
  Serial.println("==================");
  Serial.println("Switch:"+String(tv.getSwitch()));
  Serial.println("Volume:"+String(tv.getVolume()));
  Serial.println("Channel:"+String(tv.getChannel()));
  Serial.println("Mute:"+String(tv.getMute()));
  Serial.println("==================");
  if (first){
    prevSwitch = tv.getSwitch(); prevVolume = tv.getVolume();
    prevChannel = tv.getChannel(); prevMute = tv.getMute();
    first = false; return;
  }
  // Volumen cambiado
  if (tv.getVolume() > prevVolume) {
    tv.setMute(false); prevMute = false;
    for (int k = prevVolume + 1; k <= tv.getVolume(); k++) {
      sendIR(volUp);
      Serial.println("Volume requested:"+String(tv.getVolume())+" Set:"+String(k));
    }
    prevVolume = tv.getVolume();
  } else if (tv.getVolume() < prevVolume) {
    tv.setMute(false); prevMute = false;
    for (int k = prevVolume - 1; k >= tv.getVolume(); k--) {
      sendIR(volDown);
      Serial.println("Volume changed:"+String(tv.getVolume())+" Set:"+String(k));
    }
    prevVolume = tv.getVolume();
  }
  // Mute cambiado
  if (tv.getMute() != prevMute && tv.getMute()) {
    prevMute = tv.getMute(); sendIR(mute);
    Serial.println("Mute changed:"+String(tv.getMute()));
  } else if (tv.getMute() != prevMute && !tv.getMute()) {
    prevMute = tv.getMute(); sendIR(mute);
    Serial.println("Mute changed:"+String(tv.getMute()));
  }
  // Canal cambiado
  if (tv.getChannel() != prevChannel) {
    int newChannel = tv.getChannel();
    if (newChannel > 0 && newChannel < 10) {
      sendIR(chan[newChannel-1]);
    } else if (newChannel > 9) {
      if (newChannel > prevChannel) {
        for (int ch = prevChannel; ch < newChannel; ch++) {
          sendIR(chanUp);
          Serial.println("Chan requested:"+String(newChannel)+" Set:"+String(ch));
        }
      } else if (newChannel < prevChannel) {
        for (int ch = prevChannel; ch > newChannel; ch--) {
          sendIR(chanDown);
          Serial.println("Chan requested:"+String(newChannel)+" Set:"+String(ch));
        }
      }
    }
    prevChannel = newChannel;
    Serial.println("Channel changed:"+String(tv.getChannel()));
  }
  // Encendido/Apagado
  if (tv.getSwitch() != prevSwitch) {
    prevSwitch = tv.getSwitch();
    if (tv.getSwitch()) sendIR(chan[6]); else sendIR(onoff);
    Serial.println("Switch changed:"+String(tv.getSwitch()));
  }
}

Parte 4: Amazon Alexa

Instala app Amazon Alexa (App Store / Google Play). Inicia sesión o crea cuenta.

Pasos para instalar Skill Arduino Alexa y configurar control TV (sigue secuencia imágenes):

Controla tu TV con Alexa mediante Arduino IoT Cloud: Guía Paso a Paso
Controla tu TV con Alexa mediante Arduino IoT Cloud: Guía Paso a Paso
Controla tu TV con Alexa mediante Arduino IoT Cloud: Guía Paso a Paso
Controla tu TV con Alexa mediante Arduino IoT Cloud: Guía Paso a Paso
Controla tu TV con Alexa mediante Arduino IoT Cloud: Guía Paso a Paso
Controla tu TV con Alexa mediante Arduino IoT Cloud: Guía Paso a Paso
Controla tu TV con Alexa mediante Arduino IoT Cloud: Guía Paso a Paso
Controla tu TV con Alexa mediante Arduino IoT Cloud: Guía Paso a Paso
Controla tu TV con Alexa mediante Arduino IoT Cloud: Guía Paso a Paso
Controla tu TV con Alexa mediante Arduino IoT Cloud: Guía Paso a Paso
Controla tu TV con Alexa mediante Arduino IoT Cloud: Guía Paso a Paso

¡Listo! Ahora control por voz:

Diviértete con Alexa e IoT Cloud. Dudas o construcciones en comentarios.

Gracias,
Equipo Arduino

Proceso de manufactura

  1. Controla tu Ventilador de Techo con Alexa: Guía Paso a Paso
  2. Construye un Dispositivo de Levitación Ultrasónica con Arduino – Guía Paso a Paso
  3. Mando universal Android con Arduino, 1Sheeld y control IR
  4. Construye un Voltímetro Inteligente con Arduino y Smartphone – Proyecto DIY Fácil
  5. Monitor de Frecuencia Cardíaca IoT en Tiempo Real con Arduino y MAX30100
  6. Control Remoto IoT de Brazo Robótico Personalizado con Arduino MKR1000 y ThingSpeak
  7. Construye un tarro inteligente IoT con ESP8266, Arduino y sensor ultrasónico: Monitorización en tiempo real
  8. Monitoriza la Temperatura de tu Hogar desde Cualquier Lugar con Integración Arduino Cloud
  9. Controla un Rover Arduino con Firmata y Mando Xbox One - Guía Completa
  10. Controlador de Humidificador DIY con Arduino y Relé: Configuración Segura de Alto Voltaje
  11. Medición de Distancia en Tiempo Real con Sonar Arduino y Visualización en Processing