CONTROLA LEDS con ARDUINO y BLUETOOTH HC-06
Video
En esta práctica aprenderemos a controlar el encendido y apagado de leds a través de instrucciones mandadas por bluetooth y procesadas por un Arduino UNO.
CÓMO CONTROLAR LEDS CON ARDUINO Y BLUETOOTH HC-06
- Materiales:
Para realizar el circuito necesitas:
• 1 Arduino UNO,
• 1 Bluetooth HC-06,
• 3 LEDS,
• 3 resistencias de 330 Ohms,
• 1 protoboard y jumpers.
- Código
Comenzamos el código añadiendo la librería
Abrimos un nuevo objeto SoftwareSerial con el nombre de “mySerial”, abrir paréntesis para definir cuáles serán los pines digitales que vamos a ocupar para la comunicación. Para este ejemplo, se utilizaron los pines 7 y 8.
Antes del pasar a las configuraciones, abriremos una variable de tipo char para almacenar los caracteres de ambos puertos seriales e inicializamos las variables que almacenarán los pines de los LEDS.
#include <SoftwareSerial.h>
SoftwareSerial mySerial(7, 8); // RX, TX
// Connect HC-06 Arduino Uno
// Pin 1/TXD Pin 7
// Pin 2/RXD Pin 8
char myChar ;
#define LED1 2
#define LED2 3
#define LED3 4
Dentro del void setup(), iniciamos el nuevo puerto serial a 9600 y enviamos un mensaje para corroborar que la conexión fue exitosa. Después declaramos los pines de los LEDS como salida.
void setup() {
mySerial.begin(9600);
mySerial.println("mySerial OPEN");
pinMode(LED1,OUTPUT);
pinMode(LED2,OUTPUT);
pinMode(LED3,OUTPUT);
}
En la función loop() haremos la misma lógica como cuando queremos obtener valores desde el monitor serial de la PC. Cuando se obtenga información, la variable “myChar” almacenará el carácter.
Con la condicional Switch ordenaremos todas nuestras condiciones dependiendo del carácter leído desde el puerto serial. Cada condición tendrá instrucciones de cómo se comportarán los encendidos y los apagados de los LEDS.
void loop(){
if(mySerial.available()){
myChar = mySerial.read();
switch(myChar){
case 'a':
digitalWrite(LED1,HIGH);
break;
case 'A':
digitalWrite(LED1,LOW);
break;
case 'b':
digitalWrite(LED2,HIGH);
break;
case 'B':
digitalWrite(LED2,LOW);
break;
case 'c':
digitalWrite(LED3,HIGH);
break;
case 'C':
digitalWrite(LED3,LOW);
break;
case 'd':
digitalWrite(LED1,HIGH);
digitalWrite(LED2,HIGH);
digitalWrite(LED3,HIGH);
break;
case 'D':
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
break;
default:
mySerial.println("Opcion invalida");
break;
}
}
}
- Instrumentación
Primero puenteamos la alimentación que nos da la placa de desarrollo a las líneas de la protoboard. Conectamos las patas de Vcc y GND del módulo a las líneas de alimentación de la protoboard. Las patas TXD y RXD (las dos que faltan por conectar), puentearlas a la placa en los pines 7 y 8 digitales. TXD -> 7 y RXD->8.
Colocaremos todos los LEDs haciendo una línea. Conectamos los ánodos con las resistencias y está conectada a los pines digitales de la placa y los cátodos conectados a la tierra del Arduino.
Cargamos el sketch a la placa y enlazamos el módulo bluetooth desde nuestro smartphone en las configuraciones bluetooth, para que cuando abramos la app de “Serial Bluetooth Terminal” nos reconozca y habilite la opción de vincular entre smartphone y módulo.
DESCARGAS
CÓMO CONTROLAR LEDS CON ARDUINO Y BLUETOOTH HC-06
Imágenes
APRENDE LO QUE NECESITAS
NUESTROS CURSOS
Creación de un HMI en Android Studio y Arduino
Nivel: Básico 2 horas y 30 min (146 min.)
Diseña, maqueta y programa un HMI completo en Android Studio vinculado a un Arduino mediante Bluetooth.
CONSTRUYE un DISPENSADOR AUTOMÁTICO CASERO sin ARDUINO desde CERO
Nivel: Básico 27 minutos
Construye desde cero un dispensador automático casero sin Arduino desde cero, utilizando pura electrónica.
Creación de carrito robot desde cero usando mando de PS4
Nivel: Básico 2 horas y 19 min (139 min.)
Construye desde cero un carrito robot con arduino manipulado por un control de PS4 y un teléfono Android.
¿Tienes un proyecto que quieras compartir?
Mándanos tu proyecto o prácticas que quisieras difundir en la comunidad a nuestras redes.
ó
team@codiziapp.com