Autor Tema: Dispositivos Android… La llegada del Macrocontrolador  (Leído 2470 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado SavageChicken

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 931
Dispositivos Android… La llegada del Macrocontrolador
« en: 18 de Junio de 2015, 12:47:30 »
   Por un par de días pensé que se me había ocurrido una idea original y que quizá podía ser una idea interesante y con buen futuro.

   Normalmente para llevara a cabo nuestros proyectos partimos haciendo algunos cálculos para ver cuanta memoria nos haría falta, la cantidad de I/O que necesitamos, verificamos algunas características que deseamos que tenga nuestro equipo y con esto en mente nos decidimos por algún microcontrolador que tenga lo básico para poder realizarlo.

   Partiendo de esa base, tenemos una CPU, algo de ROM y RAM y una buena cantidad de GPIOs, y desde ahí vamos añadiendo circuitos integrados y otros módulos dependiendo de que requiera nuestro proyecto. Por ejemplo, si necesitamos comunicación Ethernet agregamos el módulo necesario, si requiere manejar una pantalla gráfica, pues ponemos un controlador LCD (o incluimos las librerías para su control en nuestro programa) y una pantalla, si el proyecto necesita un acelerómetro, pues se lo agregamos y hacemos el programa para su control…

   Si sumamos el costo de todo aquello componentes electrónicos, y consideramos además que tenemos que hacer la placa, pasar cientos de horas haciendo pruebas y ajustes para que todo funcione, resulta que nos hemos gastado una buena cantidad de pesos, dólares o euros.

   Y ahí, como una revelación, surge la idea… ¡¡¡Pero si hoy existen cientos de dispositivos que tienen casi todo lo que uno podría necesitar y están integrados, probados, funcionando, con sistema operativo, pequeños y a un precio de risa!!! …. Se denominan smartphones, y tienen invadido el mercado.

   ¿Qué necesitas?... WiFi… lo tienen, Conexión USB… la tienen, una pantalla gráfica… la tienen, giróscopo, acelerómetro, GPS, sonido, cámara, video, sensor magnético, lector RFID, Bluetooth, Pantalla Táctil, OS, Mensajes de Texto… todo esto lo tienen y varias cosas más todo probado, funcionando y metido en una hermosa cajita de apenas unos 15x5 cmts.

   Ahhh pero necesito GPIOs…. Eso no tienen y ese es su talón de Aquiles.

   Que faltaría entonces para que esto sea el paraíso feliz del electrónico…. Que le pudiéramos agregar algunas entradas y salidas para interactuar con los elementos finales de nuestros proyectos.

   A partir de lo anterior y pensando ilusamente que acababa de tener una epifanía, me puse a investigar cual sería la mejor forma de proveer a estos equipos de un buen conjunto de GPIOs y abajo dejo una lista de las opciones que barajé:

MétodoProsContras
Destriparlo y Conectarse a I/Os de la CPUVelocidad de I/OsComplejidad / diferencia de patillaje entre dispositivos / poca documentación / Complejo de realizar programas
USBBaja Latencia / Simplicidad / EconomíaControlador con USB Host
WiFiBaja Latencia / SimplicidadCosto del Módulo Wifi
BluetoothSimplicidad / EconomíaAlta Latencia
AudioSimplicidad / EconomíaComunicación Unidireccional / Latencia Media

   En toda la búsqueda realizada, terminé descubriendo que lo que intentaba hacer ya estaba hecho y analizado por varios otros entusiastas de la electrónica.

   Una de los proyectos que descubrí se llama IOIO (se pronuncia como Yoyo) y curiosamente está basado en un microcontrolador de Microchip, el PIC24FJ256. Su página web es: https://github.com/ytai/ioio/wiki

   Aporta a un sistema basado en android las siguiente capacidades de entrada/salida:

•   46 GPIO pins (digital input / output). Internal pull-ups / pull-downs / open drain mode are supported on all pins. 21 of which are 5V-tolerant.
•   16 analog inputs (use on designated pins).
•   9 PWM outputs (use on any pin marked “P”).
•   3 UART buses (use on any pin marked “P”).
•   3 I²C buses (use on designated pins).
•   3 SPI buses (use on any pin marked “P”).
•   6 pulse input channels for measuring pulse width and frequency - 3 single-precision + 3-double precision (use on any pin marked “P”).
•   16 capacitive sensing inputs (use on analog pins).
•   Precision motor control - up to 9 steppers / servos / DC motors and digital outputs with precise timing, pulse counts and synchronization (coming soon with a firmware upgrade).

   Otro de los aportes importantes es la posibilidad de realizar nuestros programas directamente en plataforma android, incluyendo las librerías correspondientes al compilador.
Incluye un programa para hacer actualizaciones de firmware a la placa IOIO desde nuestro dispositivo android y es Open Source.

   Varios fabricantes, como Sparkfun y SeeedStudio lo fabrican y venden la placa. Por el momento la encuentro muy cara, pero si esto se esparce como lo que sucedió con arduino, varios fabricantes chinos harán que su precio baje a valores irrisorios, de hecho ya es fácil encontrarla en páginas como AliExpress, Deal Extreme o DhGate a mejores precios.

   El punto flaco es que obviamente no podremos utilizar un conjunto como el descrito para manejar entradas y salidas a alta velocidad o tasa de refresco, pero creo que para la mayoría de los desarrollos es viable.

   Que puedo decirles… mi esperanza de la idea genial y maravillosa se me fue por el desagüe, pero me alegra mucho esta vuelta de tuerca a la electrónica y aunque en un par de intercambio de ideas con compañeros del foro varios lo ven como más cercano a la informática que a la electrónica, yo creo que es la senda natural a la que va ir migrando todo esto.

   Basta utilizar el oráculo que todo lo sabe (léase google) para encontrar cientos de ingeniosos artilugios e interesantes desarrollos hechos con un dispositivo android y una plaquita IOIO.

   Si alguien analiza el tema, quizá para un electrónico de hace treinta años, que usaba compuertas lógicas para hacer sus circuitos, el uso de un microcontrolador que puede programarse y cumplir objetivos distintos era más programación que electrónica. Hoy estamos pensando lo mismo, que esto es más informática que electrónica, pero no me extrañaría que en unos cuantos años, eso ya no sea tema y todos estemos haciendo electrónica con algún dispositivo que tiene un sistema operativo e integra un montón de sensores y módulos embebidos, basado en android o cualquier otro OS que nos depare el destino….
No hay preguntas tontas...
Solo hay tontos que no preguntan.

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2979
Re: Dispositivos Android… La llegada del Macrocontrolador
« Respuesta #1 en: 18 de Junio de 2015, 17:14:41 »
Bueno yo lo veo como una opcion mas, pero no pienso que esto vaya a sustituir a los demás controladores, no creo que se convierta en el macrocontrolador, si bien es cierto para una persona hobbista o para prototipos tienes una placa de desarrollo con todo y que no encontraras mas barata, pero para un desarrollo comercial esto no podrá nunca sustituir a un controlador dedicado, en el caso de que se fabriquen series, ya que aqui las tornas cambian y un smartphone se hace muy caro.

imagina por ejemplo una maquina industrial, yo que se, una pick and place con un movil enchufado para controlarlo con android. tambien es cierto que cada vez mas cosas se controlan desde el movil, pero este no sustituye al aparato en si.

por esta razón, lo veo como una opción mas, pero ni mucho menos un sustituto, es mi humilde opinión y otros tendrán las suyas.

un saludo.
Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw

Desconectado SavageChicken

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 931
Re: Dispositivos Android… La llegada del Macrocontrolador
« Respuesta #2 en: 19 de Junio de 2015, 09:16:26 »
Coincido contigo, es una opción más y que seguramente tendrá mas cabida entre los hobbystas que entre los desarrolladores de sistemas comerciales, lo mismo sucede con arduino, donde las aplicaciones se dan más en el área hobbysta que en desarrollos comerciales (yo al menos no conozco aplicaciones comerciales basadas en arduino, pero no me atrevo a decir que no existen).

En lo que disciento un poco (y solo un poco) es que a la larga no resulte más barata, he visto por ejemplo dispositivos como los TV-Box que se incluyen Android como OS, pero no tienen pantalla (Usan la Tele comno pantalla) y no tienen GPS o acelerómetros, pero incluyen CPUs con varios nucleos, USB, WiFi, una cantidad más que razonable de RAM etc. y puedes conseguirlos desde U$S 20 dolares en china.

Creo que no va a demorar el iluminado que comience a fabricar aparatitos con android con diversas prestaciones para uso en electrónica, o al revés, el electrónico que finalmente encuentre un aparatito con android que se ajuste a su presupuesto y tenga lo que necesita para su proyecto.

Como tu dices es mi humilde opinión también.

P/D: lo de "Macrocontrolador" no existe, es una ocurrencia mía, pero si a futuro terminan usándola, ya que llegué tarde a la idea del IOIO, al menos pueda ser que esta palabra quede como idéa mia... jajajaja  :-)
No hay preguntas tontas...
Solo hay tontos que no preguntan.

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2979
Re: Dispositivos Android… La llegada del Macrocontrolador
« Respuesta #3 en: 19 de Junio de 2015, 10:09:52 »
Citar
P/D: lo de "Macrocontrolador" no existe, es una ocurrencia mía, pero si a futuro terminan usándola, ya que llegué tarde a la idea del IOIO, al menos pueda ser que esta palabra quede como idéa mia... jajajaja  Smile

Haha lo tendré en cuenta y me acordare xd

Yo me referiaria, a lo de mas caro, sobre todo a las aplicaciones que tienen un tiempo de vida corto y por lo tanto es mas barato de producirlos porque se hacen como churros.

Por ejemplo, un caso propio, los termostatos aplicados a las maquinas de refrigeración de los bares, frigoríficos etc. Son tan baratos que no se reparan ni nadanada, como se fabrican tantos sale muy barato por su gran numero, pero también al ser un numero tan grande, una pequeña variación es un gran cambio en el precio. Por ejemplo 100.000 unidades poner un una resistencia de 1 centimo ya son 1000 euros. Entonces en casos como este se mira el céntimo y poner cosas extra sale carisimo. Hasta tal punto que no se pudo poner a un modelo un condensador radial de aluminio porque era un gasto altísimo. Ya ves lo que vale un condensador.

Es sobre todo a este nivel de fabricación tan alto que digo que poner cualquier cosa que no se necesite sale demasiado caro.

Obviamente si fabricas unos cuantos cientos si sale mas barato.

Es como los display, si quieres un display personalizado lo primero que te dice el fabricante, vale yo te lo fabrico pero mínimo 100.000 año si no no me merece la pena. Y te tienes que apañar con otro display que te sale mas caro.

Pero también es verdad como dices que en muchas otras aplicaciones viene perfecto.

Un saludo.

PD: aquí en España he visto mas de un chapucero que intenta vender cosas con arduinó hahaha.
Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw

Desconectado diguito_69

  • PIC16
  • ***
  • Mensajes: 136
Re: Dispositivos Android… La llegada del Macrocontrolador
« Respuesta #4 en: 19 de Junio de 2015, 14:05:34 »
Hola, interesante tema.

Otras opciones para obtener GPIOs podrian ser a traves de la MicroSD y del chip SIM.

Por ejemplo a traves de la MicroSD, se podria emular una tarjeta de memoria con un microcontrolador y modificando o leyendo archivos se acceda a las GPIOs. Este a su vez podria leer una tarjeta de memoria desde otra ranura, para no perder esa funcionalidad.

Para el SIM no se si es realizable porque no tengo ni idea de como funciona, pera seria cuestion de investigar.

Saludos.
"Carezco de un don especial. Sólo soy apacionadamente curioso". Albert Einstein.

Desconectado SavageChicken

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 931
Re: Dispositivos Android… La llegada del Macrocontrolador
« Respuesta #5 en: 19 de Junio de 2015, 16:12:54 »
Hola, interesante tema.

Otras opciones para obtener GPIOs podrian ser a traves de la MicroSD y del chip SIM.

Por ejemplo a traves de la MicroSD, se podria emular una tarjeta de memoria con un microcontrolador y modificando o leyendo archivos se acceda a las GPIOs. Este a su vez podria leer una tarjeta de memoria desde otra ranura, para no perder esa funcionalidad.

Para el SIM no se si es realizable porque no tengo ni idea de como funciona, pera seria cuestion de investigar.

Saludos.

   Muy interesante tu aporte, ni siquiera se me habría ocurrido darle un uso de esa manera.

   Usar la MicroSD como una forma de intercambiar información entre el dispositivo android y el microcontroldor que gestiona las GPIOs es muy ingenioso, sin embargo... ¿como harías para que el dispositivo android se enterara de que el microcontrolador le quiere mandar información? ¿el programa corriendo en android debería verificar que "apareció" un nuevo archivo en la uSD? ¿acceder a uSD sin usar las librerías tradicionales provistas por el OS de manera de gestinar el hardware más directamente?.

   En el otro sentido lo veo más fácil, ya que el programa en el microcontrolador estaría diseñado sabiendo que la uSD es una emulación y por ende sería mas sencillo, creo yo, crear una rutina para este fin.

   Usar la SIM... ni siquiera sabría como empezar, pero me imagino que se puede.  8)
No hay preguntas tontas...
Solo hay tontos que no preguntan.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Dispositivos Android… La llegada del Macrocontrolador
« Respuesta #6 en: 19 de Junio de 2015, 16:23:02 »
Ademas de poder evitar que el celular no intente acceder a la memoria SD cuando lo hace el micro, otra cosa es que tambien deberian tener la misma comunicacion. Normalmente lo hacemos por SPI y eso requiere una inicializacion, lo cual van a tener que cortar la tension a la microSD, inicializarla en SPI, escribirla, cortar la tension, y que vuelva a inicializarla el celular. Lo cual veo BASTANTE complicado hacerlo

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1093
Re: Dispositivos Android… La llegada del Macrocontrolador
« Respuesta #7 en: 19 de Junio de 2015, 20:10:54 »
Como curiosidad os comento una "anecdota" que me ocurrio hace un par de años en la ultima empresa en que he trabajado. Se trata de una empresa de maquinaria auxiliar para la agricultura y servicios relacionados con aquella.
Entre otras maquinas, distribuimos y damos servicio tecnico a varios tipos de flejadoras, (son maquinas que flejan o empaquetan los palets con cintas plasticas termosoldadas). Pues bien como suele ser tipico en la industria, esta va muy por detras de los desarrollos tecnologicos, al menos en España y las flejadoras que nosotros distribuimos y mantenemos, son cercanas al periodo jurasico, casi totalmente manuales y muy rudimentarias. A mi se me ocurrio algo parecido a lo que comenta SavageChicken, consistia en comunicar una tablet con el automata o PLC que lleva la flejadora mediante el USB de la tablet y emulando de algun modo un USB en el PLC, realizar una interfaz grafica e interactiva para el uso de la flejadora. Estaba yo con esos "estudios", cuando un dia indiscretamente lo comente con un responsable tecnico de la fabrica de la flejadora, el cual se apresuro a decirme que eso seria muy complejo y casi inviable. No pasaron seis meses cuando en un pedido de varias maquinas que hicimos, nos vino el "nuevo modelo", con una pantalla tactil y un interfaz totalmente interactivo. Creo no pecar de ingenuo al pensar que me "copiaron" la idea, logicamewnte ellos no lo hicieron con una tablet, pero si con una pantalla tactil industrial conectada por ethernet con el PLC que por cierto tambien cambiaron por un modelo mas moderno.

Saludos.

Desconectado willynovi

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 546
Re: Dispositivos Android… La llegada del Macrocontrolador
« Respuesta #8 en: 20 de Junio de 2015, 19:19:30 »
Yo estoy en algo de esto, pero mucho mas simple  :D :D

Tengo pendiente un robot explorador con plataforma de desplazamiento de seis patas, es decir un hexapod.
La placa controladora de los servos ya la tengo andando y conectada a un desarrollo en una netbook.
Resulta que de la netbook salté a una tablet, así que ahora ando investigando como hacer para conectar mi placa USB HID a la tablet.

Mi placa es a base de un PIC18f2550, algo bien simple para empezar, pero tiene lo que necesito.

Voy a ponerme a ver este link que pasaste para sacar algo, aunque seguramente lo que intento hacer ya lo haya hecho alguien.

Cuando tenga novedades las compartiré  ;-)
Intento enseñarte a pescar, si solo quieres pescados, espera que un pescador te regale los suyos.

Desconectado bigluis

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 511
    • Tutoriales de Qt C++
Re: Dispositivos Android… La llegada del Macrocontrolador
« Respuesta #9 en: 20 de Junio de 2015, 21:24:03 »
Hasta la fecha la opción más barata  q he encontrado es conectar un arduino con Android

http://android.serverbox.ch/?p=549
Tutoriales de Qt C++

No es necesario que hagamos Grandes cosas, sino que lo que hagamos sea importante.

SI la NECESIDAD es la MADRE del CONOCIMIENTO, SEGURAMENTE la PEREZA su TÍA.

Cuando el ARTE requiere de PRECISION le llamamos CIENCIA

Desconectado SavageChicken

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 931
Re: Dispositivos Android… La llegada del Macrocontrolador
« Respuesta #10 en: 24 de Junio de 2015, 12:44:01 »
En estos mares hay algunos surcando otras posibilidades.

Por ejemplo me recordaban en otro foro las conocidas RaspBerry Pi y la Beaglebone Black, por ahora lo que se ve en el horizonte como más económico, es un computador completo por la friolera de U$S 9.00 y que además integra GPIOs directo en su hardware.

Este intento de hacer el computador más barato del mundo, se llama CHIP y pueden ver sus prestaciones en el siguiente enlace.

Para los que aún tienen duda, no incluye la banana  :D
No hay preguntas tontas...
Solo hay tontos que no preguntan.