Si quisiera hacer un dispositivo simple que se comunicara con mi computadora, por ejemplo, un interruptor que pudiera silenciar mi computadora cuando se enciende y apaga y enchufarlo a través de USB, ¿cuál sería la forma más barata y fácil de lograr esto?
microcontroller
usb
Sean
fuente
fuente
Respuestas:
Más fácil? Toma un Arduino y escribe un par de líneas de Python. Los Arduino son increíblemente fáciles de programar, no requieren ningún hardware adicional para trabajar y son bastante populares . Python tiene una biblioteca en serie muy sencilla y es muy fácil de escribir.
Código de ejemplo
Python: ejecuta este script como un servicio. Estoy usando Ubuntu, por lo que este script mostrará una notificación que le indicará cuándo se presionó un botón en el Arduino.
Arduino
fuente
Cree un dispositivo de clase de dispositivo de interfaz humana USB. Esa es la misma clase utilizada por teclados, ratones, joysticks, pads de juegos y similares. Su PC ya tiene soporte completo de controlador de dispositivo para dispositivos HID, por lo que el acceso al software es fácil. Se pueden encontrar muchos punteros e incluso código de muestra en la página HID de Jan Axelson . Navegue por su sitio para obtener mucha buena información relacionada con el desarrollo de dispositivos USB.
Muchas de las familias de microprocesadores pequeños pueden hacer HID. Incluso lo he visto hecho a baja velocidad USB con un AVR ATtiny de 8 pines completamente en software.
Elija su chip preferido, luego busque en sus "recursos habituales" muestras HID.
Otro enfoque es hacer un dispositivo de comunicaciones en serie. Existen varias soluciones de chip único de FTDI . El FT232R es una opción popular. Se requieren controladores, pero el asistente de Nuevo hardware encontrado conoce los controladores certificados de Windows, por lo que la instalación no es difícil. Una vez instalado, tiene un dispositivo que se parece a un puerto COM. Hay controladores alternativos disponibles que le permitirán acceder a sus pines GPIO y usarlo en modos más avanzados.
Actualización, 2015: tenía un enlace a http://www.lvr.com/hidpage.htm , que parece tener un enlace podrido y la nueva ubicación descubierta gracias a El Marce . Jan's Lakeview Research sigue siendo una excelente fuente de información sobre el uso práctico de USB.
fuente
Aquí hay una publicación de blog muy detallada http://msdn.microsoft.com/en-us/devlabs/dd491992 con software para usar un PIC18F4550 de menos de $ 5 para interactuar a través de USB como un dispositivo HID estándar. El software proporcionado se puede utilizar para interactuar con cualquier dispositivo HID, por lo que si desea un chip alternativo, el software seguirá funcionando.
Una ventaja adicional es que la publicación del blog le muestra cómo hacer una comunicación bidireccional, por lo que no solo puede conectar un interruptor, sino que también puede encender y apagar un LED.
fuente
Aquí hay un proyecto mío simple usando un PIC18F2455, basado en el software USB de Brad Minch. Los PCB están disponibles en Olimex.
fuente
Si no le importa el microcontrolador basado en Cortex-M3, eche un vistazo a LPC1343 de NXP . Solo cuesta $ 6.30 en Digikey (1 pieza). Hay una característica muy interesante: ¡firmware para almacenamiento y dispositivos HID en la ROM del chip!
En comparación con una solución con chip FTDI + microcontrolador, hay un chip menos :)
fuente