|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  AutoIt (Programación) Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  Teleco - Emisora de A.M. 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

___________________________

9E.- App inventor, Bluetooth, Arduino y Potenciómetro.

- Movemos el cursor de un potenciómetro conectado a Arduino. Mediante Bluetooth Arduino enviará el valor del potenciómetro a Android.


- Lo he realizado con el IDE 1.0.6 (Baja el IDE 1.06 de aquí), pero también funcionará con otros IDE.

- Arduino UNO.

- Módulo Bluetooth para conectarlo al Arduino, utilizo el HC06

Viene a costar unos 2,6 €.
(Cuidado que hay unos módulos que valen menos de 2 € y no traen los chips de bluetooth, mira en las fotos que por una de la cara tengan los chips como indico en la foto de abajo)

_______________________________________________
- Conexionado del módulo Bluetooth y el Arduino.

- Lo primero es conectar nuestro módulo Bluetooth al Arduino. Debemos tener mucho cuidado de no permutar la alimentación Vcc (+) y Gnd (-), si nos equivocamos y lo conectamos en el sitio equivocado el módulo se averiará inmediatamente.

- El módulo que he comprado Arduino Bluetooth Wireless Serial Port Module admite tensiones comprendidas entre 3,6 V y 6 V.

- En la foto muestro dos módulos Bluetooth, uno en anverso y otro en reverso. Observamos 4 pines (Vcc, Gnd, Txd y Rxd).

- Además hay otras dos posibles conexiones (State y Key) que no nos hacen falta y no utilizaremos.

- También se nos suministra un cable para conectarlo al Arduino.

____________________________
- Forma de conectarlo.

[- Fíjate que se ha conectado a los terminales 10 y 11 en vez del RX-0 y TX-1.]

Módulo Bluetooh
Arduino
VCC 5 V
GND GND
TXD Al terminal 10 del Arduino
RXD Al terminal 11 del Arduino

- Cuando realizamos la conexión anterior y lo conectamos mediante el cable USB al ordenador para programarlo, el LED rojo del módulo Bluetooth parpadeará continuamente, eso significa que está en funcionamiento.

- Fíjate que conectamos a los terminales 10 y 11, esto lo comentaré al final de esta página.

_________________________________
- Emparejamiento de los Bluetooth.

- Llamamos emparejamiento al reconocimiento entre dos dispositivos Bluetooth.


- Conectamos el módulo Bluetooth al Arduino. El LED rojo del módulo Bluetooth parpadeará.


- Encendemos nuestro teléfono móvil y activamos la conexión Bluetooth.

- Pulsamos sobre Bluetooth y nos saldrá una pantalla que indicará los dispositivos disponibles, es decir los dispositivos con Bluetooth encendido que hay en nuestra proximidad.
- Detecta el Bluetooth del Arduino denominado linvor. Pulsamos sobre él.
En otras versiones el múdulo de Bluetooth se llama HC-06

 

- En la siguiente pantalla escribiremos la contraseña de sincronización, que será 1234.

- Ya tenemos al Bluetooth del móvil y del Arduino sincronizados.

- Si en algún momento tenemos problemas de sincronización, desconectamos el Bluetooth del Ardunio y repetimos la operación.
- O bien pulsamos sobre el icono de la derecha de linvor y luego Desvincular. En otras versiones el múdulo de Bluetooth se llama HC-06

_______________________
- Código del Arduino.

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

#include <SoftwareSerial.h>
#include <Wire.h>
SoftwareSerial I2CBT(10,11);
// El TX del módulo BT va al pin 10 del Arduino
// El RX del módulo BT va al pin 11 del Arduino

byte serialA;
void setup(){

  I2CBT.begin(9600);
  Serial.begin(9600);
}

void loop (){
// Se van a enviar 3 datos. El 0, el 1 y el 2.
    byte Datos[2];

// El terminal central del potenciómetro va a A0 del Arduino
    int i=analogRead(A0);
    serialA=I2CBT.read();
    Datos[0]='a';
    Datos[1]=i/256;
    Datos[2]=i%256;
// Por ejemplo, lee 876.
// Para obtener el Dato[1]= 876/256 = 3 (Número entero)
// Para obtener el Dato[2] = 876 mod 256 = 108 (El resto de esa división)

// Envío de datos.
     if (serialA == 49){
      I2CBT.write(Datos[0]);
      I2CBT.write(Datos[1]);
      I2CBT.write(Datos[2]);
      serialA=0; 
      }
  delay(100);    
}

_________________
-
Comentarios.

- Se van a enviar tres bytes (8 bits cada uno). Datos[0], Datos[1] y Datos[2]

- El potenciómetro dará niveles de 0 a 1023, por lo cual necesitaremos dos datos para enviar esa información.

- Por eso hacemos:

Datos[1]=i/256;
Datos[2]=i%256;

- Además enviamos el caracter "a" para indicar que hemos enviado datos.

- El Dato[2] es un byte con signo, por eso en el código de App inventor consultaremos su signo.

___________________________________________________________
9E.- Arduino envía el valor de un potenciómetro a Android.

p9E_arduino_pot_movil.aia

- Al mover el potenciómetro saldrá su valor óhmico en la Etiqueta1 de la aplicación.

_________________
- Diseño.

- El Intervalo del Reloj lo ponemos a 10 milisegundos.

_________________
- Bloques.

_________________
-
Comentarios.

- Cada 10 milisegundos el Reloj consulta si hay bytes disponibles, en ese caso recibe los dos datos correspondiente al valor enviado por el potenciómetro.

- El proceso es el siguiente. Android envía cada 10 ms el caracter 49, que corresponde a la letra 'a'

- Si Arduino por BT recibe el caracter 'a' le envía al Android sus datos del potenciómetro.

- Recibe dos bytes del valor del potenciómetro, ya que este puede valer hasta 1023

- Es un continuo diálogo enviando 49 o el caracter 'a' entre uno y otro disitivo continuamente.

- El Dato2 consultamos si es negativo, en ese caso le sumamos 256.

______________________________________________________
______________________________________________________
9E2.-
En vez de un Reloj ponemos un Botón.

p9E2_arduino_pot_boton_movil.aia

- En vez de un Reloj que obtiene el valor de potenciómetro automáticamente vamos a poner un Botón, cuando lo pulsemos obtendremos el valor de potenciómetro.

- El código de Arduino es el mismo que el del tutorial anterior.

_________________
- Diseño.

_________________
- Bloques.

______________________________________________________
______________________________________________________

-
Con dos potenciómetros movemos una imagen.

p9E2_arduino_pot2_movil.aia

- Envía los datos de dos potenciómetros...

- En este caso tenemos dos potencíometros uno conectado al A0 y otro al A1 del Arduino.

- Al mover los potenciómetro se mueve un avioncito por la pantalla del móvil.

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

#include <SoftwareSerial.h>
#include <Wire.h>
SoftwareSerial I2CBT(10,11);
byte serialA;

void setup(){
I2CBT.begin(9600);
}

void loop (){
byte Datos[6];

int x=analogRead(A0);
int y=analogRead(A1);

serialA=I2CBT.read();
Datos[0]='a';
Datos[1]=x/256;
Datos[2]=x%256;
Datos[3]='b';
Datos[4]=y/256;
Datos[5]=y%256;

if (serialA == 49) {
      I2CBT.write(Datos[0]);
      I2CBT.write(Datos[1]);
      I2CBT.write(Datos[2]);
I2CBT.write(Datos[3]);
I2CBT.write(Datos[4]);
I2CBT.write(Datos[5]); serialA=0; } delay(100); }

_________________
- Diseño.

_________________
-
Bloques.

__________________________________

 

- 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