Necesito controlar 17 salidas digitales y 1 entrada digital desde un software que se ejecuta en una PC genérica. Las dos interfaces que espero tener siempre disponibles son USB y Ethernet. No necesariamente necesito acceso de baja latencia a los puertos IO, y solo tengo que leer las entradas una vez cada pocos segundos, pero necesito cambiar las salidas en intervalos de tiempo precisos .
Para lograr esto, pensé que el mejor enfoque sería obtener una MCU genérica de bajo costo con 18 pines IO y soporte USB, y programarla para aceptar un búfer de comandos simples con marca de tiempo a través de USB, que pondría en cola y luego ejecutar en los momentos oportunos. Las instrucciones se traducirían al inglés como: At +1.2s: output 1100101 00000100 0000
o At +1.3s: read inputs
.
Luego me di cuenta de que lo que estaba a punto de crear es totalmente genérico: se puede usar en cualquier aplicación, no solo en la mía. Esto me hizo pensar que es posible que ya exista algo como esto como un producto disponible comercialmente (un conector USB y MCU soldados a una placa con orificios para las E/S). Pero no puedo encontrarlo y no estoy seguro de qué palabras clave buscar. ¿Alguien sabe si puedo comprar algo así?
Editar: después de hacer esta pregunta, me encontré con esta publicación relacionada: Módulo USB a GPIO
Lo que está describiendo allí se conoce como una placa de desarrollo de microcontroladores. Hay muchas marcas diferentes alrededor.
El más común se llama Arduino (hecho en Italia) y consiste en una MCU Atmel (hay diferentes disponibles) en una PCB con una interfaz USB (generalmente otra MCU Atmel que actúa como una interfaz USB CDC/ACM para la MCU principal). puerto UART).
Otros fabricantes de placas similares incluyen chipKIT (que usa el microcontrolador PIC32), Maple (que usa chips ST Micro ARM), así como los propios fabricantes de chips que los fabrican (como la serie de placas Launchpad de Ti).
La mayoría de ellos están programados en C ++ utilizando una API semiestándar (la API de Arduino se considera el estándar, y la mayoría de los demás intentan emularla bastante de cerca), pero algunos de ellos también proporcionan BASIC para la programación.
También hay placas "más grandes", como Raspberry Pi y Beaglebone, que ejecutan una versión completa de Linux (también hay otros sistemas operativos disponibles) y, a menudo, proporcionan interfaces Ethernet (y/o WiFi) como así como los USB.
Las placas varían en precio, desde unos pocos dólares (como el Launchpad, la mina IIRC cuesta $ 4.50 incluida la entrega) hasta $ 50- $ 100, como el Beaglebone.
Si está buscando algo menos programable, hay módulos disponibles basados en el chip FT285R. Este es un chip FIFO de USB a paralelo, al que envía bytes y el valor equivalente de 8 bits se emite en 8 pines IO. También se puede utilizar como 8 entradas si lo desea. Eso significaría que toda la programación se haría en la PC ya que el chip no es programable de ninguna forma.
Hardkernel ofrece una placa USB IO por $15. Si bien no parece admitir el tipo de almacenamiento en búfer descrito en la pregunta, admite salidas SPI, UART e I2C, así como (2) entradas ADC y PWM. Se basa en un PIC18F45K50 y parece tener 26 IO utilizables.
El firmware del chip también se puede reprogramar a través de la interfaz USB, por lo que sería posible parchear el firmware predeterminado para admitir comandos con marca de tiempo. Más información se puede encontrar aquí .
Majenko
vladimir cravero
Majenko
Majenko
Transeúnte
Ponkadoodle
Majenko
Ponkadoodle
Kaz
yippie
vladimir cravero
Gorki