35 votos

Me gustaría aprender a hacer mis propios gadgets USB

He estado escribiendo controladores de dispositivos de carácter Linux para las cosas de otras personas durante algún tiempo. Me gustaría encontrar un nuevo pasatiempo y la idea de hacer mis propios artilugios USB parece realmente genial.

Me encantaría poder controlar algunos LEDs, servos y motores paso a paso. Me gusta mucho aprender cosas nuevas por mi cuenta y la emoción cuando algo finalmente funciona. No he hecho ninguna programación seria de MC, pero sé mi manera alrededor.

¿Alguien puede recomendar algunos kits que sean útiles para un completo novato? Lo ideal sería:

  • Compatible con Linux
  • Capacidad de envío internacional (actualmente vivo en Asia)
  • Ofrecer kits de prototipos

Si tienes tiempo y ganas, los enlaces a proyectos en sitios de otras personas que incluyan esquemas y listas de piezas serían muy apreciados. Quiero estudiar a partir de ejemplos, pero buena ejemplos, por lo que pregunto aquí.

Mi objetivo final es hacer mis propios colectores de datos - todo, desde la precipitación a los decibelios promedio a los niveles de luz. Lo siento si esto se ha preguntado antes, he buscado (y buscado etiquetas).

6voto

eidylon Puntos 1256

Si terminas usando el Arduino he portado la biblioteca V-USB (antes AVR-USB) para que funcione en él. También está envuelto con una clase para hacer la interacción más fácil.

Puedes crear dispositivos USB HID con él, por ejemplo, teclado, ratón o joystick. También puedes crear un dispositivo genérico que utilice libusb en el host para controlarlo--desde Python, C, Processing, etc.

Mi sitio tiene un escudo de PCB que puede hacer que utiliza una toma de USB y algunas resistencias, etc:

http://code.rancidbacon.com/ProjectLogArduinoUSB

Puedes escribir código Arduino para enviar pulsaciones de teclas tan fácilmente como:

UsbKeyboard.sendKeyStroke(KEY_ENTER);

o con un "driver" libusb puedes enviar datos como

UsbStream.write(0xff)

o leer datos con:

UsbStream.read()

-Philip;

5voto

Lauren Puntos 1076

En la actualidad existen varias placas de desarrollo basadas en AVR-USB.

Personalmente he utilizado el mencionado Teensy y Bumble-B y creo que ambos son geniales.

Teensy está bien, porque se integra muy bien con el entorno de Arduino. Esto significa que puedes hacer cosas como "Mouse.init; Mouse.move(x,y)" en lugar de lidiar con el código USB de bajo nivel. Sin embargo, ambos ejecutarán LUFA si lo deseas.

5voto

Mark Biek Puntos 41769

Aquí está un simple proyecto PIC USB mío:

http://www.leonheller.com/usb

Los PCB están disponibles.

4voto

Magus Puntos 861

Object Development ha creado una librería para microcontroladores AVR que te permite fabricar por tu cuenta dispositivos USB muy baratos (a partir de sólo 2-3$). GCC para AVR es compatible con Linux. Hay cientos de dispositivos ya hechos. Echa un vistazo aquí: http://www.obdev.at/products/vusb/projects.html

0voto

tmandry Puntos 111

Depende de qué tipo de artilugios usb quieras hacer, y de su nivel avanzado. Mencionas los leds parpadeantes. Ese tipo de control puede ser fácilmente archivado con cualquier tipo de microcontrolador con uart y un chip ftdi (arduino es bastante popular, y fácil de empezar uno). El chip ftdi se conecta al uC en serie, y actúa como un convertidor serie <-> USB. También aparece como un puerto COM virtual en tu ordenador.

Si quieres hacer uso de protocolos usb más avanzados, controladores y características, podrías conseguir un uC con capacidad usb nativa. Microchip tiene muchos pics (sus microcontroladores) que pueden hacer esto, por ejemplo. Microchip también tiene muchas placas de desarrollo dedicadas a aprender a usar el usb. Por lo menos Microchips 32-bit uC apoyo también de acogida, y otg -modos, por lo que podría construir un registrador de datos que guarda los datos a un lápiz de memoria usb común, que se puede conectar a su ordenador para leer los datos. (Estoy seguro de que muchos otros fabricantes también tienen ICs similares y dev-kits, pero Microchip es el único que he utilizado)

Página de inicio de Microchip/USB

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X