|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  Raspberry Pi Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  AutoIt (Programación) Visual Basic Cosas de Windows Webs interesantes
Translate:
Búsqueda en este sitio:


.

App inventor 2 en español
Cómo programar los teléfonos móviles con Android.
Bluetooth, Arduino y App inventor 2 - Juan Antonio Villalpando

-- Tutorial de iniciación de App Inventor 2 en español --

Volver al índice del tutorial

___________________________________________________________
9H3.- Dos pantallas en Bluetooth. Screen1. Pantallas reales. Deslizadores.

p9H4_pantalla_real_BT.aia

- En el ejemplo anterior, vimos cómo podíamos simular dos pantallas en la Screen1 mediante dos DisposiciónVertical para trabajar con Bluetooth, ya que al pasar de una Screen1 a otra Screen2, el Bluetooth pierde la conexión. Este es el método aconsejado. A este tipo de "pantallas" se le denomina "pantallas virtuales".

- Ahora vamos a utilizar dos pantallas reales Screen1 y Screen2 y utilizaremos el Bluetooth en las dos pantallas.

- El "truco" para realizar esto es desconectar el Bluetooth de una pantalla cuando vamos a pasar a la otra. Cuando se inicie esa otra pantalla, volver a realizar la conexión del Bluetooth.

- El ejemplo que utilizaré será de dos Deslizadores, al moverlos enviarán dos números (48,32) al Arduino por Bluetooth, éste los sumará y devolverá el resultado a la aplicación (80). Estos Deslizadores estarán en las dos pantalla Screen1 y Screen2, serán independientes.

____________________________
- Forma de conectarlo.

- Observa que el RXD del módulo va al terminal 1-TX del Arduino y el TXD del módulo va al 0-RX del Arduino.

_______________________
- Código del Arduino.

deslizadores_2_pantallas.ino
 
// Juan A. Villalpando
// kio4.com

String texto;
String a;
String b;
float suma = 0.0;

void setup() { 
 Serial.begin(9600);
 Serial.setTimeout(200);
}

void loop() { 
  if(Serial.available()) {
    // texto = Serial.readString();
    // Serial.println(texto);
    a =  Serial.readStringUntil(',');
    b =  Serial.readStringUntil('\n');
    suma = a.toFloat() + b.toFloat();
   // Serial.println(a);
   // Serial.println(b);
    Serial.println(suma);
  }
} 

___________________________________________________________
- Diseño Screen1.

- Reloj1.IntervaloDelTemporizador = 100
- ClienteBluetooth1.ByteDelimitador = 10

_________________
- Bloques Screen1.

- Según pulsemos el Botón1 o el Botón2, se hará Visible un DisposiciónVertical y se ocultará el otro.

___________________________________________________________
- Diseño Screen2.

- Reloj1.IntervaloDelTemporizador = 100
- ClienteBluetooth1.ByteDelimitador = 10

_________________
- Bloques Screen2.

_________________
-
Comentarios.

- La primera vez que ejecutamos la aplicación pulsamos en "Selecciona y Conecta", elegimos un Bluetooth y conectamos.

- Las siguientes veces que ejecutemos la aplicación ya no será necesario el paso anterior, ya que la Mac del Bluetooth elegido se ha guardado en una TinyBD.

- Movemos los Deslizadores, se enviará mediante el bloque "EnviarTexto" un par de números de la forma: 48.15,32.76 al Arduino por Bluetooth. Observa que son números con dos decimales.

- He puesto un Reloj1 ya que el Deslizador se puede mover rápido, en cambio el dato no se puede enviar de la forma tan rápida como mueves el Deslizador, por eso pongo un Reloj para enlentecer un poco los cambios. El Reloj se activa cuando muevo el Deslizador y se desactiva cuando ya ha enviado el dato.

- El dato 48.15,32.76 llega al Arduino, mediante la función readStringUntil, separa el dato en dos partes por la coma, a = 48.15 b = 32.76

- Convierte esos Strings a números float, los suma y los devuelve a la aplicación mediante Serial.println(suma);

- La aplicacion recibe la suma y la muestra en la Etiqueta5

- Al pulsar el Botón "Ve a Screen2" observamos que se DesconectaBluetooth1 y se envía a la Screen2 la Mac.

- La Screen2 toma esa Mac mediante "tomar el valor inicial" y conecta el Bluetooth1 de su pantalla.

- He puesto un pequeño retardo del 1 al 10000 para mejorar la conexión.

- Los Deslizadores de la Screen2 son independientes de los de la Screen1.

- Cuando cerramos esta Screen2 se desconecta su Bluetooth1, volvemos a la Screen1, mediante el bloque de la Screen1 "OtraPantallaCerrada", la Screen1 vuelve a conectar su Bluetooth1.

__________________________________

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información