Encender led a travez de RS232 con matlab


17 de Mayo del 2017

Quisiera que me ayuden con el codigo que debo usar para poder encencer un led con guide de matlab a travez de un conversor rs232 y ademas que pines del conversor debo utilizar para conectar al led??? todo esto sin usar ningun microcontrolador, pic o arduino.... 

GRACIAS DE ANTEMANO


Ivan
12 de Agosto del 2026

Ojo con esto antes de conectar nada: el puerto RS232 «de verdad» maneja niveles de tensión de hasta ±12V (los estándar EIA-232), muy por encima de lo que aguanta un LED normal, así que conectarlo directo a las líneas de datos (TX/RX) sin nada de por medio puede llegar a quemarlo. Por eso mucha gente asume que hace falta un microcontrolador o un conversor de niveles.

Pero no hace falta si usas las líneas de control (DTR o RTS) en vez de TX/RX, porque puedes manejarlas como salidas digitales simples desde MATLAB, y con una resistencia limitadora de corriente (y opcionalmente un diodo en serie para protegerte de la polaridad, ya que estas líneas usan lógica invertida: nivel alto = negativo) te vale para encender un LED sin microcontrolador de por medio:

s = serial('COM1'); % ajusta el puerto
fopen(s);
set(s, 'DataTerminalReady', 'on'); % enciende el LED conectado a DTR
pause(2);
set(s, 'DataTerminalReady', 'off'); % lo apaga
fclose(s);
delete(s);

El LED se conecta entre el pin DTR (pin 4 en DB9) y GND, con una resistencia en serie (unos 1kΩ para no pasarte de corriente con ±12V) y un diodo en serie orientado para que solo conduzca cuando DTR está en su estado "encendido". Es una forma clásica de hacer un parpadeo simple sin hardware adicional, aunque para algo más elaborado (varios LEDs, PWM) ahí sí necesitarías ya un microcontrolador de verdad.

Ivan