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
___________________________
9X.- Dos Arduino-Bluetooth y un App Inventor.
- Tenemos dos Arduinos con un módulo Bluetooth cada uno.
- Vamos a conectar los dos a la vez a un App Inventor.
- Desde el App Inventor podemos encender/apagar el LED13 de cada Arduino.
- Cada Arduino tendrá un teclado, al pulsar una tecla se mostrará en App Inventor.
- Arduino.
_______________________________________________
- Conexión de los dos Arduinos.
- Bluetooth conectado a los puertos Serie "oficiales" RX-0 y TX-1 (Fíjate que se conectan de forma "cruzada").
- Utilizamos un teclado como el indicado en la figura.
- Para utilizar menos conexiones en el Arduino, he utilizado un módulo I2C.
- Puedes ver el tutorial del teclado en: 49B.- Teclado táctil adaptado a I2C. Adaptador de 8 conexiones a Bus I2C con PCF8574.
- Es necesaria la librería Keypad_I2C, que puedes bajar del tutorial anterior.
- Si no tienes o no quieres utilizar el teclado, puedes poner simplemente un pulsador como hemos visto en otros tutoriales.
- Debemos quitar al módulo para cargar la aplicación.
- Puedes consultar valores en el Serial Monitor.
- Si conectamos al Bluetooth en los terminales RX-0 y TX-1, como en este caso, no hace falta librería para el Bluetooth.
- El Bluetooth lo podríamos conectar en otros terminales distintos, en esta caso necesiataríamos una librería como indicaré en el siguiente tutorial.
- El \n indica fin de línea, es decir que le comunica al receptor que ha acabado esta tanda de envío.
- Cada módulo I2C conectado tiene una dirección distinta, en el tutorial anterior hay un programita para obtener la dirección del módulo I2C.
- Este código lo cargamos en los dos Arduinos, solo debemos cambiar la dirección I2C de cada uno en esta línea:
int i2caddress = 0x27; // Debes cambiar esta dirección por la de tu módulo.
arduino_2_bt.ino |
// Juan A. Villalpando
// KIO4.COM
#include <Wire.h>
#include <Keypad_I2C.h>
char val;
#define LED13 13
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {0,1,2,3};
byte colPins[COLS] = {4,5,6,7};
int i2caddress = 0x27; // Debes cambiar esta dirección por la de tu módulo.
Keypad_I2C kpd = Keypad_I2C( makeKeymap(keys), rowPins, colPins, ROWS, COLS, i2caddress);
void setup(){
Serial.begin(9600);
kpd.begin();
pinMode(LED13, OUTPUT);
}
void loop(){
// Leer datos.
if( Serial.available() ) {
val = Serial.read();
if( val == '1' )
{ digitalWrite(LED13, HIGH);}
if( val == '2' )
{ digitalWrite(LED13, LOW);}
}
// Enviar datos.
char key = kpd.getKey();
if (key){
Serial.print(key);
Serial.print("\n"); // Fin de línea. Importante.
}
delay(100);
}
|
- App Inventor.
_______________________________________________
- Al pulsar el teclado de los Arduinos se obtiene su valor en App Inventor.
- Al pulsar un Botón en App Inventor se enciende/apaga el LED13.
p9X_2_bluetooth.aia
_______________________________________________
- Diseño.
- Recuerda poner DelimiterByte = 10
- El IntervaloDeReloj = 50
_______________________________________________
- Bloques.
_______________________________________________
- Comentarios.
- Se permite la conexión simultánea de hasta 7 Bluetooth.
_______________________________________________
- El mismo código en inglés.
p9X_2i_bluetooth.aia
__________________________________
|