Control desde su telefono usando Mit App Inventor


Marcelo Ávila de Oliveira es un ingeniero electrónico que desarrolla software para teléfonos móviles en Brasil . Recientemente Marcelo decidió usar una placa Arduino  con un modulo bluetooth  y el fantastico software en la nube del MIT  , Mit App Inventor, para automatizar un muñeco articulado de vinilo Android.

Este « DroidBot » Android Robot es impulsado por los componentes de Arduino y se controla a través de Bluetooth con una aplicación de teléfono móvil desarrollado con App Inventor . Haga clic en el botón Reproducir para ver un bonito video de la DroidBot responder a los comandos del teléfono, con la música «Yo puedo leer tu mente . »

Tuvo un montón de diversión y el resultado final era genial, pero le molestaba   el mando a distancia . Era difícil recordar las funciones de todas las teclas del mando a distancia , y siempre tenía que apuntar el control remoto directamente hacia el robot y el problema más importante : era imposible recibir información / datos del robot. Entonces  decidió » retirarse » del mando a distancia y empezó con el uso de una aplicación para Android que se ejecuta en un teléfono inteligente para controlar el robot.

En 2011  ya había utilizado el Google App Inventor para crear una aplicación de Android ( «El discurso sin fin» , un generador de voz aleatoria automática, disponible en Google Play) así que decidió que era una gran oportunidad para comprobar el «nuevo» Inventor MIT App . Iinicialmente pensó que  App Inventor no sería capaz de controlar el robot , pero cuando registró las funciones de Bluetooth   estaba muy sorprendido pues era capaz de enviar correctamente los datos de Bluetooth desde el robot al teléfono y viceversa con bastante facilidad.

Como podemos  intuir ,la base de este proyecto es  una placa Arduino con un modulo bluetooth  y una app realizada con el Mit App Inventor, como por ejemplo el siguiente  proyecto:

Instalación eléctrica 

Imagen de la Instalación eléctrica y parte lista
A continuación se muestra un código de Arduino que se ha usado. Siéntase libre para modificarlo.

El aspecto importante aquí es la velocidad de transmisión – asegurarse de que coincida con la velocidad de transmisión del módulo – comprobar la hoja de datos o utilizar los comandos AT para hacerlo.

const int ledPin = 2;      // the pin that the LED is attached to
byte serialA;
void setup()
{
// initialize the serial communication:
Serial.begin(19200); //baud rate – make sure it matches that of the module you got:
// initialize the ledPin as an output:
pinMode(ledPin, OUTPUT);
}

void loop() {

if (Serial.available() > 0) {serialA = Serial.read();Serial.println(serialA);}

switch (serialA) {
case 1:
digitalWrite(ledPin, HIGH);
break;
case 2:
digitalWrite(ledPin, LOW);
break;
case 3:digitalWrite(ledPin, HIGH);
delay(100);
digitalWrite(ledPin, LOW);
delay(100);
default:

break;
}

}

 

La aplicación en sí y el MIT App inventor

Foto de La aplicación en sí y App inventor
Si lo que quiere es conseguir la aplicación y verlo correr a continuación, descargue la aplicación y luego súbalo a su teléfono.
Descarga en -> https://drive.google.com/folderview?id=0B_PfPoEotOF8N2JwT3RSX011SjQ&usp=sharing

El teléfono tiene que estar configurado para permitir aplicaciones de fuera del Android Market / google play para poder descargarlos – a fin de comprobar los ajustes en tu móvil.

Ahora bien, si desea modificar la aplicación ir a  http://appinventor.mit.edu/explore/learn.html   para averiguar cómo preparar el equipo e instalar el software de la aplicación Inventor. Una vez que haya que correr le sugiero que siga  por lo menos uno o dos de sus tutoriales básicos.

BTserialModule.JPG
El circuito es tan simple como parece, así que probablemente ya tiene la mayoría de ellos.

Usted necesitará:

  1. – Placa Arduino
  2. – Módulo Bluetooth de serie (he usado un módulo btm222 en un tablero del desbloqueo con un regulador incorporado)
  3. – Un LED
  4. – Resistencia (100 ohmios)
  5. – cables
  6. – Breadboard

La única parte problemática aquí es el módulo bluetooth. Existen diferentes módulos en todo el Internet, así que asegúrese de comprobar el pinout en la hoja informativa de la que se obtiene, ya que puede variar.

Observe también que hay dos clases generales de los módulos de bluetooth:

  • Clase 1 tiene un rango de alrededor de 100 metros (300 pies)
  • Clase 2 tiene un rango de alrededor de 10 metros (30 pies)

En caso de que usted se está preguntando que son totalmente compatibles y sólo se puede llegar gama 100 metros si ambos dispositivos (es decir, el móvil y el módulo de serie) son de clase uno. Si uno de ellos es de clase 1 el rango máximo es menor.

El módulo serial del bluetooth conseguí tiene los siguientes pines de izquierda a derecha (tierra, RX, TX, no conectado, VCC). Obviamente tierra y VCC pasa respectivamente a tierra y 5 V pin de la placa Arduino. Desde estaremos reciviendo ​​los datos a través del módulo y luego a su vez de enviarlo a la placa Arduino sólo tenemos que usar el pin TX del módulo. Tienda un cable desde ese pin al pin RX de la placa Arduino. El LED es controlado a través de PIN 2 en el Arduino.

 

 

AMPLIACION DE ALCANCE:SENSOR DE TEMPERATURA

Este paso se presenta un ejemplo sobre la forma de recibir los datos de la placa Arduino por mesio  un sensor de temperatura DS18B20.La placa Arduino se comunica con el sensor con un interfaz de 1 hilo  calcula la temperatura con la ayuda de la biblioteca OneWire para Arduino y envía las lecturas a través del módulo Bluetooth cada 500 ms.
La aplicación comprueba cada 500 ms si hay datos disponibles del puerto serie. Si los datos están presentes se lee y se visualiza en la pantalla. Además, hay una opción para activar la función de texto a voz y hacer que la aplicación dicen las lecturas de temperatura cada 15 segundos.
El código arduino 
Ten en cuenta que necesitas una biblioteca OneWire – usted puede encontrar un enlace a ella aquí: http://playground.arduino.cc/Learning/OneWire

arduino code >>>>>>>

#include
int DS18S20_Pin = 2; //DS18S20 Signal pin on digital 2

//Temperature chip i/o
OneWire ds(DS18S20_Pin); // on digital pin 2

void setup()
{
// initialize the serial communication:
Serial.begin(19200);
// initialize the ledPin as an output:

}

void loop() {

float temperature = getTemp();
Serial.println(temperature); delay (500);

}

float getTemp(){
//returns the temperature from one DS18S20 in DEG Celsius

byte data[12];
byte addr[8];

if ( !ds.search(addr)) {
//no more sensors on chain, reset search
ds.reset_search();
return -100;
}

if ( OneWire::crc8( addr, 7) != addr[7]) {
Serial.println(«CRC is not valid!»);
return -1000;
}

if ( addr[0] != 0x10 && addr[0] != 0x28) {
Serial.print(«Device is not recognized»);
return -1000;
}

ds.reset();
ds.select(addr);
ds.write(0x44,1); // start conversion, with parasite power on at the end

byte present = ds.reset();
ds.select(addr);
ds.write(0xBE); // Read Scratchpad

for (int i = 0; i < 9; i++) {
data[i] = ds.read();
}

ds.reset_search();

byte MSB = data[1];
byte LSB = data[0];

float tempRead = ((MSB << 8) | LSB);
float TemperatureSum = tempRead / 16;

return TemperatureSum;}

 

 Recepción de datos – el lado de la aplicación

Aquí usted puede encontrar enlaces a la aplicación que recibe la lectura de la temperatura. También hay un código fuente que se pueden cargar en el MIT App inventor (cuando estás en ‘mis proyectos’ haga clic en el botón «Más acciones» – que tiene una opción «Upload Source ‘)

La aplicación >> http://speedy.sh/RMFgg/bluetoothforarduino-app-temperaturereadings.apk

El archivo de origen >> http://speedy.sh/SHpjj/bluetoothforarduino-app-temperaturereadings-3.zip

Algunos consejos que pueden resultar útiles si usted está tratando de crear su propia aplicación: Asegúrese de que entiende ‘byte delimitador’ los términos, saber cómo configurarlo de aplicación del MIT inventor y que es un byte tan cuidado qué tipo usted utiliza los datos. También parece que no hay ninguna función de tiempo de espera de serie aplicado en la app inventor lo que el envío de datos con más frecuencia que lo recibe puede causar que la aplicación se bloquee (probablemente porque no hay nada para vaciar el búfer)

Fuente aqui

!!AYUDA!! !SE ME HA ROTO EL CRISTAL DE LA TABLET!


En  efecto , cada vez tenemos más  y mas  dispositivos   con pantallas lcd’s  :portatiles ,tabletas ,teléfonos , consolas ,etc  ,todos ellos  muy   frágiles   por el propio panel lcd  pero que además con la llegada de las interfaces tactiles     se ha incrementado   enormemente   el riesgo de  rotura  debido a la extrema  fragilidad del digitalizador ,componente que convierte una entrada directa a la entrada táctil analógica digital pudiendo ser de  activos, que se utilizan para la entrada de escritura a mano, o capacitivos, que se utilizan para la entrada táctil digital.

Los diferentes tipos de digitalizadores de pantalla táctil,que suelen ir adherido al panel lcd ,funcionan con diferentes tecnologías, pero la mayoría se encuentran en la parte superior de la pantalla y suelen tener un sustrato  de cristal   de modo que si  tocas la pantalla con un puntero capacitivo  o con cualquier  dedo  con software se pueden introducir datos .  De hecho el digitalizador es el dispositivo principal o único de entrada para algunos de los teléfonos inteligentes de hoy en día, al igual que en las mayoria de las tabletas e incluso ordenadores gracias a que sus sistemas operativos (Android,IOS,Windows 8)    reconocen diversos gestos o patrones de tacto para interpretar cosas diferentes. Al tocar y deslizar hacia un lado puedes dar vuelta una página o hacer un cambio de pantallas, mientras que un golpe cito puede activar otra función.

Cuando se nos cae una tableta   da igual cuantas capas de cristal reforzado tenga, que de una forma u otra al final siempre se acaba rompiendo y dañando. Si esta caída es desde una altura considerable, los daños muchas veces son irreparables.

Una solución fácil es mandarlo al servicio técnico de la marca y pagar normalmente una enorme cantidad de dinero para arreglar la pantalla o el digitalizador que en algunos casos podria acercarse al  precio del la propia tableta ,por lo que nos preguntamos si no existen más alternativas en ese peliagudo momento en que nuestra pantalla táctil no responde. 

Vemos pues que el digitalizador es un componente básico de muchos dispositivos  ,pero si se nos rompe por una caída accidental ,esto no significa debido al alto coste de su sustitución ,decir  adiós a la tableta,teléfono,etc

En este post  veremos que si sabemos aprovechar las circunstancias podemos cómo sacar provecho de las debilidades

¿Qué podemos hacer si la pantalla táctil está rota? Pues básicamente podemos barajar las siguientes opciones:.

 

Opcion 1:repararla

El digitalizador  de la pantalla, dependiendo de donde resida, según el modelo de la tableta  y de sus dimensiones puede costar 70€ o más (algunos modelso al llevar dos paneles téctiles y una caratula externa que también se suele vender aparte,pueden costar mas ) pero  si no estás muy puesto en electrónica, dado que  son componentes muy pequeños y encajados de forma que después de abrirlo no  será fácil volver a cerrarlo sin romper algo. 
Dependiendo del técnico al que se lo lleve puede cobrar unos 30€ por el trabajo, con lo que se te iría la reparación a unos 100€ . Ya es cuestión valorar si le merece la pena repararla,en funcion del coste de la tableta….

Obviamente otra opción seria reemplazar por uno mismo el digitalizador ,tareas que sera mas fácil si encontramos en la red el desmontaje de nuestro dispositivo( youtube es una buena referencia)

 

Opcion2:Desmontar el digitalizador

 

 La tecnología USB-on-the-go será su mejor aliada. Para ello necesitaremos un cable   OTG (transforme mini-usb en usb, que lo podemos encontrar por dos o tres euros en cualquier tienda. Si su tableta tiene el soporte para USB OTG (casi todas las modernas lo tienes) entonces simplemente conectaremos el ratón por medio del cable otg a la tableta y funcionará tranquilamente y por tanto podremos acceder con un ratón   de modo similar a como lo haríamos con el interfaz tactil. De la misma manera podremos disponer de un teclado.

Lo primero sera  sacar la   SD  o micro sd de la tableta  y luego  desmontarla para poder sacar el cristal roto.Normalmente las tabletas llevan 4 tornillos “ocultos” en cada esquina por lo que usar un alfiler para sacar la protección y acceder a los tornillos es indispensable. Una vez abierta toca quitar la pantalla para acceder al cristal, (se recomienda  paciencia y cuidado a la hora de separar las pestañas de los laterales). Como matiz: de la placa base , salen hasta 2 cables de cinta  (planas) la central está conectada a la parte trasera de la pantalla con una ligera pestaña que podremos abrir sin problemas para contar con más libertad a la hora de acceder al cristal, para volverlo a colocar con juntar el cable suelto a la pestaña y cerrarla bastará, la dificultad es nula.

 

Una vez esto toca una parte en la que hay que tener cuidado: sacar los cristales con unos guantes, ( cuidado pues cortan bastante). También se recomienda el uso de destornilladores de cabeza plana y pinzas. Una vez hecho esto no quedaba  volverla a montar para  prepararla para un nuevo uso,para lo cual se puede  limpiar la parte interna de la pantalla (el plástico que queda tras quitar el cristal) .

 

tableta

Ya tenemos nuestra tablet montada para un nuevo uso pero ¿Cómo manejarla? Lo primero es conectar un ratón cualquiera (usb) al puerto OTG   por medio de un cable OTG  y reiniciarla , de esta forma al arrancar de nuevo  veremos un puntero con el cual realizar lo que deseemos.

Una vez tengamos control sobre la tableta  podemos  eliminar todos aquellos juegos o utilidades que requieran el uso del dedo (manera tradicional),pero mantener otras apps pues la mayoria funcionaran

Estas son dos de los usos que podemos  destinar una tableta sin el digitalizador:

 

USO OFIMATICO 

Si conectamos  un teclado usb tendremos mayor control,por lo que perdemos una tablet pero ganamos un mini-pc; de hecho  podemos  conectar  un cable de red al router, de  forma que  podremos navegar por la red como si estuviésemos con un pc tradicional. Normalmente las tablets vienen con cable doble usb por lo que podremos sincronizar archivos de un pc a nuestra “nueva” tablet. Si tenemos un pen drive siempre podremos añadir películas, música o fotografías y verlas desde nuestra “nueva” tablet.

 

La principal ventaja de nuestro “nuevo” mini pc es que es ideal para navegar por la red o realizar trabajos que no requieran potencia como puedan ser escribir. Otro punto a destacar es que la rapidez de carga inicial en nuestro “nuevo” pc será más elevada que la de un pc tradicional.

USO LUDICO

 

Un uso más que aconsejable es descargar e instalar algún programa para ver la televisión :por ejemplo clantv para los mas pequeños o  Imagenio TV en caso de tener  suscripción de Imagenio  . También os será útil si tenéis otro pc ya que podréis realizar videoconferencias ( por ejemplo con  Skype)  mientras hace otras cosas en el pc tradicional a pantalla completa.

 

opcion 3 :Control remoto

Aparte del bluetooth, el wifi nos permitirá controlar nuestro smartphone. Lasaplicaciones de control remoto son muy numerosas, y hay unas cuantas que nos permiten utilizar el ratón y teclado de nuestro PC para controlar el smartphone. Gracias a Androidscreencast podemos llegar a tener un control sobre Android de manera similar a la que tendríamos con un raton y teclado bluetooth.

Mas nformacion  aqui