- Potreban materijal
- HC-06 Bluetooth modul
- Kružni dijagram
- Konfiguriranje aplikacije Roboremo za upravljanje servom:
- Šifra i objašnjenje
- Rad servo upravljača pomoću Bluetooth-a:
Korištenje servo motora uobičajeno je za robotiku radi preciznog upravljanja. Ovdje ćemo vam u ovom uputstvu pokazati kako bežično upotrebljavati servo motor s Arduino UNO i Android uređajem putem Bluetooth veze. Servoom smo već kontrolirali Arduino, ovaj put upravljamo servo motorom pomoću Arduina i Bluetootha.
Potreban materijal
- Arduino UNO
- HC-05 ili HC-06 Bluetooth modul
- Servo motor
- Aplikacija Roboremo iz Playstorea
- Breadboard
- Spojna žica
HC-06 Bluetooth modul
Bluetooth može raditi u sljedeća dva načina:
- Naredbeni način
- Način rada
U zapovjednom načinu moći ćemo konfigurirati Bluetooth svojstva poput naziva Bluetooth signala, njegove lozinke, brzine prijenosa itd. Način rada je onaj u kojem ćemo moći slati i primati podatke između PIC mikrokontrolera i Bluetooth modul. Stoga ćemo se u ovom uputstvu igrati samo s načinom rada. Način naredbe bit će prepušten zadanim postavkama. Naziv uređaja bit će HC-05 (koristim HC-06), a lozinka će biti 0000 ili 1234, a što je najvažnije zadana brzina prijenosa podataka za sve Bluetooth module bit će 9600.

Modul radi na napajanju od 5 V, a signalne iglice rade na naponu od 3,3 V, stoga je u samom modulu prisutan regulator od 3,3 V. Stoga se zbog toga ne trebamo brinuti. Od šest pinova, samo četiri će se koristiti u načinu rada. Tablica pin priključaka prikazana je u nastavku
| S.Br | Prikvačite na HC-05 / HC-06 | Prikvačite ime na MCU | Broj pin u PIC-u |
| 1 | Vcc | Vdd | 31. st. Pin |
| 2 | Vcc | Gnd | 32 nd pin |
| 3 | Tx | RC6 / Tx / CK | 25 th pin |
| 4 | Rx | RC7 / Rx / DT | 26 th pin |
| 5 | država | NC | NC |
| 6 | HR (Omogući) | NC | NC |
Pogledajte naše druge projekte kako biste saznali više o Bluetooth modulu HC-05 s drugim mikrokontrolerima:
- Automobil s igračkama kojim upravlja Bluetooth pomoću Arduina
- Bluetooth automatizirani sustav kućne automatizacije koji koristi 8051
- Svjetla kontrolirana glasom pomoću Raspberry Pi
- FM radio kontroliran pametnim telefonom pomoću Arduina i obrade
- Povezivanje Bluetooth modula HC-06 s PIC mikrokontrolerom
Ovdje također provjerite sve projekte povezane s Bluetoothom.
Kružni dijagram
Dijagram sklopa za ovaj projekt upravljanja servo motorom Arduino Bluetooth dat je u nastavku:


Konfiguriranje aplikacije Roboremo za upravljanje servom:
1. korak: - Preuzmite aplikaciju Roboremo iz Trgovine Android Play i instalirajte je na svoj pametni telefon. Nakon instalacije vidjet ćete prozor aplikacije kao što je prikazano na slici1, a klikom na gumb 'Izbornik' vidjet ćete prozor prikazan na slici2 dolje:


Korak 2: - Zatim kliknite gumb za povezivanje i vidjet ćete prozor prikazan na slici 3 dolje, a zatim morate odabrati ' Bluetooth RFCOMM' i tada ćete moći povezati svoj bluetooth modul HC-06 s android aplikacijom 'Roboremo'.

Korak 3: - Nakon povezivanja s bluetooth modulom HC-06 vratite se u prozor figure2, a zatim kliknite na ' edit ui ' za stvaranje korisničkog sučelja prema vašim potrebama.
Kada kliknete na 'edit ui' , opet ćete vidjeti prozor prikazan na slici1, a zatim kliknite bilo gdje na zaslonu, vidjet ćete prozor aplikacije kao što je slika4 i odaberite ' Gumb ' da biste dobili strukturu gumba.

Korak 4: - Nakon odabira gumba na zaslonu ćete dobiti strukturu gumba za uređivanje. Možete promijeniti veličinu i premjestiti strukturu bilo gdje na zaslonu. Sada, za postavljanje vrijednosti koja će se poslati na klik putem Bluetootha, "postavili ste akciju pritiska" (kao što je prikazano na slici 6) i s tog gumba unesite vrijednost koju želite poslati. Kao, šaljemo '1' za okretanje servoa pritiskom na gumb 'Start' u aplikaciji Roboremo android.
Sve vrijednosti koje se šalju klikom na različite gumbe možete provjeriti u tablici danoj kasnije.


Korak 5: - Napokon imamo i korisničko sučelje za upravljanje servo motorom pomoću pametnog telefona.

Šifra i objašnjenje
Kompletni kod za Arduino Control Servo Motor putem Bluetootha dan je na kraju.
Arduino ima biblioteku za servo motore i on obrađuje sve stvari povezane s PWM-om da bi rotirao servo, samo trebate unijeti kut pod kojim se želite okretati i postoji funkcija servo1.write (angle); koji će okretati servo pod željeni kut.
Dakle, ovdje počinjemo s definiranjem knjižnice za servo motor, a softver Serijska knjižnica koristi se za definiranje Rx i Tx pina.
#include
U donjem kodu inicijaliziramo Arduino pinove za Rx i Tx, definirajući varijable za servo i druge stvari .
Servo myServo; int TxD = 11; int RxD = 10; int servopozicija; int servopos; int new1; SoftwareSerial bluetooth (TxD, RxD);
Sada postavite sve varijable i komponente u početnu fazu. Ovdje smo u prilogu servo u 9 -og pin na Arduino i napravio početni položaj serva do 0 stupnjeva. Brzina prijenosa za serijsku i Bluetooth komunikaciju također je postavljena na 9600.
void setup () { int pos = 0; myServo.attach (9); myServo.write (0); Serial.begin (9600); // započinjemo serijsku komunikaciju na 9600bps bluetooth.begin (9600); }
U funkciji void loop , Arduino će cijelo vrijeme provjeravati dolazne vrijednosti i okretati servo u skladu s primljenom vrijednošću sa pametnog telefona. Sve vrijednosti primit će se pomoću serijske komunikacije.
Ako je vrijednost 0, servo će se okretati do 0 stupnjeva. Slično tome, ako iz Bluetooth aplikacije pošaljemo 45, 90, 135 i 180, servo će se okretati pod kutom od 45, 90, 135 i 180 stupnjeva.
void loop () { if (bluetooth.available ()) { Vrijednost niza = bluetooth.readString (); servopozicija = vrijednost.toInt (); if (value.toInt () == 0) { Serial.println (servopozicija); myServo.write (0); } if (value.toInt () == 45) { Serial.println (servopozicija); myServo.write (45); } if (value.toInt () == 90) { Serial.println (servopozicija); myServo.write (90); } if (value.toInt () == 135) { Serial.println (servopozicija); myServo.write (135); } if (value.toInt () == 180) { Serial.println (servopozicija); myServo.write (180); }
Ako vrijednost "1" pošaljemo pritiskom na gumb Start, servo će se neprekidno okretati dok se ne pritisne gumb za zaustavljanje . Ovdje šaljemo '2' pritiskom na gumb za zaustavljanje , koji će Arduino pročitati i prekinut će while petlju, a servo će se zaustaviti.
while (value.toInt () == 1) {if (bluetooth.available ()) {value = bluetooth.readString (); Serial.println (vrijednost); if (value.toInt () == 2) {Serial.println ("GGG"); pauza; }} servopos ++; kašnjenje (30); Serial.println (servopos); myServo.write (servopos); if (servopos == 180) {servopos = 0; break;}}}}
Rad servo upravljača pomoću Bluetooth-a:

U ovom projektu upravljamo servo motorom pomoću Android aplikacije "Roboremo". U sučelju ove aplikacije stvorili smo 5 gumba za upravljanje servo motorom kako je ranije objašnjeno. Rad svakog gumba naveden je u donjoj tablici:
|
S.Ne. |
Naziv gumba |
Vrijednost slanja |
Opis |
|
1. |
Početak |
1 |
Ovaj gumb služi za pokretanje servo-pogona od 0⁰ do 180⁰. |
|
2. |
Stop |
2 |
Ovaj gumb služi za zaustavljanje servo-pogona u bilo kojem trenutku. |
|
3. |
0⁰ |
0 |
Ovaj gumb služi za okretanje servoa na 0⁰. |
|
4. |
90⁰ |
90 |
Ovaj se gumb koristi za okretanje servoa na 90⁰. |
|
5. |
180⁰ |
180 |
Ovaj gumb služi za okretanje servoa za 180⁰. |
Dakle, pritiskom ovih gumba na vašoj Android aplikaciji Roboremo , podaci će se slati putem Bluetooth-a pametnog telefona na Bluetooth-modul HC-06. Od tog HC-06 modula Arduino prima podatke i Arduino okreće servo pod kutom definiranim u kodu za određeni gumb. Također smo kodirali kut 45 i 135, ali zbog ograničenja aplikacije Roboremo možete stvoriti samo 5 gumba, pa smo preskočili dva gumba.
Dakle, ovo je način na koji možete poslati podatke sa pametnog telefona na Arduino koristeći Bluetooth za bežično upravljanje servo-motorom. To se može koristiti u mnogim aplikacijama poput automobila s igračkama, robota itd.
