https://www.balantia.com/es/vfc9kzdjz29 Llega un momento en el que una vez que tenemos cierto control en la creación de proyectos sencillos con Arduino, nos apetece ir un paso más allá y crear algún montaje que podamos gobernar desde nuestro smartphone. Para ello hay que tener en cuenta dos aspectos importantes:
- https://abressa.com/sgs30oqu6 Hardware: para comunicar nuestro móvil con el montaje tenemos que añadir un https://www.a-crear.com/hab24o7fzt módulo bluetooth a nuestro Arduino.
- https://acuasec.com/xmib8bb4k6 Programación: habrá que crear código fuente tanto en el IDE de Arduino, como en la parte del dispositivo móvil, normalmente, Android. Para crear apps en Android de forma relativamente sencilla podemos usar entornos gráficos como AppInventor (http://appinventor.mit.edu/), que es una aplicación en entorno web muy similar a Scratch, pero con partes de creación de código mucho más complicadas que nos permitirán hacer aplicaciones potentes.
https://www.aytolardero.org/2023/09/14/qwso47zc Los módulos más frecuentes en el mercado son los módulos HC-06 y HC-05. el 06 (que es el que usamos nosotros). A simple vista poder ver que el 06 tiene 4 pines y el 05 tiene 6. La forma de programarlos es igual para ambos dispositivos.
La diferencia principal entre ambos es que el modulo HC-05 lo podemos configurar tanto maestro como esclavo, mientras que el 06 sólo podemos configurarlo como esclavo. Además, el 05 tiene otros parámetros de configuración en los cuales no vamos a entrar porque para otro tipo de desarrollos más avanzados.
https://aguasdeburgos.com/tp80snf0 A continuación podéis ver el esquema de montaje donde hemos hecho las siguientes conexiones:
- vcc: simulamos los 5V con el pin 49 configurada a HIGH por programación
- gnd: a gnd en arduino
- https://www.balantia.com/es/hxikfd6mj TXD: al pin 51
- Buy Ambien Online Canada RXD: al pin 50
El modo de funcionamiento de la app es muy sencillo. En primer lugar habrá que emparejar el bluetooth del montaje con nuestro dispositivo móvil. A partir de aquí hay que realizar la parte de programación para envío y recepción de señales en ambos dispositivos.
https://elmilanoreal.com/nbsuyj60d Al ser éste nuestro primer artículo sobre este tema, nos vamos a centrar exclusivamente en cómo añadir a nuestro código en Arduino lo necesario para recibir las señales que vamos a recibir desde la app en nuestro smartphone. En cuanto a la parte de la app para Android, vamos a utilizar una que podemos encontrar gratuita en el Play Store, y así nos evitamos programar nada en esta parte. La podéis descargar desde AQUÍ.
https://acuasec.com/cenx5ylt1ww Aunque no sepamos como está programa la aplicación, lo que debemos de saber es que lleva una parte de programación que asocia a cada uno de los botones de la interfaz el envío de un carácter a través del módulo bluetooth, que finalmente acabará recibiendo e interpretando nuestro Arduino. Así se realizan el paso de mensajes entre los dos dispositivos, eligiendo nosotros qué queremos enviar, para posteriormente programar en Arduino qué queremos que haga al recibir unos caracteres u otros.
https://alfombrasbsb.com/ulltklq60 De esta forma, cada vez que en nuestra app estemos pulsando el botón de flecha hacia arriba, nuestro smartphone envía por bluetooth una señal (en este caso, la letra “F”, de forward) y nuestro programa en Arduino, recibirá la letra “F”, y ante tal evento, nosotros invocaremos a la función “ https://araquealuminios.com/l3whcbiuc avance()”, que como ya sabemos era la función que hacía mover el coche hacia adelante. Y así haremos con el resto de movimientos. Cada botón de nuestra app será una señal que enviaremos a nuestro Arduino para que haga los diferentes movimientos que ya tenemos programados.
Buy Zolpidem From Uk Veamos el código en detalle:
https://dopsiurana.com/lc3lreha2t
https://elartedemedir.com/blog/ule5xopasj #include <SoftwareSerial.h>
#include <AFMotor.h>
SoftwareSerial BT(51,50); // TX,RX
https://abressa.com/cyn72zhuo8 AF_DCMotor Motor1(1);
AF_DCMotor Motor2(2);
AF_DCMotor Motor3(3);
AF_DCMotor Motor4(4);
Purchase Ambien From Canada int Vel = 130 ; // Define la velocidad base del Rover,130 si ponemos mas las pilas a tope de power!
https://elartedemedir.com/blog/lfzzaw6 void setup()
{
Order Ambien Online Overnight BT.begin(9600) ;
pinMode(49, OUTPUT) ; // Usaremos el pin 49 como VCC de 5V
digitalWrite(49, HIGH);
https://dopsiurana.com/3blq4wycs7
Serial.write(BT.read());
if (BT.available()){
https://acatfcl.cat/j1r0tieo switch (BT.read())
{
case 'F':
Avance();
break;
case 'B':
Retroceso();
break;
case 'R':
giroDerecha();
break;
case 'L':
giroIzquierda();
break;
case 'S':
Paro();
break;
https://acuasec.com/tjslkiw2m }
https://araquealuminios.com/ac2v6tmikuu }
https://www.jaumebalmes.com/an64r4v
https://abressa.com/axi667xg8 void SetVel(int v1, int v2, int v3, int v4)
{
Motor1.setSpeed(v1);
Motor2.setSpeed(v2);
Motor3.setSpeed(v3);
Motor4.setSpeed(v4);
}
https://www.aytolardero.org/2023/09/14/kx6vkw90u void Avance()
{
SetVel(Vel,Vel,Vel,Vel);
Motor1.run(FORWARD) ;
Motor2.run(FORWARD);
Motor3.run(FORWARD);
Motor4.run(FORWARD);
}
Best Price Ambien Online void Retroceso()
{
SetVel(Vel,Vel,Vel,Vel);
Motor1.run(BACKWARD) ;
Motor2.run(BACKWARD);
Motor3.run(BACKWARD);
Motor4.run(BACKWARD);
}
https://www.balantia.com/es/z1iu3hf void Paro()
{ Motor1.run(RELEASE);
Motor2.run(RELEASE);
Motor3.run(RELEASE);
Motor4.run(RELEASE);
}
void giroIzquierda()
{
SetVel( Vel, Vel, Vel, Vel) ;
Motor1.run(RELEASE) ;
Motor2.run(FORWARD);
Motor3.run(FORWARD);
Motor4.run(RELEASE);
}
void giroDerecha()
{
SetVel( Vel, Vel, Vel, Vel) ;
Motor1.run(FORWARD) ;
Motor2.run(RELEASE);
Motor3.run(RELEASE);
Motor4.run(FORWARD);
}
Vamos a detenernos sólo en las novedades puesto que el resto de código ya está comentado previamente en otros artículos del robot 4×4.
En la primera instrucción tenemos que añadir la librería necesaria para poder realizar comunicaciones serie con el módulo bluetooth:
#include <SoftwareSerial.h>
En la tercera línea creamos el objeto BT que es el que usaremos para comprobar que estamos recibiendo por el módulo bluetooth, y le decimos cuales son los pines de entrada y salida de información en el módulo:
SoftwareSerial BT(51,50); // TX,RX
En la función setup() abrimos el puerto serie para recibir datos y simulamos los 5V del VCC del bluetooth poniendo a HIGH el pin 49:
BT.begin(9600) ;
pinMode(49, OUTPUT) ; // Usaremos el pin 49 como VCC de 5V
digitalWrite(49, HIGH);
La función BT.read() la utilizamos para leer del módulo bluetooth. La función https://www.jaumebalmes.com/3gdh4yn BT.available() es para comprobar si está operativo.
Como principal estructura de programación introducir la estructura Buy Generic Zolpidem Tartrate SWITCH que sirve para preguntar por diferentes «cases», de tal forma que en función de si estamos leyendo un carácter u otro, invocaremos la función de movimiento del coche correspondiente.
El resto del código es igual al utilizado hasta ahora.
Para finalizar os dejamos con Jose Bonafonte que os explica con detalle todo el proceso de montaje, manejo de la app y la programación en Arduino
¡Nos vemos en quince días aprendices robóticos!
1 comentario sobre «Coche robot 4×4 – Bluetooth para controlarlo desde el móvil»