¿Cómo desactivo varios puertos USB en función de varios sensores?

Estoy buscando una manera de encender y apagar un puerto USB de un Arduino, estoy buscando comprar algo como esto y de alguna manera usar un sensor de presión o luz para encender y apagar el puerto USB. Estaba pensando que podría usar un transistor o relé para encender y apagar el puerto USB, sin embargo, es posible que necesite tener muchos sensores (tal vez 20) que enciendan y apaguen los puertos USB, y los pines de Arduino se llenarían bastante rápido. . ¿Quizás existe tal cosa como un transistor serial o i2c? de esa manera todos podrían estar en un autobús de algún tipo.

No estoy seguro de lo que quiere decir con 'apagar un puerto USB', pero si su problema es controlar varios relés desde 3 pines de E/S, el TPIC6C595 ( focus.ti.com/lit/ds/symlink/tpic6c595.pdf ) podría ser la respuesta
Lo siento, pensé que estaba claro, solo quiero encender y apagar el puerto USB, tengo un altavoz USB alimentado que estoy tratando de encender y apagar

Respuestas (1)

Recomendaría usar un expansor GPIO para esto. He usado el Microchip MCP23017 en el pasado para esta misma configuración. Este dispositivo es un GPIO programable de 16 canales disponible en SPI o I2C (el número de pieza es ligeramente diferente para SPI).

Diagrama funcional de MCP23017

Puede conectar las salidas gpio de este dispositivo a mosfets de canal N con una resistencia desplegable para lograr su objetivo. Lo mejor de esta parte es que está disponible en un paquete de inmersión por poco dinero ($1.44) en DigiKey .