MIDE DISTANCIAS POR BLUETOOTH CON EL MÓDULO HM-10


hm10yhcsr04.jpg

Video

En esta práctica aprenderemos a medir distancia con un sensor ultrasónico y que se mande la información por bluetooth, utilizando un Arduino UNO.

CÓMO MEDIR DISTANCIA CON ARDUINO, HC-SR04 Y BLUETOOTH HM-10



- Materiales:


Para realizar el circuito necesitas:

• 1 Arduino UNO,
• 1 Bluetooth HM-10,
• 1 Sensor ultrasónico HC-SR04,
• 1 protoboard y jumpers.

- Código


Comenzamos el código añadiendo la librería para utilizar dos pines digitales como pines RX y TX de comunicación serial. Este es opcional si quieres ahorrarte líneas de código y utilizar los pines 0 y 1 de la placa.

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, inicializamos las variables que almacenarán los pines del HC-SR04 y las mediciones.

#include <SoftwareSerial.h>

#define TRIG 10
#define ECHO 9

SoftwareSerial mySerial(7, 8);

int duration;
int distance;

Dentro del void setup(), iniciamos ambos puertos seriales a 9600 y les enviamos un mensaje para corroborar que ambas conexiones fueron exitosas. Después declaramos los pines del sensor como entrada y salida.

void setup() {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
mySerial.begin(9600);
mySerial.println("conexion exitosa");

Serial.begin(9600);
Serial.println("conexion exitosa");
}

En la función loop() agregaremos las operaciones y las instrucciones para obtener la distancia entre el sensor y el objeto. Mandaremos un HIGH y un LOW desde el pin TRIG para empezar el ciclo que realiza la onda.

La instrucción pulseIn funciona para obtener el tiempo que tardo en obtener un pulso dicho pin, utilizaremos esta instrucción para almacenar el valor dentro de la variable DURACION.

Para finalizar realizaremos una división de DURACION/58.2 para obtener la distancia en centímetros. Dicha operación la guardaremos en la variable DISTANCIA y la imprimiremos en ambos puertos seriales.

void loop() {
// obtener datos del sensor
digitalWrite(TRIG, HIGH);
delay(1);
digitalWrite(TRIG, LOW);
duration = pulseIn(ECHO,HIGH);
distance = duration/58.2;
// imprimir datos
Serial.println(distance);
mySerial.println(distance);
delay(100);
}

- 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, puentearlas a la placa en los pines 7 y 8 digitales. TXD -> 7 y RXD->8. Los pines EN y STATE no conectarlos.

Colocaremos el sensor ultrasónico a la protoboard y utilizando jumpers conectaremos la alimentación Vcc al pin de 5v, la tierra GND al pin GND, Trigger al pin digital 10 y Echo al pin digital 9 del Arduino.

DESCARGAS


CÓMO CONTROLAR LEDS CON ARDUINO Y BLUETOOTH HC-06

Imágenes

hm10yhcsr04.jpg

APRENDE LO QUE NECESITAS

NUESTROS CURSOS


cursoarduinoyandroid.jpg

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.

cursodispensadorautomatico.jpg

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.

cursocarritorobot4wd.jpg

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.