Conexión de lámpara LED a través de USBHID con Python Tkinter y PIC18F2550

Posted by

Encendido de lámpara LED por USBHID en Python Tkinter y PIC18F2550

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:

  1. Conectar la lámpara LED y la resistencia a una de las salidas del PIC18F2550.
  2. Conectar el PIC18F2550 a través del cable USB a la computadora.
  3. Desarrollar el programa en Python Tkinter para enviar comandos de encendido y apagado al PIC18F2550 a través de la comunicación USB HID.
  4. 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.