Saya terus membuat model dan membina robot. Saya sudah menulis arahan untuk mencipta kawalan jauh model dan robot. Kawalan jauh didasarkan pada kayu bedah Sega lama. Joystick ini mempunyai empat anak panah dan 8 butang, cukup untuk mengawal mesin atau robot kecil. Pengurusan telah dijalankan melalui LED IR. Hari ini saya akan menulis arahan untuk pemodenan kawalan jauh ini, iaitu penukarannya kepada kawalan jauh Bluetooth. Bergantung pada modul Bluetooth yang digunakan, alat kawalan jauh sama ada bersambung ke peranti pra-diprogramkan atau mungkin untuk menyambung ke alat kawalan jauh. Saya akan menerangkan kedua-dua pilihan. Kita perlukan:
- Joystick dari Sega
- Arduino Pro Mini 3.3v 8MHz
- USB-TTL
- 2 bateri Ni-Mn 1.2v 1000mA
- Modul Bluetooth HC-05 atau HC-06
- Merah LED
- LED biru
- Resistor 2x75Om, 2x5Om, 1x2Om
- Penyambung PLSx5 "ibu"
- Gam panas
- wayar
- Ruang bateri 4xAAA
- Wayar pelbagai warna
- Pematerian besi, solder, rosin
- lengan lurus
Langkah 1 Memilih Modul Bluetooth
Dua modul diperlukan untuk komunikasi. Kami akan memasukkan satu ke dalam alat kawalan jauh, dan yang kedua kami akan menyambung ke mesin taip atau robot itu. Terdapat sebilangan besar modul Bluetooth. Mereka berbeza dalam fungsi dan protokol komunikasi yang disokong. Senarai sampel modul yang dijumpai:
- HC-03, HC-04 (HC-04-M, HC-04-S) pada cip BC417143;
- HC-05, HC-06 (HC-06-M, HC-06-S) pada cip BC417143;
- HC-05-D, HC-06-D;
- HC-07 - modul dengan cip CSR 41C6;
- Modul HC-08 dengan penggunaan kuasa ultra rendah dan protokol Bluetooth 4.0;
- HC-09 adalah modul terbaru yang direka untuk menggantikan HC-06 dan HC-07.
Saya menetap pada dua modul HC-05 dan HC-06, kerana mereka adalah optimum dari segi harga / fungsi. Mereka menyokong protokol komunikasi - Spesifikasi Bluetooth v2.0 + EDR. Julatnya adalah sehingga 10 meter (tahap kuasa 2). Sesuai dengan semua penyesuai Bluetooth yang menyokong SPP. Jumlah memori kilat (untuk menyimpan firmware dan tetapan) adalah 8 Mbit. Mereka beroperasi pada kekerapan isyarat radio - 2.40 .. 2.48 GHz. Antara muka hos ialah USB 1.1 / 2.0 atau UART. Mereka mempunyai penggunaan kuasa yang rendah - semasa semasa komunikasi adalah 30-40 mA. Nilai semasa purata adalah kira-kira 25 mA. Selepas sambungan ditubuhkan, arus yang digunakan ialah 8 mA. Modul-modul ini mudah dicari, mereka adalah yang paling biasa. Modul-modul ini sangat serupa, tetapi perbezaan utama di antara mereka adalah bahawa HC-05 boleh berfungsi dalam mod master dan dalam mod hamba.HC-06 hanya boleh menjadi hamba. Ringkasnya, HC-06 tidak dapat mengesan peranti berpasangan dan mewujudkan sambungan dengannya, ia hanya boleh mematuhi tuan. Modul dijual sebagai dua papan disold bersama. Yang lebih kecil ialah modul kilang. Besar - roti papan khas untuk DIY. Ia kelihatan seperti papan yang lebih kecil dengan cip BC417:
Dan modul DIY HC-05 dan HC-06 sendiri:
Anda boleh membeli modul tanpa papan roti. Ia harganya sedikit lebih murah, tetapi anda perlu memasang pengatur voltan 3.3 V untuk modul. Juga, jarak antara kenalan adalah kecil dan anda perlu menyiksa diri anda dengan menyolder ke modul dawai.
Untuk mewujudkan komunikasi antara alat kawalan jauh dan robot atau mesin, anda perlu mengkonfigurasi dua modul Bluetooth di atas satu sama lain. Dalam kes ini, kita akan mengkonfigurasi modul HC-05 supaya ia dapat mencari dan menghubungkan ke HC-06.
Langkah 2 Konfigurasikan HC-06.
Pertama anda perlu menyambungkan HC-06 ke komputer. Ini boleh dilakukan dengan menyambung modul melalui penyesuai USB-UART. Dalam kes ini, sambungannya adalah seperti berikut:
Bluetooth - USB-UART
TX - RX
RX - TX
VCC - +5
GND - GND
Jika anda tidak mempunyai USB-UART di tangan, anda boleh menulis lakaran berikut kepada mana-mana papan Arduino:
Sambungkan seperti berikut:
Bluetooth - Arduino
TX - pin 2
RX - pin 3
VCC - +5
GND - GND
Kemudian kita buka sebarang program terminal, pilih com-port yang HC-06 disambungkan, kelajuan lalai adalah 9600, NL dan CR tidak diperlukan. Sekiranya sambungan Bluetooth tidak ditetapkan dengan HC-06, modul ini dalam mod memasuki arahan AT. Sekiranya modul tidak bertindak balas, cubalah berlebihan dengan memotong wayar positif dan menyambung semulanya. Dan masukkan arahan berikut:
"AT" - tanpa petikan, jawapan "OK" harus datang.
"AT + ADDR" - dengan arahan ini kami akan mengetahui alamat unik HC-06, tulis alamat ini
"AT + BAUD7" - tetapkan kelajuan kepada 57600
"AT + RESET" - kami memuatkan modul
Perintah berikut tidak perlu dimasukkan, tetapi sekiranya lebih baik untuk mengenali mereka:
"AT + NAME
"AT + ORGL" - menetapkan semula modul ke tetapan kilang
Ini melengkapkan persediaan HC-06.
Langkah 3 Konfigurasi HC-05.
Kami menyambung modul sama dengan HC-06. Seterusnya, buka mana-mana program terminal, pilih port com di mana USB-UART atau Arduino hang, kelajuan komunikasi lalai kilang adalah 9600, tetapi saya juga bertemu pada kelajuan 38400, jika anda tidak mengubahnya, pilih 9600, anda tidak boleh tersambung, berubah menjadi 38400. Juga Ia bernilai termasuk parameter NL dan CR. Untuk memindahkan mod input arahan AT, anda perlu menekan butang pada papan HC-05, kemudian masukkan yang berikut:
"AT" - masuk tanpa tanda petikan, jawapan "OK" harus datang. Jika anda datang, kami terus memasuki arahan.
"AT + ROLE = 1" - dengan arahan ini kita menetapkan peranan modul dengan angka:
0 - hamba, 1 - tuan, 2 - budak dalam kitaran *. Anda harus mendapat jawapan "+ ROLE: 1 \ r \ n" atau "OK"
"AT + CMODE = 0" - modul dalam peranan tuan hanya disambungkan ke peranti Bluetooth yang alamatnya ditunjukkan oleh arahan "AT + BIND".
"AT + BIND: 1234,56,123456" - untuk menubuhkan sambungan dengan HC-06 anda, anda perlu memasukkan alamatnya di sini. Selepas memasukkan semua arahan, modul adalah dalam peranan tuan (ROLE = 1) dan mod sambungan ke alamat tetap ditetapkan (CMODE = 0), ia akan menyambung hanya ke peranti Bluetooth yang alamatnya ditentukan oleh perintah ini. Bahagian alamat dimasukkan: semasa pemasangan - dipisahkan oleh koma, dan apabila dijawab - melalui usus besar. Anda akan mendapat jawapan: "+ BIND: 1234: 56: 789ABC \ r \ n" atau "OK"
"AT + UART = 57600,0,0" - tetapkan kelajuan kepada 57,600 bps, bit berhenti diwakili oleh nombor: 0 - satu, cek diwakili oleh nombor: 0 - tanpa pengesahan
Jika anda keliru tentang tetapan modul atau berhenti bekerja dengan betul, cuba arahan berikut:
"AT + ORGL" - Modul ini menetapkan semula tetapan berikut CLASS = 0, IAC = 9e8b33, ROLE = 0, CMODE = 0, UART = 38400,0,0, PSWD = 1234, NAME = hc01.com.
Kemudian konfigurasi semula tetapan yang anda perlukan.
Dengan cara ini, kami telah mewujudkan hubungan yang kuat antara HC-05 dan HC-06. Apabila modul HC-05 dihidupkan, ia akan mewujudkan sambungan dengan HC-06. Dari pengalaman peribadi saya boleh mengatakan bahawa lebih baik untuk menghidupkan pertama HC-05, dan kemudian HC-06. Jika sambungan hilang, anda perlu memuatkan kedua-dua modul.
Langkah 4 Menyediakan kawalan jauh.
Langkah ini diterangkan dengan terperinci dalam arahan terdahulu di:
https://msm.imdmyself.com/8626-ik-pult-iz-dzhoystika-ot-sega.html
Ia perlu melakukan langkah 1 hingga 4. Pematerian diod IR adalah pilihan, walaupun ia tidak akan mengganggu.
Langkah 5 Menyambungkan modul Bluetooth.
Saya nasihatkan anda memasang HC-06 di jauh. Oleh kerana untuk mengubah tetapan modul, anda hanya perlu mengisi lakaran yang sepadan dalam Arduino Pro Mini. Dalam kes HC-05, anda perlu membuka konsol untuk menekan butang untuk beralih ke mod arahan AT.Kami menyambung semuanya mengikut skim berikut
Joystick - Arduino
Anak panah atas - pin 2
Anak panah ke bawah - pin 4
Anak panah kiri - pin 5
Anak panah kanan - pin 6
Butang A - pin 8
Butang B - pin 10
C butang - pin 7
Butang X - pin 12
Butang Y - pin 11
Butang Z - pin 9
Butang Mula - pin 14 (A0)
Butang Reset - RST
Ketua - GND
Bluetooth - Arduino
TX - pin 16 (A2)
RX - pin 17 (A3)
VCC - + 5
GND - GND
HC-05 kami menyambung kepada mesin taip atau robot anda yang akan dikawal. Pilihan sambungan dan sketsa boleh didapati dalam arahan saya yang lain. Apabila menulis lakaran robot, anda perlu menetapkan kelajuan sambungan kepada 57600, dan gunakan perpustakaan SoftwareSerial dalam lakaran.
Langkah 6 Menyediakan persekitaran dan firmware.
Cara terbaik untuk menulis dan mengedit lakaran ialah menggunakan IDE Arduino. Versi IDD Arduino mestilah tidak lebih rendah daripada 1.8. Muat turun Arduino IDE dari laman web rasmi:
https://www.arduino.cc/en/Main/Software
Kemudian anda perlu menambah pustaka ke Arduino IDE. Lakaran menggunakan salah satu perpustakaan SoftwareSerial.h (untuk komunikasi dengan modul Bluetooth):
Anda perlu memuat turun dan memasangnya. Anda boleh memasang pustaka dengan membongkar arkib dan memindahkan fail-fail yang belum dibongkar ke folder "pustaka" yang terletak di dalam folder dengan Arduino IDE dipasang. Atau anda boleh menggunakan alat tambah pustaka terbina dalam - tanpa membongkar arkib yang dimuat turun, pilih menu Skrin - Connect Library di Arduino IDE. Di bahagian atas senarai juntai bawah, pilih item "Tambah .Zip Library". Dan nyatakan lokasi arkib yang dimuat turun. Selepas memasang pustaka, anda perlu memulakan semula IDE Arduino.
Kawalan jauh kami disalurkan dengan cara yang sama seperti versi sebelumnya kawalan jauh, disambungkan melalui USB-TTL melalui penyambung, juga mengecasnya. Semasa mengisi lakaran, klik Tetapkan semula.