- Kinakailangan na Materyal
- HC-06 Bluetooth Module
- Diagram ng Circuit
- Ang pag-configure ng Roboremo App para sa Pagkontrol ng Servo:
- Code at Paliwanag
- Paggawa ng Servo motor Control gamit ang Bluetooth:
Ang paggamit ng isang motor na Servo ay karaniwan sa Robotics para sa tumpak na kontrol. Dito, sa tutorial na ito ipapakita namin sa iyo kung paano gumamit ng isang Servo motor nang walang wireless sa isang Arduino UNO at isang Android device sa pamamagitan ng koneksyon sa Bluetooth. Kinontrol na namin ang servo sa Arduino, sa oras na ito ay Kinokontrol namin ang Servo Motor gamit ang Arduino at Bluetooth.
Kinakailangan na Materyal
- Arduino UNO
- HC-05 o HC-06 Bluetooth module
- Servo Motor
- Roboremo App mula sa Playstore
- Breadboard
- Nag-uugnay sa kawad
HC-06 Bluetooth Module
Maaaring gumana ang Bluetooth sa sumusunod na dalawang mga mode:
- Command Mode
- Operating Mode
Sa Command Mode magagawa naming i-configure ang mga pag-aari ng Bluetooth tulad ng pangalan ng signal ng Bluetooth, password nito, ang operating baud rate atbp. Ang Operating Mode ay kung saan magagawa naming magpadala at makatanggap ng data sa pagitan ng PIC Microcontroller at ang module ng Bluetooth. Samakatuwid sa tutorial na ito ay landi lamang namin ang Operating Mode. Ang Command mode ay maiiwan sa mga default na setting. Ang pangalan ng Device ay magiging HC-05 (Gumagamit ako ng HC-06) at ang password ay 0000 o 1234 at pinakamahalaga ang default na rate ng baud para sa lahat ng mga module ng Bluetooth ay magiging 9600.
Gumagana ang module sa 5V supply at ang mga signal pin ay nagpapatakbo sa 3.3V, samakatuwid ang isang 3.3V regulator ay naroroon sa mismong module. Samakatuwid hindi tayo dapat magalala tungkol dito. Sa anim na pin apat lamang ang gagamitin sa mode na Pagpapatakbo. Ang talahanayan ng koneksyon ng pin ay ipinapakita sa ibaba
S.Hindi | I-pin sa HC-05 / HC-06 | I-pin ang pangalan sa MCU | I-pin ang numero sa PIC |
1 | Vcc | Vdd | 31 st pin |
2 | Vcc | Gnd | 32 nd pin |
3 | Tx | RC6 / Tx / CK | Ika- 25 na pin |
4 | Rx | RC7 / Rx / DT | Ika- 26 na pin |
5 | Estado | NC | NC |
6 | EN (Paganahin) | NC | NC |
Suriin ang aming iba pang mga proyekto upang malaman ang tungkol sa Bluetooth module HC-05 kasama ang iba pang mga microcontroller:
- Kinokontrol ng Laruang Kotse ng Bluetooth gamit ang Arduino
- Kinokontrol ng Bluetooth na Home Automation System gamit ang 8051
- Mga Kontrol na Boses na Kinokontrol ng boses gamit ang Raspberry Pi
- Kinokontrol ng Smart Phone FM Radio gamit ang Arduino at Pagproseso
- Ang interface ng Bluetooth Module HC-06 ay may PIC Microcontroller
Suriin din dito ang lahat ng mga proyekto na nauugnay sa bluetooth.
Diagram ng Circuit
Ang diagram ng circuit para sa proyekto ng Arduino Bluetooth Servo Motor Control na ito ay ibinigay sa ibaba:
Ang pag-configure ng Roboremo App para sa Pagkontrol ng Servo:
Hakbang 1: - I - download ang Roboremo app mula sa Android Play Store at i-install ito sa iyong smartphone. Matapos i-install ito makikita mo ang window ng app tulad ng ipinakita sa figure1 at sa pamamagitan ng pag-click sa pindutan na 'Menu' makikita mo ang window na ipinakita sa figure2 sa ibaba:
Hakbang 2: - Pagkatapos mag-click sa pindutan ng kumonekta at makikita mo ang window na ipinapakita sa figure3 sa ibaba pagkatapos ay kailangan mong piliin ang ' Bluetooth RFCOMM' at pagkatapos ay maikonekta mo ang iyong module ng blu-HC-06 sa iyong Android app na 'Roboremo'.
Hakbang 3: - Matapos ang pagkonekta sa module ng blu-HC-06 bumalik sa figure2 window at pagkatapos ay mag-click sa 'i- edit ui ' para sa paglikha ng interface ng gumagamit alinsunod sa iyong pangangailangan.
Kapag nag-click sa 'i-edit ui' makikita mo muli ang window na ipinakita sa figure1 pagkatapos mag-click saanman sa screen makikita mo ang window ng app tulad ng figure4 at ang piling ' Button ' upang makuha ang istraktura ng pindutan.
Hakbang 4: - Pagkatapos piliin ang pindutan makakakuha ka ng isang istraktura ng pindutan sa screen upang mai-edit. Maaari mong baguhin ang laki at ilipat ang istraktura kahit saan sa screen. Ngayon, para sa pagtatakda ng halagang ipapadala sa pag-click sa pamamagitan ng Bluetooth mayroon kang 'itakda ang pagkilos na pindutin' (tulad ng ipinakita sa figure6) at i-type ang halagang nais mong ipadala mula sa partikular na pindutan. Tulad ng, nagpapadala kami ng '1' para sa pag-ikot ng servo sa pamamagitan ng pagpindot sa pindutang 'Start' sa Roboremo android application.
Maaari mong suriin ang lahat ng mga halaga, na ipinapadala sa pag-click sa iba't ibang mga pindutan, sa talahanayan na ibinigay sa susunod na seksyon.
Hakbang 5: - Panghuli mayroon kaming User Interface upang makontrol ang servo motor gamit ang Smartphone.
Code at Paliwanag
Ang kumpletong code para sa Arduino Control Servo Motor Via Bluetooth ay ibinibigay sa dulo.
Ang Arduino ay mayroong silid-aklatan para sa Servo Motors at hinahawakan nito ang lahat ng mga kaugnay na bagay ng PWM upang paikutin ang servo, kailangan mo lamang ipasok ang anggulo kung saan mo nais na paikutin at may function na servo1.write (anggulo); na paikutin ang servo sa nais na anggulo.
Kaya narito nagsisimula kami sa pamamagitan ng pagtukoy sa silid-aklatan para sa Servo motor at ginagamit ang Software Serial library para sa pagtukoy sa Rx at Tx pin.
# isama
Sa code sa ibaba, sinisimulan namin ang mga pin ng Arduino para sa Rx at Tx, na tumutukoy sa mga variable para sa servo at iba pang mga bagay .
Servo myServo; int TxD = 11; int RxD = 10; int servoposition; int servopos; int bagong1; SoftwareSerial bluetooth (TxD, RxD);
Ngayon, i- setup ang lahat ng variable at mga bahagi sa paunang yugto. Dito nakalakip namin ang servo sa ika- 9 na pin ng Arduino at ginawa ang paunang posisyon ng servo sa 0 degree. Ang rate ng baud para sa serial at komunikasyon sa Bluetooth ay itinakda din sa 9600.
void setup () { int pos = 0; myServo.attach (9); myServo.write (0); Serial.begin (9600); // simulan ang serial komunikasi sa 9600bps bluetooth.begin (9600); }
Sa pag- andar ng void loop , susuriin ng Arduino ang mga papasok na halaga sa lahat ng oras at paikutin ang servo ayon sa natanggap na halaga mula sa Smart phone. Ang lahat ng mga halaga ay matatanggap gamit ang Serial Communication.
Kung ang halaga ay 0 ang servo ay paikutin sa 0 degree. Katulad nito kung magpapadala kami ng 45, 90, 135 at 180 mula sa application ng Bluetooth, ang servo ay paikutin sa 45, 90, 135 at 180 degree na anggulo ayon sa pagkakabanggit.
void loop () { if (blu Bluetooth.available ()) { String value = blu Bluetooth.readString (); servoposition = halaga.toInt (); kung (value.toInt () == 0) { Serial.println (servoposition); myServo.write (0); } kung (value.toInt () == 45) { Serial.println (servoposition); myServo.write (45); } kung (value.toInt () == 90) { Serial.println (servoposition); myServo.write (90); } kung (value.toInt () == 135) { Serial.println (servoposition); myServo.write (135); } kung (value.toInt () == 180) { Serial.println (servoposition); myServo.write (180); }
Kung ipadala namin ang halagang '1' sa pamamagitan ng pagpindot sa Start button pagkatapos ay patuloy na iikot ang servo hanggang sa mapindot ang stop button. Ipinapadala namin ang '2' sa pagpindot sa pindutan ng paghinto , na babasahin ng Arduino at masisira nito ang habang ang loop at ang servo ay titigil.
habang (value.toInt () == 1) {kung (blu Bluetooth.available ()) {value = blu Bluetooth.readString (); Serial.println (halaga); kung (value.toInt () == 2) {Serial.println ("YYY"); pahinga; }} servopos ++; pagkaantala (30); Serial.println (servopos); myServo.write (servopos); kung (servopos == 180) {servopos = 0; break;}}}}
Paggawa ng Servo motor Control gamit ang Bluetooth:
Sa proyektong ito, kinokontrol namin ang Servo Motor gamit ang isang Android application na "Roboremo". Sa interface ng application na ito, gumawa kami ng 5 mga pindutan upang makontrol ang motor ng Servo tulad ng ipinaliwanag nang mas maaga. Ang pagtatrabaho ng bawat pindutan ay ibinibigay sa talahanayan sa ibaba:
S.Hindi. |
Pangalan ng Butones |
Pagpapadala ng Halaga |
Paglalarawan |
1. |
Magsimula |
1 |
Ginamit ang pindutan na ito upang simulan ang pag-ikot ng servo mula 0⁰ hanggang 180⁰. |
2. |
Tigilan mo na |
2 |
Ginagamit ang pindutan na ito upang ihinto ang servo sa anumang punto. |
3. |
0⁰ |
0 |
Ginagamit ang pindutan na ito upang paikutin ang servo sa 0⁰. |
4. |
90⁰ |
90 |
Ginagamit ang pindutan na ito upang paikutin ang servo hanggang 90⁰. |
5. |
180⁰ |
180 |
Ginagamit ang pindutan na ito upang paikutin ang servo hanggang 180⁰. |
Kaya, sa pamamagitan ng pagpindot sa mga pindutang ito sa iyong Android app Roboremo , ipapadala ang data sa pamamagitan ng Bluetooth ng smartphone sa HC-06 Bluetooth module. Mula sa datos ng module ng HC-06 na iyon ay natanggap ng Arduino at pinapaikot ng Arduino ang Servo sa anggulong tinukoy sa code para sa partikular na pindutan. Nag-coded din kami para sa anggulo 45 at 135, ngunit dahil sa limitasyon ng Roboremo app, maaari ka lamang lumikha ng 5 mga pindutan, kaya nilaktawan namin ang dalawang mga pindutan.
Kaya ito kung paano mo maipapadala ang data mula sa Smartphone sa Arduino gamit ang Bluetooth upang makontrol ang servo nang wireless. Maaari itong magamit sa maraming mga application tulad ng Mga laruang kotse, robot atbp.