IOIO
IOIO (pronunciado yo-yo ) es una serie de placas basadas en microcontroladores PIC de código abierto que permiten que las aplicaciones móviles de Android interactúen con dispositivos electrónicos externos.[1][2][3] El dispositivo fue inventado por Ytai Ben-Tsvi en 2011 y fue fabricado por primera vez por SparkFun Electronics.[1][4][5][6] El nombre "IOIO" está inspirado en la función del dispositivo, que permite a las aplicaciones recibir una entrada externa ("I") y producir una salida externa ("O").[3]
Características
editarLa placa IOIO contiene una única MCU PIC que actúa como host USB / esclavo USB y se comunica con una aplicación de Android que se ejecuta en un dispositivo Android conectado. La placa proporciona conectividad a través de USB, USB-OTG o Bluetooth, y se puede controlar desde una aplicación de Android usando la API de Java.[7][3][8][9][10]
Además de la entrada / salida digital básica y la entrada analógica, la biblioteca IOIO también maneja PWM, I2C, SPI, UART, captura de entrada, detección capacitiva y control de motor avanzado.[2] Para conectarse a dispositivos Android más antiguos que usan USB 2.0 en modo esclavo, los modelos más nuevos de IOIO usan USB On-The-Go para actuar como host para dichos dispositivos.[7] Algunos modelos también son compatibles con el Google Open Accessory USB protocol.[3]
La API de control de motores IOIO puede manejar hasta 9 motores y cualquier número de actuadores binarios en sincronización y precisión de ciclo.[11][12] Los desarrolladores pueden enviar una secuencia de comandos de alto nivel al IOIO, que realiza la generación de formas de onda de bajo nivel en el chip.[11][12] El firmware IOIO admite 3 tipos diferentes de motores; Motores paso a paso, motores DC y servomotores .[11][12]
El Dispositivo de firmware puede ser actualizado en el sitio por el usuario.[2] Para la primera generación de dispositivos de la actualización se lleva a cabo utilizando un dispositivo Android y la IOIO Manager application de aplicaciones disponibles en Google Play.[2][13] La segunda generación de IOIO-OTG debe ser actualizado utilizando un equipo de escritorio que ejecute el IOIODude aplicación.[14]
IOIO es compatible con computadoras y dispositivos Android como hosts de primera clase, y proporciona la API exacta en ambos tipos de dispositivos.[2] Los dispositivos de primera generación solo pueden comunicarse con PC a través de Bluetooth, mientras que los dispositivos IOIO-OTG pueden usar Bluetooth o USB.[2] Las aplicaciones de PC pueden usar API para Java o C # para comunicarse con la placa; Java es la API oficial.[10][15]
Aplicaciones
editarEl hardware y software de IOIO es completamente de código abierto,[16] y ha permitido la creación de cientos de proyectos robóticos en todo el mundo.[17][18][19][20][21]
El dispositivo ha sido presentado en varios kits de aprendizaje, cuyo objetivo es ayudar a los estudiantes a escribir aplicaciones de Android que puedan interactuar con el mundo externo.[2][22][23][24]
El Qualcomm Snapdragon Micro Rover es un robot impreso en 3D que aprovecha un teléfono inteligente Android y el IOIO para controlar los motores y sensores del robot.[25][26] Un equipo liderado por el inventor israelí Dr.Guy Hoffman creó un robot emocionalmente sensible, que se apoya en el IOIO para controlar el hardware de dicho robot.[27]
Opiniones
editarEl IOIO se ha descrito de diversas maneras como un "paraíso geek", "una forma fácil de obtener I / O de la conexión USB de un dispositivo Android" y "una tarjeta de ruptura de I / O USB para teléfonos inteligentes Android que convierte su teléfono en un super-Arduino ".[17][28][29][30] Apareció como un "regalo para geeks" recomendado en un artículo de la Scientific Computing.[24]
Detalles técnicos
editarIOIO V1
editarLas tarjetas IOIO de primera generación (más conocidas como IOIO V1 ) contienen las siguientes funciones integradas:[31][32] Esta generación solo admite el modo USB Slave, y requiere un USB maestro como host (PC o teléfonos Android más recientes).[1][6]
El IOIO V1 es un 3.3 Dispositivo de nivel lógico V, y cuenta con un 5 V DC / DC regulador de conmutación y un regulador lineal de 3.3V. Los 5 El regulador V soporta un 5–15 Rango de entrada V y hasta 1,5 Una carga.[6] Esto facilita la carga de un dispositivo Android conectado, así como la conducción de varios motores pequeños o cargas similares.
Característica | Detalles | Descripción |
---|---|---|
Conector USB | tipo A, hembra | Se utiliza para conectarse al dispositivo Android. |
Pines GND | 9 pines | Conexión a tierra. |
Pines VIN | 3 pines | Se utiliza para la alimentación de la placa. Voltaje entre 5-15 V debe ser suministrado. |
5 Alfileres en V | 3 pines | Normalmente se utiliza como 5 Salida de V a la electrónica del usuario, cuando la placa se alimenta desde VIN. Puede usarse como entrada de 5V en caso de que VIN no esté conectado. |
3.3 Alfileres en V | 3 pines | 3.3 Salida V a la electrónica del usuario. |
Pines de E / S | 48 pines | Pines de E / S de propósito general. Algunos tienen funciones especiales, como ADC, captura de entrada, UART, PWM, comparador o para programar el PIC MCU ( ICSP ). |
LED de encendido | Se enciende cuando el IOIO está recibiendo energía. | |
Stat LED | Se enciende brevemente durante el encendido y luego queda bajo el control de la aplicación. | |
Pin MCLR | Normalmente no se utiliza. Su propósito es programar el nuevo firmware del cargador de arranque en la placa IOIO. | |
Recortador de corriente de carga (CHG) | Ajusta la cantidad de corriente de carga suministrada en la línea VBUS del USB al dispositivo Android. Girar en la dirección (+) aumenta la corriente de carga. |
IOIO OTG
editarLas tarjetas IOIO de segunda generación (conocidas como IOIO-OTG ) contienen las siguientes características integradas:[33][34][35] Como su nombre indica, una característica clave de esta generación es la introducción de USB-OTG, que admite Modo maestro o esclavo USB. Esto permite que IOIO se conecte a teléfonos Android más antiguos que solo admiten el modo esclavo USB, además.[7][8]
El IOIO-OTG es un 3.3 Dispositivo de nivel lógico V, con algunos de los pines siendo 5 V tolerante. Cuenta con un 5. V DC / DC regulador de conmutación y un 3.3 V regulador lineal . Los 5 El regulador V soporta un 5–15 Rango de entrada V y hasta 3 Una carga.[7] Esto facilita la carga de un dispositivo Android conectado, así como la conducción de varios motores pequeños o cargas similares.
Característica | Detalles | Descripción |
---|---|---|
Conector USB | micro-AB, hembra | Se utiliza para conectarse a una computadora host, un dispositivo Android o un dongle Bluetooth. |
Conector de alimentación | 2 pines JST, hembra | Se utiliza para la alimentación de la placa. Voltaje entre 5-15 V debe ser suministrado. |
Pines GND | 10 pines | Conexión a tierra. |
Pines VIN | 3 pines | Se utiliza para enviar la tensión de alimentación a su circuito, o como una entrada alternativa al conector de alimentación. |
Pines 5V | 3 pines | Salida de 5 V desde el regulador a bordo, que puede usarse en su circuito. |
3.3 Alfileres en V | 3 pines | 3.3 V del regulador a bordo, que se puede utilizar en su circuito. |
Pines de E / S | 46 pines | Pines de E / S de propósito general. Algunos tienen funciones especiales, como ADC, captura de entrada, UART, PWM, comparador o para programar el PIC MCU ( ICSP ). |
LED PWR | rojo | Se enciende cuando el IOIO está recibiendo energía. |
LED de estado | amarillo | LED de uso general a bordo, bajo control de la aplicación. |
Pin MCLR | Normalmente no se utiliza. Su propósito es programar el nuevo firmware del cargador de arranque en la placa IOIO. | |
Pin de arranque | Pin especial utilizado para poner el IOIO en el modo de cargador de arranque en el encendido. Tenga en cuenta que este pin se comparte con el LED de estado. | |
Recortador de corriente de carga (CHG) | Ajusta la cantidad de corriente suministrada en la línea VBUS del USB cuando actúa como un host USB. Normalmente se usa en una aplicación de batería con Android para evitar que Android agote la batería rápidamente. Girar en la dirección (+) aumenta la corriente de carga. | |
Interruptor de host | En el modo "A", el IOIO-OTG detectará si debe actuar como host o como dispositivo automáticamente, según el conector USB que esté conectado (micro-A o micro-B). Para admitir cables USB o adaptadores no estándar que utilizan el tipo micro-B, mueva el interruptor a la posición "H" para forzar el modo host. |
Véase también
editarReferencias
editar- ↑ a b c Lutz, Zachary (10 de abril de 2011). «SparkFun intros IOIO for Android, a hack-free breakout box to get your mind spinning». Engadget.
- ↑ a b c d e f g IOIO Mint - Kit de desarrollo de Android portátil, AdaFruit
- ↑ a b c d SparkFun aloja la clase de desarrollo de Android con IOIO, PRNewsWire, BOULDER, Colo., 27 de junio de 2012
- ↑ IOIO Wiki, GitHub, "Y este es el blog de Ytai, el inventor de IOIO"
- ↑ Blog de Ytai Ben-Tsvi, Blogspot
- ↑ a b c IOIO para Android, DEV-10585, SparkFun
- ↑ a b c d IOIO-OTG, DEV-12633, SparkFun
- ↑ a b O'Brien, Terrence (30 de mayo de 2012). «Second-gen IOIO in the works: embraces the wireless revolution, cuts cost». Engadget.
- ↑ Guía para principiantes de IOIO-OTG, SparkFun
- ↑ a b Conceptos básicos de la biblioteca IOIO Java, GitHub
- ↑ a b c Control de motor, IOIO Wiki
- ↑ a b c IOIO Plotter y la biblioteca de control de motores, 14 de mayo de 2013, blog de Ytai Ben-Tsvi
- ↑ IOIO Manager, Google Play Store
- ↑ IOIO-OTG cargador de arranque y IOIODude, IOIO Wiki
- ↑ IOIODotNet, GitHub
- ↑ IOIO, GitHub
- ↑ a b Davies, Chris (8 de abril de 2011). «IOIO for Android gets video demos: Geek’s paradise!». Slashgear.
- ↑ Proyectos construidos con IOIO, Pinterest
- ↑ Tanque de bricolaje con Android, Edwin Kee, 08/10/2011, Ubergeek
- ↑ El termostato de teléfono inteligente de bricolaje nos ha preguntado qué pasó con Android @ Home, 15 de octubre de 2012, Kevin Krause, Phandroid
- ↑ Respirar en el tablero de IOIO para un dispositivo de análisis de alcohol para Android, GadgetMaster, Electronics Weekly, 11 de mayo de 2012
- ↑ Kit de inventor de IOIO, RB-Spa-934 Archivado el 12 de julio de 2015 en Wayback Machine., RobotShop
- ↑ Kit del inventor SparkFun para IOIO, SparkFun
- ↑ a b Joyce, John R. (13 de noviembre de 2014). «Holiday Shopping? 25 Gifts Sheldon and Friends would Love». Scientific Computing. Archivado desde el original el 17 de abril de 2016. Consultado el 22 de enero de 2019.
- ↑ Snapdragon Micro Rover, Qualcomm
- ↑ MENDOZA, HANNAH ROSE (21 de septiembre de 2014). «Qualcomm’s 3D Printed Micro Rover Controlled by Smartphones». 3DPrint.
- ↑ Meyrav, Avner (9 de abril de 2014). «Israeli Robot Reacts 'Emotionally' to How You Talk». ShalomLife. Archivado desde el original el 12 de julio de 2015. Consultado el 22 de enero de 2019.
- ↑ SparkFun IOIO para Android hace que los hacks al estilo de Arduino sean simples, Comunidad de Android, 7 de abril de 2011, Chris Davies
- ↑ IOIO para Android detallado: muestras de proyectos de la tarjeta USB Breakout, comunidad de Android, 8 de abril de 2011, Chris Davies
- ↑ «IOIO board gets I/O from an Android device’s USB connection». Electronics Weekly. 19 de agosto de 2011.
- ↑ Conociendo la placa IOIO-V1, Wiki de IOIO
- ↑ IOIO V1, SparkFun USA
- ↑ Conociendo la Junta de IOIO-OTG, Wiki de IOIO
- ↑ IOIO OTG, SparkFun USA
- ↑ IOIO OTG, SparkFun USA