- Bahan Diperlukan
- Modul Bluetooth HC-06
- Rajah Litar
- Mengkonfigurasi Aplikasi Roboremo untuk Mengendalikan Servo:
- Kod dan Penjelasan
- Mengendalikan Kawalan Motor Servo menggunakan Bluetooth:
Menggunakan motor Servo adalah perkara biasa dalam Robotik untuk kawalan yang tepat. Di sini, dalam tutorial ini kami akan menunjukkan kepada anda cara menggunakan motor Servo tanpa wayar dengan Arduino UNO dan peranti Android melalui sambungan Bluetooth. Kami sudah mengawal servo dengan Arduino, kali ini kami Mengendalikan Servo Motor menggunakan Arduino dan Bluetooth.
Bahan Diperlukan
- Arduino UNO
- Modul Bluetooth HC-05 atau HC-06
- Motor Servo
- Aplikasi Roboremo dari Playstore
- Papan roti
- Menyambung wayar
Modul Bluetooth HC-06
Bluetooth boleh beroperasi dalam dua mod berikut:
- Mod Perintah
- Mod operasi
Dalam Mod Perintah kita akan dapat mengkonfigurasi sifat Bluetooth seperti nama isyarat Bluetooth, kata laluannya, kadar baud operasi dan lain-lain. Mod Operasi adalah mod di mana kita akan dapat mengirim dan menerima data antara PIC Microcontroller dan modul Bluetooth. Oleh itu, dalam tutorial ini kita hanya akan bermain dengan Mod Operasi. Mod Perintah akan diserahkan ke tetapan lalai. Nama Peranti akan menjadi HC-05 (saya menggunakan HC-06) dan kata laluan adalah 0000 atau 1234 dan yang paling penting ialah kadar baud lalai untuk semua modul Bluetooth adalah 9600.
Modul berfungsi pada bekalan 5V dan pin isyarat beroperasi pada 3.3V, oleh itu pengawal selia 3.3V terdapat dalam modul itu sendiri. Oleh itu kita tidak perlu risau. Dari enam pin hanya empat yang akan digunakan dalam mod Operasi. Jadual sambungan pin ditunjukkan di bawah
S.No | Pin pada HC-05 / HC-06 | Sematkan nama pada MCU | Nombor pin di PIC |
1 | Vcc | Vdd | 31 st pin |
2 | Vcc | Gnd | Pin 32 nd |
3 | Tx | RC6 / Tx / CK | Pin ke- 25 |
4 | Rx | RC7 / Rx / DT | Pin ke- 26 |
5 | Nyatakan | NC | NC |
6 | EN (Aktifkan) | NC | NC |
Lihat projek kami yang lain untuk mengetahui lebih lanjut mengenai modul Bluetooth HC-05 dengan pengawal mikro lain:
- Kereta Mainan Terkawal Bluetooth menggunakan Arduino
- Sistem Automasi Rumah Terkawal Bluetooth menggunakan 8051
- Lampu Dikawal Suara menggunakan Raspberry Pi
- Telefon Pintar dikendalikan Radio FM menggunakan Arduino dan Pemprosesan
- Memadankan Modul Bluetooth HC-06 dengan PIC Microcontroller
Lihat juga semua projek berkaitan bluetooth di sini.
Rajah Litar
Gambarajah litar untuk projek Arduino Bluetooth Servo Motor Control diberikan di bawah:
Mengkonfigurasi Aplikasi Roboremo untuk Mengendalikan Servo:
Langkah 1: - Muat turun aplikasi Roboremo dari Android Play Store dan pasangkannya di telefon pintar anda. Setelah memasangnya, anda akan melihat tetingkap aplikasi seperti yang ditunjukkan pada gambar1 dan dengan mengklik butang 'Menu' anda akan melihat tetingkap yang ditunjukkan pada gambar2 di bawah:
Langkah 2: - Kemudian klik pada butang sambung dan anda akan melihat tetingkap yang ditunjukkan pada gambar3 di bawah, maka anda harus memilih ' Bluetooth RFCOMM' dan kemudian anda dapat menghubungkan modul bluetooth HC-06 anda dengan aplikasi android anda 'Roboremo'.
Langkah 3: - Setelah menyambung ke modul bluetooth HC-06 kembali ke tetingkap fig2 dan kemudian klik ' edit ui ' untuk membuat antara muka pengguna sesuai dengan keperluan anda.
Apabila klik pada 'edit ui' anda akan melihat lagi tetingkap yang ditunjukkan pada gambar1 kemudian klik di mana sahaja di skrin anda akan melihat tetingkap aplikasi seperti gambar4 dan pilih ' Button ' untuk mendapatkan struktur butang.
Langkah 4: - Setelah memilih butang, anda akan mendapat struktur butang di layar untuk diedit. Anda boleh mengubah saiz dan memindahkan struktur di mana sahaja di skrin. Sekarang, untuk menetapkan nilai yang akan dikirim pada klik melalui Bluetooth, Anda telah 'mengatur tindakan tekan' (seperti yang ditunjukkan pada gambar6) dan ketik nilai yang ingin anda kirim dari butang tertentu. Seperti, kami mengirim '1' untuk memutar servo dengan menekan butang 'Start' di aplikasi android Roboremo.
Anda dapat memeriksa semua nilai, yang dikirimkan dengan mengklik pada butang yang berlainan, dalam jadual yang diberikan kemudian.
Langkah 5: - Akhirnya kita mempunyai Antara Muka Pengguna untuk mengawal motor servo menggunakan Telefon Pintar.
Kod dan Penjelasan
Kod lengkap untuk Arduino Control Servo Motor Via Bluetooth diberikan pada akhir.
Arduino mempunyai perpustakaan untuk Servo Motors dan ia mengendalikan semua perkara berkaitan PWM untuk memutar servo, anda hanya perlu memasukkan sudut yang anda mahu putar dan terdapat fungsi servo1.write (sudut); yang akan memutar servo ke sudut yang dikehendaki.
Jadi di sini kita mulakan dengan mendefinisikan perpustakaan untuk motor Servo dan Perisian Serial perpustakaan digunakan untuk menentukan pin Rx dan Tx.
#sertakan
Dalam kod di bawah, kami menginisialisasi pin Arduino untuk Rx dan Tx, menentukan pemboleh ubah untuk servo dan perkara lain .
Servo myServo; int TxD = 11; int RxD = 10; int servoposition; int servopos; int baru1; Perisian Bluetooth Serial (TxD, RxD);
Sekarang, siapkan semua pemboleh ubah dan komponen ke peringkat awal. Di sini kami telah melampirkan servo pada pin ke- 9 Arduino dan menjadikan kedudukan awal servo hingga 0 darjah. Baud rate untuk komunikasi bersiri dan Bluetooth juga telah ditetapkan ke 9600.
persediaan tidak sah () { int pos = 0; myServo.attach (9); myServo.write (0); Serial.begin (9600); // mulakan komunikasi bersiri pada 9600bps bluetooth.begin (9600); }
Dalam fungsi gelung void , Arduino akan memeriksa nilai masuk sepanjang waktu dan memutar servo sesuai dengan nilai yang diterima dari telefon pintar. Semua nilai akan diterima menggunakan Komunikasi Bersiri.
Sekiranya nilainya 0, servo akan berpusing hingga 0 darjah. Begitu juga jika kita menghantar 45, 90, 135 dan 180 dari aplikasi Bluetooth, servo masing-masing akan berputar ke sudut 45, 90, 135 dan 180 darjah.
gelung void () { if (bluetooth.available ()) { String value = bluetooth.readString (); servoposition = nilai.toInt (); if (value.toInt () == 0) { Serial.println (servoposition); myServo.write (0); } if (value.toInt () == 45) { Serial.println (servoposition); myServo.write (45); } if (value.toInt () == 90) { Serial.println (servoposition); myServo.write (90); } if (value.toInt () == 135) { Serial.println (servoposition); myServo.write (135); } if (value.toInt () == 180) { Serial.println (servoposition); myServo.write (180); }
Sekiranya kita mengirim nilai '1' dengan menekan butang Start maka servo akan berputar berterusan sehingga butang berhenti ditekan. Di sini kita mengirimkan '2' dengan menekan butang berhenti , yang akan dibaca oleh Arduino dan ia akan mematahkan gelung sementara dan servo akan dihentikan.
while (value.toInt () == 1) {if (bluetooth.available ()) {nilai = bluetooth.readString (); Serial.println (nilai); jika (value.toInt () == 2) {Serial.println ("YYY"); rehat; }} servopos ++; kelewatan (30); Serial.println (servopos); myServo.write (servopos); jika (servopos == 180) {servopos = 0; rehat;}}}}
Mengendalikan Kawalan Motor Servo menggunakan Bluetooth:
Dalam proyek ini, kami mengendalikan Servo Motor menggunakan aplikasi Android "Roboremo". Di antara muka aplikasi ini, kami telah membuat 5 butang untuk mengawal motor Servo seperti yang dijelaskan sebelumnya. Cara kerja setiap butang diberikan dalam jadual di bawah:
S.No. |
Nama Butang |
Nilai Penghantaran |
Penerangan |
1. |
Mulakan |
1 |
Butang ini digunakan untuk mula memutar servo dari 0⁰ hingga 180⁰. |
2. |
Berhenti |
2 |
Butang ini digunakan untuk menghentikan servo pada bila-bila masa. |
3. |
0⁰ |
0 |
Butang ini digunakan untuk memutar servo ke 0⁰. |
4. |
90⁰ |
90 |
Butang ini digunakan untuk memutar servo hingga 90⁰. |
5. |
180⁰ |
180 |
Butang ini digunakan untuk memutar servo hingga 180⁰. |
Oleh itu, dengan menekan butang ini pada aplikasi Android Roboremo anda , data akan dihantar melalui Bluetooth Bluetooth ke modul Bluetooth HC-06. Dari data modul HC-06 diterima oleh Arduino dan Arduino memutar Servo pada sudut yang ditentukan dalam kod untuk butang tertentu. Kami juga telah mengekod sudut 45 dan 135, tetapi kerana keterbatasan aplikasi Roboremo, anda hanya dapat membuat 5 butang, jadi kami melewatkan dua butang.
Jadi ini adalah bagaimana anda dapat menghantar data dari Smartphone ke Arduino menggunakan Bluetooth untuk mengawal servo secara wayarles. Ini boleh digunakan dalam banyak aplikasi seperti Mainan kereta, robot dll.