Código Arduino y vídeo para controlar un relé por USB desde la línea de comandos de PowerShell

Código Arduino y vídeo para controlar un relé por USB desde la línea de comandos de PowerShell

En este tutorial exploraremos cómo controlar un relé usando un Arduino y un módulo USB a UART, todo mediante comandos de Windows PowerShell. Esta configuración te permite encender y apagar una luz de forma remota enviando comandos específicos a través de la línea de comandos. Al final de esta guía tendrás un sistema funcional que puede controlar dispositivos de CA de forma segura y eficaz.

CP2102 usb to UART with relay

Utilizaremos las capacidades de comunicación serie del Arduino para escuchar comandos enviados desde PowerShell. Los comandos específicos serán enteros que corresponden a encender y apagar el relé. Este proyecto requiere un manejo cuidadoso de la tensión de CA, por lo que se deben observar precauciones de seguridad durante todo el proceso. Para mayor aclaración, asegúrate de ver el video completo (en el video en 00:00).

Hardware explicado

Los componentes principales implicados en este proyecto incluyen la placa Arduino, el módulo USB a UART y el relé. La placa Arduino actúa como el cerebro de la operación, procesando comandos seriales y controlando el relé en consecuencia. El módulo USB a UART facilita la comunicación entre la placa Arduino y tu ordenador, permitiendo introducir comandos desde PowerShell.

El relé actúa como un interruptor que controla el flujo de electricidad hacia la luz. Cuando el relé se activa, cierra el circuito, permitiendo que la corriente fluya y la luz se encienda. Cuando se desactiva, abre el circuito, cortando la alimentación y apagando la luz. Esto permite el control seguro de dispositivos de alto voltaje desde un sistema de bajo voltaje.

Detalles de la ficha técnica

FabricanteFTDI
Número de piezaFT232R
Voltaje lógico/E/S3.3 V / 5 V
Tensión de alimentación4.5 V a 5.5 V
Corriente de salida (por canal)50 mA
Corriente de pico (por canal)100 mA
Guía de frecuencia PWMNo aplica
Umbrales lógicos de entrada0.3 V (bajo), 0.7 V (alto)
Caída de voltaje / RDS(on)/ saturación0.5 V máx.
Límites térmicos125 °C
PaqueteLQFP de 32 pines
Notas / variantesConvertidor USB a UART

  • Asegúrese de que los niveles de voltaje sean adecuados para el relé y el módulo UART.
  • Utilice un disipador de calor si se espera que el relé maneje cargas elevadas.
  • Verifique dos veces todas las conexiones antes de encender el sistema.
  • Mantenga el módulo alejado de la humedad y de materiales conductores.
  • Utilice una conexión a tierra común para todos los componentes para evitar picos de tensión.

Instrucciones de cableado

Arduino wiring for FTDI usb with relay
Arduino wiring for FTDI usb with relay
Arduino wiring for CP2102 usb to UART with relay
Arduino wiring for CP2102 usb to UART with relay

Comience conectando el pin VCC del módulo de relé al pin de 5V del Arduino. A continuación, conecte el pin GND del relé a uno de los pines de tierra del Arduino. El pin de control (etiquetado como IN o similar) del relé debe conectarse al pin digital 8 del Arduino.

Para el módulo USB a UART, conecta el pin TX al pin RX del Arduino y el pin RX del módulo al pin TX del Arduino. Asegúrate de conectar el pin de tierra (GND) del módulo USB al mismo GND que el Arduino para garantizar una referencia común. Esta configuración permite una comunicación fluida entre el Arduino y tu computadora a través de PowerShell.

Ejemplos de código y guía paso a paso

byte RX_Value = 0;        // stores received byte
#define relay 8 // pin 8 for relay
int comON = 6; // code to turn ON the light
int comOFF = 2; // code to turn OFF the light

En este extracto, definimos la variableRX_Valuepara almacenar el comando recibido del monitor serie. Elrelayestá configurado en el pin 8, y definimos dos comandos:comONpara encender la luz ycomOFFpara apagarlo.

FT232-AZ-USB-to_TTL-serial-adapter
void setup() {
  Serial.begin(9600); // Start serial communication at 9600 baud
  pinMode(relay, OUTPUT); // Set relay pin as output
  digitalWrite(relay, HIGH); // Turn the relay OFF initially
}

En elsetup()En la función, inicializamos la comunicación serie a 9600 baud, que debe coincidir con la configuración en PowerShell. El pin del relé se configura como salida y lo ponemos en HIGH para asegurarnos de que el relé esté apagado al iniciar el programa.

Wirig relay module to AC load
if (Serial.available()) {
    RX_Value = Serial.read(); // Read the incoming byte
    if (RX_Value == comON) {
        digitalWrite(relay, LOW); // Turn the relay ON
    } else if (RX_Value == comOFF) {
        digitalWrite(relay, HIGH); // Turn the relay OFF
    }
}

Este fragmento de código muestra cómo el programa escucha los datos seriales entrantes. Si se recibe un comando que coincidecomON, el relé se activa, encendiendo la luz. Por el contrario, sicomOFFse recibe, el relé se desactiva, apagando la luz. Este bucle continúa, permitiendo un control receptivo desde PowerShell.

Demostración / Qué esperar

Cuando la configuración esté completa y el código se haya cargado, deberías poder abrir PowerShell y enviar los comandos para controlar la luz. Al escribir el comando correspondiente, el relé debería activarse de inmediato, encendiendo o apagando la luz según se desee. Ten cuidado al manipular dispositivos de corriente alterna; asegúrate de que no haya cables vivos expuestos durante las pruebas.

Marcas de tiempo del vídeo

  • 00:00- Introducción y visión general del proyecto
  • 02:30- Explicación del cableado
  • 05:00- Revisión del código
  • 08:15- Demostración de un comando de PowerShell
  • 10:45- Conclusión y consejos de seguridad

Imágenes

Wirig relay module to AC load
Wirig relay module to AC load
FT232-AZ-USB-to_TTL-serial-adapter
FT232-AZ-USB-to_TTL-serial-adapter
Arduino wiring for FTDI usb with relay
Arduino wiring for FTDI usb with relay
CP2102 usb to UART with relay
CP2102 usb to UART with relay
CP2102 usb to UART with relay
CP2102 usb to UART with relay
CP2102 usb to UART with relay
CP2102 usb to UART with relay
Arduino wiring for CP2102 usb to UART with relay
Arduino wiring for CP2102 usb to UART with relay
91-Arduino code to control a relay via USB from the command line using Windows PowerShell
Idioma: C++
¡Copiado!

Recursos y referencias

Aún no hay recursos.

Archivos📁

Archivo de Fritzing

Otros archivos