10-02-2014, 06:55 PM
Me comprometí a hacer un tutorial y aquí lo tenéis, espero que os sirva de algo :one:
Módulo utilizado: JY-MCU HC-06
Esquema de conexiones:
Para explicar el uso de este módulo voy a usar esta sencilla aplicación que consiste en encender y apagar 3 leds diferentes. El aspecto de la aplicación podría ser una cosa así, el diseño es a gusto de cada uno :
Este es el entorno donde vamos a trabajar:
A la derecha del editor nos aparecerá una lista con todos los elementos que estamos usando, es muy recomendable nombrar cada cosa para luego no volvernos locos en el editor de bloques.
Es fundamental añadir el cliente bluetooth para que funcione se encuentra en el menú de la izquierda, dentro de "Other stuff".
Una vez tengamos hecho el diseño de la aplicación toca asignar funciones a cada elemento, para ello, abrimos el editor de bloques con el siguiente botón:
Se nos abrirá esta ventana, donde iremos colocando los bloques que vamos a utilizar. En el menú de la izquierda podemos ver todos los que tenemos disponibles:
Ahora vayamos por partes...
Empezaremos declarando la variable "MAC", asignándole la dirección de nuestro módulo bluetooth (podemos saber la dirección por ejemplo con la app Bluetooth Terminal - Link).
En el campo de texto donde pone "DIRECCION MAC", tendremos que poner la dirección tal cual nos aparece en el móvil, algo así: XX:XX:XX:XX:XX:XX
Seguimos ahora con el botón para conectarnos con el módulo desde la aplicación.
- Realizamos una comprobación de la MAC del módulo para ver si está funcionando.
En el caso de que si lo esté:
- Cambia el texto del botón por "Desconectar"
- Cambia el color del texto a gris.
- Se envía una cadena de texto cualquiera para que el otro extremo "sepa con quien hablar".
Primero, al pulsar el botón de encender "on", tenemos que:
- Se envía un "1", que usaremos para encender en este caso el led rojo con el arduino.
- Desactivamos el botón de encender para este led.
- Activamos el botón de apagado (previamente en el diseño lo marcamos para que esté desactivado en el inicio).
Segundo, una vez desactivado el botón de encender y activado el de apagar "off", si pulsamos este último:
- Se envía una "A", que usaremos para apagar en este caso el led rojo con el arduino.
- Desactivamos el botón de apagar para este led.
- Activamos nuevamente el botón de encendido.
(Las cadenas de caracteres que le enviamos al arduino, pueden ser cualquier texto, solo hay que poner luego lo mismo en la parte del código donde corresponda.)
De está forma quedaría para los 3 leds:
Y este sería el resultado final, añadiéndole al botón "salir" la acción de cerrar la aplicación:
Código de arduino para este ejemplo:
Montaje en protoboard:
IMPORTANTE:
- El código para emparejar el módulo bluetooth con el dispositivo, suele ser "1234".
- Si se usan los pines 0 y 1 del arduino (Rx y Tx), a la hora de cargar el sketch hay que desconectarlos y una vez se haya cargado los volvemos a conectar. En el caso de que queráis usar otros pines digitales para no tener problema con esto, tendréis que usar la librería SoftwareSerial.h. Aquí podéis encontrar más información: http://arduino.cc/es/Reference/SoftwareSerial
AppInventor: http://appinventor.mit.edu/explore/classic.html
AppInventor 2: http://ai2.appinventor.mit.edu/
Versión para descargar (Windows): http://beta.appinventor.mit.edu/learn/se...ndows.html
Animaros a realizar algún proyecto implementando esto y lo publicáis aquí en el foro!! :yeah:
Si tenéis alguna pregunta, duda o sugerencia ponedla aquí en el hilo
Módulo utilizado: JY-MCU HC-06
Esquema de conexiones:
Para explicar el uso de este módulo voy a usar esta sencilla aplicación que consiste en encender y apagar 3 leds diferentes. El aspecto de la aplicación podría ser una cosa así, el diseño es a gusto de cada uno :
Este es el entorno donde vamos a trabajar:
A la derecha del editor nos aparecerá una lista con todos los elementos que estamos usando, es muy recomendable nombrar cada cosa para luego no volvernos locos en el editor de bloques.
Es fundamental añadir el cliente bluetooth para que funcione se encuentra en el menú de la izquierda, dentro de "Other stuff".
Una vez tengamos hecho el diseño de la aplicación toca asignar funciones a cada elemento, para ello, abrimos el editor de bloques con el siguiente botón:
Se nos abrirá esta ventana, donde iremos colocando los bloques que vamos a utilizar. En el menú de la izquierda podemos ver todos los que tenemos disponibles:
Ahora vayamos por partes...
Empezaremos declarando la variable "MAC", asignándole la dirección de nuestro módulo bluetooth (podemos saber la dirección por ejemplo con la app Bluetooth Terminal - Link).
En el campo de texto donde pone "DIRECCION MAC", tendremos que poner la dirección tal cual nos aparece en el móvil, algo así: XX:XX:XX:XX:XX:XX
Seguimos ahora con el botón para conectarnos con el módulo desde la aplicación.
- Realizamos una comprobación de la MAC del módulo para ver si está funcionando.
En el caso de que si lo esté:
- Cambia el texto del botón por "Desconectar"
- Cambia el color del texto a gris.
- Se envía una cadena de texto cualquiera para que el otro extremo "sepa con quien hablar".
Primero, al pulsar el botón de encender "on", tenemos que:
- Se envía un "1", que usaremos para encender en este caso el led rojo con el arduino.
- Desactivamos el botón de encender para este led.
- Activamos el botón de apagado (previamente en el diseño lo marcamos para que esté desactivado en el inicio).
Segundo, una vez desactivado el botón de encender y activado el de apagar "off", si pulsamos este último:
- Se envía una "A", que usaremos para apagar en este caso el led rojo con el arduino.
- Desactivamos el botón de apagar para este led.
- Activamos nuevamente el botón de encendido.
(Las cadenas de caracteres que le enviamos al arduino, pueden ser cualquier texto, solo hay que poner luego lo mismo en la parte del código donde corresponda.)
De está forma quedaría para los 3 leds:
Y este sería el resultado final, añadiéndole al botón "salir" la acción de cerrar la aplicación:
Código de arduino para este ejemplo:
Código:
//Ejemplo de control de 3 LEDs mediante un módulo bluetooth y un dispositivo Android. SpainLabs.com
String dato; //Variable de tipo cadena para guardar los datos recibidos
int rojo= 8;
int naranja= 9;
int verde= 10;
void setup() {
Serial.begin(9600); //Iniciamos comunicación serial
//Salidas digitales
pinMode(rojo, OUTPUT);
pinMode(naranja, OUTPUT);
pinMode(verde, OUTPUT);
}
void loop() {
while (Serial.available()) {
delay(10);
if (Serial.available() > 0) {
char c = Serial.read(); //Cuando se recibe un dato, se guarda como carácter
dato += c; //Cadena de caracteres formada por la suma de los datos recibidos
}
}
if (dato.length() > 0) { //Comprueba que la variable "dato" tenga al menos un caracter
if(dato == "1") { //Comparamos la cadena de caracteres con cada uno de los casos
Serial.println("Encender led rojo"); //Muestra por el monitor serial la acción realizada
digitalWrite(rojo, HIGH); //Enciende el led rojo
}
if(dato == "A") {
Serial.println("Apagar led rojo");
digitalWrite(rojo, LOW);
}
if(dato == "2") {
Serial.println("Encender led naranja");
digitalWrite(naranja, HIGH);
}
if(dato == "B") {
Serial.println("Apagar led naranja");
digitalWrite(naranja, LOW);
}
if(dato == "3") {
Serial.println("Encender led verde");
digitalWrite(verde, HIGH);
}
if(dato == "C") {
Serial.println("Apagar led verde");
digitalWrite(verde, LOW);
}
dato=""; //Declaramos la variable "vacía" para volver a guardar de nuevo caracteres y compararlos con cada uno de los casos
}
}
Montaje en protoboard:
IMPORTANTE:
- El código para emparejar el módulo bluetooth con el dispositivo, suele ser "1234".
- Si se usan los pines 0 y 1 del arduino (Rx y Tx), a la hora de cargar el sketch hay que desconectarlos y una vez se haya cargado los volvemos a conectar. En el caso de que queráis usar otros pines digitales para no tener problema con esto, tendréis que usar la librería SoftwareSerial.h. Aquí podéis encontrar más información: http://arduino.cc/es/Reference/SoftwareSerial
AppInventor: http://appinventor.mit.edu/explore/classic.html
AppInventor 2: http://ai2.appinventor.mit.edu/
Versión para descargar (Windows): http://beta.appinventor.mit.edu/learn/se...ndows.html
Animaros a realizar algún proyecto implementando esto y lo publicáis aquí en el foro!! :yeah:
Si tenéis alguna pregunta, duda o sugerencia ponedla aquí en el hilo