|     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. Pantallas virtuales. Envía y recibe información.

p9H3_pantalla_virtual_BT.aia

- A veces queremos tener una pantalla Screen1 para realizar la conexión por Bluetooth y otra Screen2 para obtener los datos

- Pero si conectamos con la Screen1, al pasar a la Screen2 se pierde la conexión de Bluetooth.

- Una manera de arreglar este problema es trabajar solamente en la Screen1, poner un par de DisposiciónVertical, en uno de ellos ponemos la parte de conexión y en el otro DisposiciónVertical ponemos la parte de obtención de datos.

- Según queramos que se vea uno u otro DisposiciónVertical, ponemos uno Visible y el otro No Visible.

- En este ejemplo vamos a encender/apagar el LED13 y obtener el estado del LED13.

____________________________
- 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.

- En este código no es necesaria la librería <SoftwareSerial> ya que está conectado a los terminales 0 y 1.

envia_recibe_2_pantallas.ino
 
// Juan Antonio Villalpando
// juana1991@yahoo.com
// kio4.com

#define LED13 13

void setup()
{
  Serial.begin(9600);
  pinMode(LED13, OUTPUT);
}

void loop() {
  
  if(Serial.available())
  {
    int dato = Serial.read();
    if(dato == 1){digitalWrite(LED13, HIGH);}
    if(dato == 0){digitalWrite(LED13, LOW);}
    if(dato == 222){consultar_LED();}

    // consultar_LED();
  }
}

void consultar_LED(){
    byte estado_LED13 = digitalRead(LED13);  // Estado del LED13.
    Serial.print(estado_LED13); 
 }

___________________________________________________________
- Diseño.

- Arriba ponemos un DisposiciónHorizontal con dos Botones. Color de fondo Azul.

- Ponemos un DisposiciónVertical1 con un Alto de Ajustar al Contenedor. Color de fondo Naranja.

- Ponemos un DisposiciónVertical2 con un Alto de Ajustar al Contenedor. Color de fondo Rosa.

_________________
- Bloques.

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

- Fíjate que realizamos la conexión escribiendo directamente el número Mac de nuestro Bluetooth.

- Si enviamos por Bluetooth el número 1, se Encenderá el LED13.

- Si enviamos por Bluetooth el número 0, se Apagará el LED13.

- Si enviamos por Bluetooth el número 222, se Consultará el estado del LED13. Para esto se utilizará el Reloj.

- Si recibimos el 49 significa que el LED13 está Encendido.

- Si recibimos el 48 significa que el LED13 está Apagado.

_________________
-
Comentarios.

- En el Diseño, los DisposiciónVertical tiene la Propiedad Visible, la puedes marcar o desmarcar.

- Encima de la pantalla hay un casillero con "Mostrar en el Visor los componentes ocultos". Mientras estás creando los componentes puedes poner algunos No Visible, pero cuando marca ese casillero se muestra Visible.

- En fin, jugando con Visible, No Visible y las Alturas de los DisposiciónVertical, puedes adaptar esta doble pantalla virtual.

_________________
-
En inglés.

p9H3i_pantalla_virtual_BT.aia

______________________________________________________

- ¿Cómo puedo conocer la Mac de mi Bluetooth?

_________________
-
Pantalla virtual. Recibe valor aleatorio del Arduino. Lo presenta en tabla mediante la extensión TableView.

p9H3i_pantalla_virtual_BT2.aia

- https://community.appybuilder.com/t/tableview-extension-v3/15122

- En el RowDelimiter debe estar en: \n

- Arduino crea cada segundo un número aleatorios del 0 al 100.

- La aplicación recibe esos números y los presenta.

- Si pulsamos el botón "Save", el valor actual se guardará en una Lista.

- Si pulsamos el botón "View", veremos una tabla con los valores guardados.

_________________
-
Diseño.

_________________
-
Bloques.

_________________
-
Código Arduino.

aleatorio.ino
 
void setup() {
 Serial.begin(9600);
}

void loop() {
int aleatorio = random(0, 100);

Serial.print(aleatorio);
Serial.print("\n");
delay(1000);
}

 

__________________________________

- 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