- Material requerit
- Mòdul Bluetooth HC-06
- Esquema de connexions
- Configuració de l'aplicació Roboremo per controlar el servidor:
- Codi i explicació
- Funcionament del control de servomotor mitjançant Bluetooth:
L’ús d’un servomotor és habitual a la robòtica per obtenir un control precís. Aquí, en aquest tutorial, us mostrarem com utilitzar un Servo motor sense fils amb un Arduino UNO i un dispositiu Android mitjançant connexió Bluetooth. Ja controlem el servo amb Arduino, aquesta vegada controlem el Servo Motor mitjançant Arduino i Bluetooth.
Material requerit
- Arduino UNO
- Mòdul Bluetooth HC-05 o HC-06
- Servomotor
- Aplicació Roboremo de Playstore
- Taula de pa
- Cable de connexió
Mòdul Bluetooth HC-06
El Bluetooth pot funcionar en els dos modes següents:
- Mode de comandament
- Mode de funcionament
En el mode d’ordres podrem configurar les propietats Bluetooth com el nom del senyal Bluetooth, la seva contrasenya, la velocitat de transmissió operativa, etc. El mode operatiu és aquell en el qual podrem enviar i rebre dades entre el microcontrolador PIC. i el mòdul Bluetooth. Per tant, en aquest tutorial jugarem només amb el mode operatiu. El mode Ordre es deixarà a la configuració predeterminada. El nom del dispositiu serà HC-05 (estic fent servir HC-06) i la contrasenya serà 0000 o 1234 i, sobretot, la velocitat de transmissió per defecte per a tots els mòduls Bluetooth serà 9600.

El mòdul funciona amb alimentació de 5 V i els pins de senyal funcionen amb 3,3 V, per tant, hi ha un regulador de 3,3 V al mòdul mateix. Per tant, no ens hem de preocupar. Dels sis pins només s’utilitzaran quatre en mode de funcionament. A continuació es mostra la taula de connexions de pins
| S.No | Pin de HC-05 / HC-06 | Fixa el nom a MCU | PIN número a PIC |
| 1 | Vcc | Vdd | 31 º pin |
| 2 | Vcc | Gnd | 32 nd pin |
| 3 | Tx | RC6 / Tx / CK | 25 º pin |
| 4 | Rx | RC7 / Rx / DT | 26 º pin |
| 5 | Estat | NC | NC |
| 6 | EN (Activa) | NC | NC |
Consulteu els nostres altres projectes per obtenir més informació sobre el mòdul Bluetooth HC-05 amb altres microcontroladors:
- Cotxe de joguina controlat per Bluetooth mitjançant Arduino
- Sistema domòtic controlat per Bluetooth mitjançant 8051
- Llums controlades per veu mitjançant Raspberry Pi
- Ràdio FM controlada per telèfon intel·ligent mitjançant Arduino i Processament
- Interfície del mòdul Bluetooth HC-06 amb microcontrolador PIC
Consulteu també tots els projectes relacionats amb el Bluetooth aquí.
Esquema de connexions
A continuació es mostra el diagrama de circuits d’aquest projecte de control de servomotor Bluetooth Arduino:


Configuració de l'aplicació Roboremo per controlar el servidor:
Pas 1: - Descarregueu l'aplicació Roboremo des d'Android Play Store i instal·leu-la al vostre telèfon intel·ligent. Després d'instal·lar-la, veureu la finestra de l'aplicació tal com es mostra a la figura 1 i fent clic al botó "Menú" veureu la finestra que es mostra a la figura 2 a continuació:


Pas 2: - A continuació, feu clic al botó de connexió i veureu la finestra que es mostra a la figura 3 a continuació, haureu de seleccionar " Bluetooth RFCOMM" i, a continuació, podreu connectar el mòdul bluetooth HC-06 amb l'aplicació per a Android "Roboremo".

Pas 3: - Després de connectar-vos al mòdul bluetooth HC-06, torneu a la finestra de la figura 2 i feu clic a " Edita la interfície d'usuari " per crear la interfície d'usuari segons les vostres necessitats.
Quan feu clic a "edita interfície d'usuari" , veureu de nou la finestra que es mostra a la figura 1 i, a continuació, feu clic a qualsevol lloc de la pantalla, veureu la finestra de l'aplicació com la figura 4 i seleccioneu " Botó " per obtenir l'estructura del botó.

Pas 4: - Després de seleccionar el botó, obtindreu una estructura de botons a la pantalla per editar. Podeu canviar la mida i moure l'estructura a qualsevol lloc de la pantalla. Ara, per definir el valor que s’ha d’enviar, feu clic a través de Bluetooth, heu “configurat l’acció de premsa” (tal com es mostra a la figura 6) i escriviu el valor que voleu enviar des d’aquest botó en particular. Igual que, estem enviant un "1" per girar el servo prement el botó "Inici" a l'aplicació per a Roboremo per a Android.
Podeu comprovar tots els valors enviats fent clic en diferents botons, a la taula que es mostra a la secció posterior.


Pas 5: - Finalment, tenim la interfície d'usuari per controlar el servomotor mitjançant un telèfon intel·ligent.

Codi i explicació
Al final es dóna el codi complet del servomotor Control Arduino mitjançant Bluetooth.
Arduino té una biblioteca per a servomotors i gestiona totes les coses relacionades amb PWM per fer girar el servo, només cal que introduïu l’angle al qual voleu girar i hi ha la funció servo1.write (angle); que farà girar el servo fins a l’angle desitjat.
Així doncs, aquí comencem definint la biblioteca per al motor servo i el programari La biblioteca sèrie s’utilitza per definir el pin Rx i Tx.
#incloure
Al codi següent, estem inicialitzant els pins Arduino per Rx i Tx, definint variables per al servo i altres coses .
Servo myServo; int TxD = 11; int RxD = 10; int servoposició; int servopos; int nou1; Programari Bluetooth en sèrie (TxD, RxD);
Ara, configureu totes les variables i components a l'etapa inicial. Aquí hem connectat el servo al novè pin de l'Arduino i hem fet la posició inicial del servo a 0 graus. La velocitat en transmissions per a comunicacions en sèrie i Bluetooth també s’ha definit en 9600.
void setup () { int pos = 0; myServo.attach (9); myServo.write (0); Serial.begin (9600); // iniciar la comunicació en sèrie a 9600bps bluetooth.begin (9600); }
En funció de bucle buit , Arduino comprovarà els valors entrants tot el temps i girarà el servo segons el valor rebut del telèfon intel·ligent. Tots els valors es rebran mitjançant la comunicació en sèrie.
Si el valor és 0, el servo girarà a 0 graus. De la mateixa manera, si enviem 45, 90, 135 i 180 des de l'aplicació Bluetooth, el servo girarà a un angle de 45, 90, 135 i 180 graus respectivament.
bucle buit () { if (bluetooth.available ()) { Valor de la cadena = bluetooth.readString (); servoposició = valor.toInt (); if (value.toInt () == 0) { Serial.println (servoposició); myServo.write (0); } if (value.toInt () == 45) { Serial.println (servoposició); myServo.write (45); } if (value.toInt () == 90) { Serial.println (servoposició); myServo.write (90); } if (value.toInt () == 135) { Serial.println (servoposició); myServo.write (135); } if (value.toInt () == 180) { Serial.println (servoposició); myServo.write (180); }
Si enviem el valor '1' prement el botó d' inici , el servo girarà contínuament fins que es prem el botó d' aturada . Aquí estem enviant '2' en prémer el botó d' aturada , que serà llegit per l'Arduino i trencarà el bucle mentre el servo s'aturarà.
while (value.toInt () == 1) {if (bluetooth.available ()) {value = bluetooth.readString (); Serial.println (valor); if (value.toInt () == 2) {Serial.println ("AAAA"); trencar; }} servopos ++; retard (30); Serial.println (servopos); myServo.write (servopos); if (servopos == 180) {servopos = 0; trencar;}}}}
Funcionament del control de servomotor mitjançant Bluetooth:

En aquest projecte, estem controlant el Servo Motor mitjançant una aplicació per a Android "Roboremo". A la interfície d'aquesta aplicació, hem creat 5 botons per controlar el motor Servo, tal com s'ha explicat anteriorment. El funcionament de cada botó es dóna a la taula següent:
|
S.No. |
Nom del botó |
Valor d'enviament |
Descripció |
|
1. |
Començar |
1 |
Aquest botó s’utilitza per començar a girar el servo de 0⁰ a 180⁰. |
|
2. |
Atura |
2 |
Aquest botó s’utilitza per aturar el servo en qualsevol punt. |
|
3. |
0⁰ |
0 |
Aquest botó s’utilitza per girar el servo a 0⁰. |
|
4. |
90⁰ |
90 |
Aquest botó s’utilitza per girar el servo a 90⁰. |
|
5. |
180⁰ |
180 |
Aquest botó s’utilitza per girar el servo a 180⁰. |
Per tant, prement aquests botons a l’aplicació Android Roboremo , les dades s’enviaran a través del mòdul Bluetooth del telèfon intel·ligent al mòdul Bluetooth HC-06. Des d’aquest mòdul HC-06, Arduino rep les dades i Arduino fa girar el Servo amb l’angle definit al codi del botó en particular. També hem codificat els angles 45 i 135, però a causa de la limitació de l’aplicació Roboremo, només podeu crear 5 botons, de manera que hem saltat dos botons.
Així és com podeu enviar les dades des del telèfon intel·ligent a l’Arduino mitjançant Bluetooth per controlar el servo sense fils. Es pot utilitzar en moltes aplicacions com ara cotxes de joguina, robots, etc.
