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
___________________________
9M.- App inventor, Bluetooth, Arduino. Sensor de humedad. Pantalla LCD.
- En un tutorial de Arduino vimos un sensor de humedad y temperatura.
- Ahora vamos a visualizar la humedad y temperatura en una pantalla LCD y además vamos a enviar los valores de humedad y temperatura por Bluetooth al Android.
- Para estudiar la pantalla LCD consulta mi tutorial en... Pantalla LCD.
- En este tutorial utilizaremos los códigos vistos en Potenciómetro de Arduino a Android
____________________________
- Forma de conectarlo.
Módulo Bluetooh |
Arduino |
VCC |
5 V |
GND |
GND |
TXD |
Al terminal 10 del Arduino |
RXD |
Al terminal 11 del Arduino |
- En mi caso he conectado el LED al terminal 6.
- El módulo DH-11 está conectado al terminal 2.
_______________________
- Código del Arduino.
humedad_BT.ino |
// Juan Antonio Villalpando
// juana1991@yahoo.com
// kio4.com
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
// LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
#include <SoftwareSerial.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;
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
lcd.begin(16,2);// Columnas y filas de LCD
Serial.begin(9600);
I2CBT.begin(9600);
dht.begin();
}
void loop(){
float humedad = dht.readHumidity();
float temperatura = dht.readTemperature();
lcd.clear(); // Borra pantalla
lcd.setCursor(0,0); // Inicio del cursor
lcd.print("Temper. = ");
lcd.print(temperatura);
lcd.setCursor(0,1); // Siguiente renglón.
lcd.print("Humedad = ");
lcd.print(humedad);
delay(100);
// Bluetooth
// Se van a enviar 3 datos. El 0, el 1 y el 2.
byte Datos[2];
serialA=I2CBT.read();
Datos[0]='a';
Datos[1]=temperatura;
Datos[2]=humedad;
// Envío de datos.
if (serialA == 49){
I2CBT.write(Datos[0]);
I2CBT.write(Datos[1]);
I2CBT.write(Datos[2]);
serialA=0;
}
delay(100);
} |
___________________________________________________________
9M.- Sensor de humedad y temperatura. Pantalla LCD. Bluetooth.
p9M_humedad BT.aia
- En un tutorial de Arduino vimos un sensor de humedad y temperatura.
- Ahora vamos a visualizar la humedad y temperatura en una pantalla LCD y además vamos a enviar los valores de humedad y temperatura por Bluetooth al Android.
- Para estudiar la pantalla LCD consulta mi tutorial en... Pantalla LCD.
- En otro tutorial vimos cómo enviar datos desde un potenciómetro de Arduino a Android.
- Vamos a unir esos dos tutoriales.
_________________
- Diseño.
- El Intervalo del Reloj lo ponemos a 10 milisegundos.
- Es el mismo diseño que vimos en el tutorial potenciómetro de Arduino a Android. Aunque en este caso no utilizaremos la Etiqueta1.
_________________
- Bloques.
- Son los mismos bloque que vimos en el tutorial potenciómetro de Arduino a Android. Aunque en este caso he anulado algunos.
_________________
- Comentarios.
- Se puede modificar el código para que cuanto la temperatura o humedad alcancen un determinado valor, se encienda el LED6.
- En vez de utilizar un Reloj para obtener los valores automáticamente, podríamos haber puesto un botón, al pulsarlo obtendremos los valores como vimos en el tutorial potenciómetro de Arduino a Android (P9E2).
__________________________________
|