MATERIALES:
Los materiales que utilice para este proyecto son:
- 1 Arduino uno
- 1 Puente h tb6612
- 1 Motor de cd
- 1 Modulo bluetooth hc-05
DIAGRAMA DE CONEXIONES

La velocidad del motor en este caso va a ser controlada con una aplicación en App Inventor.
CONEXION DEL MODULO BLUETOOT CON LA APLICACION:
Para conectarnos con el modulo bluetooth Hc-05 desde la aplicación, presionamos el botón Conectar BT.

Nos aparecerá una lista de los dispositivos bluetooth que tenemos vinculados con nuestro celular, seleccionamos el dispositivo. En mi caso estoy utilizando el modulo HC-05.

Explicación del código para realizar la conexión con el modulo HC-05.
Tenemos dos bloques:
1.- When ListPiker1.BeforePicking:

Al presionar Conectar BT, se nos abrirá una lista de elementos con los nombres y direcciones de todos los dispositivos bluetooth que tenemos vinculados a nuestro celular.
2.- When ListPiker1.AfterPicking:

En esta parte se realiza la conexión del modulo bluetooth con nuestro celular
FUNCIONAMIENTO DEL VARIADOR DE VELOCIDAD.
Al igual que en el proyecto anterior, la velocidad del motor la variamos modificando el PWM que va de 0 a 255, para ello en este caso utilizamos un slider el cual configuramos para que tenga un valor mínimo de 0 y un máximo de 255.

Los valores mínimo y máximo del slider los configuramos en la parte de propiedades. Una vez hecho esto debemos enviar el valor del slider a nuestro arduino.
Para enviar el valor del slider al arduino hacemos lo siguiente:

Imprimimos el valor de la posición del slider en el label1, la función roud nos sirve para redondear un numero decimal, en este caso la utilizamos porque el slider nos envía valores decimales y necesitamos números enteros.
Activamos un reloj:

Aquí tenemos una condición que nos dice que mientras el bluetooth de nuestro celular este conectado con el modulo bluetooth, se enviara al arduino el numero que esta impreso en el label. El reloj1 va a estar enviando datos cada 20 mili segundos. En este caso se esta enviando el numero 92.

Como en este proyecto estamos utilizando el monitor serial para poder visualizar el valor que nos llega, debemos añadir otro reloj para que el celular pueda recibir esos datos, caso contrario la aplicación dejara de funcionar. Agregamos el siguiente bloque.

Este bloque de código nos sirve para recibir en nuestro celular datos enviados desde el arduino.
CODIGO DE ARDUINO:
// PINES DE CONEXION CON EL PUENTE H #define pwmA 3 #define motorinA 4 #define motorinB 5 #define stby 6 // // en esta variable almacenamos el valor que nos llega desde la aplicacion // el valor del slider int velocidad = 0; void setup() { // inicializamos el monitor serial Serial.begin(9600); // declaramos entradas y salidas// pinMode(pwmA, OUTPUT); pinMode(motorinA, OUTPUT); pinMode(motorinB, OUTPUT); pinMode(stby, OUTPUT); } void loop() { //Si recibimos datos desde la aplicación entonces: if (Serial.available() > 0) { // la variable velocidad va a almacenar esos datos. velocidad = Serial.read(); } digitalWrite(stby, 1); // activamos el puente h // enviamos en valor de la variable velocidad al pin PWM del puente h analogWrite(pwmA, velocidad); // encendemos el motor// digitalWrite(motorinA, 1); digitalWrite(motorinB, 0); // imprimimos la velocidad en el monitor serial// Serial.print("PWM:"); Serial.println(velocidad); }
Publicar un comentario