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
___________________________
9F.- App inventor, Bluetooth, Arduino y Ultrasonido.
- Un sensor de ultrasonido envía la distancia de un objeto a Android mediante BT.
[Nota: en esta página tenemos otro código parecido.]
____________________________
- Forma de conectarlo.
Módulo Ultrasonido |
Arduino |
Trig |
Al terminal 8 del Arduino |
Echo |
Al terminal 9 del Arduino |
Módulo
Bluetooth |
Arduino |
TXD |
Al terminal 10 del Arduino |
RXD |
Al terminal 11 del Arduino |
_______________________
- Código del Arduino.
ultrasonido_arduino.ino |
// Juan Antonio Villalpando
// juana1991@yahoo.com
// kio4.com
#include <SoftwareSerial.h>
const int trig = 8;
const int echo = 9;
const int delay_time = 1000; // Retardo de cada medida
SoftwareSerial BT(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
void setup() {
BT.begin(9600);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
}
void loop() {
float duracion;
float distancia;
digitalWrite(trig, HIGH);
delayMicroseconds(1000);
digitalWrite(trig, LOW);
duracion = pulseIn(echo, HIGH);
distancia = (duracion / 2) * 0.034;
//distancia = tiempo de ida y vuelta del sonido dividido entre dos, por la velocidad del sonido.
delay(delay_time);
int DatoaEnviar = (int) (distancia * 100);
byte Datos[3];
Datos[0] = 97; // Clave de comunicación entre el móvil y Arduino.
Datos[1] = DatoaEnviar/256; // Viene con 1023 valores, debe pasarlo a dos bytes.
Datos[2] = DatoaEnviar%256;
if(BT.available() > 0)
if(BT.read() == 97) // Clave de conexión con el móvil
{
BT.write(Datos[0]);
BT.write(Datos[1]);
BT.write(Datos[2]);
}
} |
___________________________________________________________
9F.- Arduino envía el valor de un ultrasonido a Android.
p9F_arduino_ultrasonido_movil.aia
_________________
- Diseño.
- El Intervalo del Reloj lo ponemos a 100 milisegundos.
_________________
- Bloques.
_________________
- Comentarios.
- Observa que el código anterior no tiene variables.
- El Dato2 no va a ser negativo.
- Lee esto en relación a los terminales de conexión TX y RX
_________________
- Propuesta.
- Cambia el código de App inventor para que se parezca al del tutorial anterior del Potenciómetro. Con variables. En vez del 97 utiliza la 'a'.
__________________________________
|