Encendido de lámpara LED por USBHID en Python Tkinter y PIC18F2550
En este proyecto, vamos a encender una lámpara LED utilizando la comunicación USB HID entre un programa escrito en Python Tkinter y un microcontrolador PIC18F2550.
Requisitos del proyecto:
- Microcontrolador PIC18F2550
- Lámpara LED
- Resistencia de 220 ohmios
- Python Tkinter
- Librería de USB HID para Python
Procedimiento:
- Conectar la lámpara LED y la resistencia a una de las salidas del PIC18F2550.
- Conectar el PIC18F2550 a través del cable USB a la computadora.
- Desarrollar el programa en Python Tkinter para enviar comandos de encendido y apagado al PIC18F2550 a través de la comunicación USB HID.
- Programar el PIC18F2550 para que interprete los comandos recibidos y encienda o apague la lámpara LED en consecuencia.
Código en Python Tkinter:
import usb.core import usb.util dev = usb.core.find(idVendor=0x04d8, idProduct=0x003f) if dev is None: raise ValueError("Device not found") # Encender la lámpara LED dev.ctrl_transfer(0x40, 0x01, 0, 0, None) # Apagar la lámpara LED dev.ctrl_transfer(0x40, 0x02, 0, 0, None)
Código en PIC18F2550:
#include #define LED PORTAbits.RA0 void main() { TRISAbits.RA0 = 0; // Configurar el pin RA0 como salida USBDeviceInit(); USBDeviceAttach(); while(1) { if(USBUSARTIsTxTrfReady()) { if(USBUSARTIsTxTrfReady() { if(USBHandleGetLength(0) == 1) { if(usb_buffer[0] == 0x01) { LED = 1; } else if(usb_buffer[0] == 0x02) { LED = 0; } } } } CDCTxService(); } }
Con este proyecto, podemos controlar la lámpara LED conectada al microcontrolador PIC18F2550 a través de una interfaz gráfica desarrollada en Python Tkinter. La comunicación USB HID permite una conexión rápida y segura entre la computadora y el microcontrolador.