- Bahan yang Diperlukan
- Modul Bluetooth (HC-05)
- Pelabuhan START USART
- Diagram dan Sambungan Litar
- Pengaturcaraan STM32F103C8
- Langkah-langkah untuk Menghubungkan Modul Bluetooth dengan Telefon Android
Di dunia sekarang Bluetooth menjadi sangat popular dan hampir setiap peranti seperti telefon bimbit, komputer riba, dan sistem infotainment kereta menggunakan Bluetooth untuk komunikasi tanpa wayar. Bluetooth tidak hanya digunakan untuk memindahkan data tetapi juga untuk mengendalikan perangkat Bluetooth lain tanpa wayar, seperti menggunakan alat dengar Bluetooth, Anda dapat mendengar lagu tanpa wayar dari telefon bimbit anda atau dapat menggunakan sistem audio kereta untuk memainkan lagu dari telefon bimbit anda.
Bluetooth adalah teknologi tanpa wayar yang berfungsi pada frekuensi 2.4GHz. Isyarat Bluetooth biasa berada dalam jarak 10 meter radius. Bluetooth adalah teknologi wayarles yang paling biasa digunakan dalam projek terbenam dengan syarat rangkaian komunikasi terhad. Bluetooth menambah kelebihan penggunaan kuasa rendah dan operasi kos rendah. Ia biasanya digunakan untuk menghubungkan mikrokontroler dengan Telefon Pintar dengan menggunakan aplikasi Bluetooth.
Kami telah melihat antara muka modul Bluetooth dengan mikrokontroler lain seperti Arduino, 8051, PIC dan lain-lain. Sekarang dalam tutorial ini kita akan menghubungkan modul Bluetooth HC-05 dengan STM32F103C8 dan Nyalakan / Matikan LED menggunakan telefon bimbit Android.
Bahan yang Diperlukan
- STM32F103C8
- Modul Bluetooth (HC-05)
- LED
- Android Mudah Alih
- Papan roti
- Menyambung wayar
Perisian:
- Terminal Bluetooth (Aplikasi Android)
Modul Bluetooth (HC-05)
Ia kebanyakannya menggunakan modul Bluetooth dalam projek terbenam. Ia adalah modul Bluetooth bersiri yang menggunakan komunikasi bersiri dengan jarak kurang dari 100m dan beroperasi pada 5V (minimum 3.3V). Ia boleh digunakan untuk menghubungkan dua mikrokontroler secara wayarles dan juga dengan telefon bimbit dan komputer riba. Oleh kerana terdapat banyak aplikasi android yang tersedia, sangat berguna untuk membuat projek terkawal Bluetooth tanpa wayar.
Ia menggunakan komunikasi USART dan dapat dihubungkan dengan mikrokontroler yang mempunyai protokol komunikasi USART.
Ia mempunyai antena bersepadu. Ia mempunyai konfigurasi Master / Slave yang dapat diubah dalam mod perintah AT yang berguna apabila hanya satu peranti yang harus mengirim data (master ke slave) seperti dari PC (MASTER) ke slave (mana-mana MCU). Master boleh menyambung ke peranti lain dan hamba tidak menyambung ke sambungan lain selain master.
Kaedah Operasi
Ia mempunyai dua mod AT Command Mode & Data Mode.
Apabila Bluetooth dihidupkan, ia memasuki mod data secara lalai. Mod ini boleh digunakan untuk pemindahan data. Untuk masuk ke mod AT Command semasa power up kita perlu menekan butang yang ada di modul untuk mengubah tetapan lalai modul seperti konfigurasi master / slave.
Pin Modul Bluetooth
- Pin EN (ENABLE) -Pin ini digunakan untuk mengatur Mod Data atau Mod Perintah AT. Secara lalai ia ada dalam DATA MODE. Apabila butang ditekan semasa power up ia masuk ke mod perintah AT.
- + Pin 5V - Ini digunakan untuk bekalan kuasa ke modul
- Pin GND - Ini digunakan untuk ground untuk modul
- Pin TX - Pin ini untuk disambungkan ke pin RX MCU
- Pin RX - Pin ini disambungkan ke pin TX MCU
- NEGERI - Pin ini menunjukkan status modul, lihat di bawah mengenai petunjuk
Petunjuk LED
- Ia mempunyai penunjuk LED (MERAH) yang menyediakan keadaan modul Bluetooth.
- Apabila modul Bluetooth TIDAK TERHUBUNG ke mana-mana peranti, isyarat akan menjadi rendah dan lampu merah berkedip secara berterusan yang menunjukkan modul TIDAK BERPASUK.
- Apabila modul Bluetooth DIHUBUNGKAN ke mana-mana peranti, isyarat akan menjadi TINGGI dan lampu merah berkelip dengan beberapa kelewatan yang menunjukkan modul PAIRED.
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
- Kereta Robot Dikawal Telefon bimbit menggunakan G-Sensor dan Arduino
- Memadankan Modul Bluetooth HC-06 dengan PIC Microcontroller
Pelabuhan START USART
Port komunikasi bersiri USART STM32F103C8 (BLUE PILL) ditunjukkan dalam gambar pin out di bawah. Ini berwarna biru mempunyai (PA9-TX1, PA10- RX1, PA2-TX2, PA3- RX2, PB10-TX3, PB11- RX3). Ia mempunyai tiga saluran komunikasi seperti itu.
Diagram dan Sambungan Litar
Sambungan litar untuk menghubungkan Modul Bluetooth dengan STM32 dibuat seperti di bawah
Sambungan antara modul STM32F103C8 & Bluetooth (HC-05)
- Pin TX (PA9) dari STM32F103C8 disambungkan ke pin RX modul Bluetooth.
- Pin RX (PA10) STM32F103C8 disambungkan ke pin TX modul Bluetooth.
- Pin VCC (+ 5V) modul Bluetooth disambungkan ke pin 5V STM32F103C8.
- Pin GND modul Bluetooth disambungkan ke pin GND STM32F103C8.
Sambungan Lain
- Pin (PA0) STM32 (Blue Pill) disambungkan ke pin positif LED melalui perintang siri. LED yang digunakan di sini adalah warna campuran.
- Pin lain yang dipimpin disambungkan ke GND STM32.
Pengaturcaraan STM32F103C8
Memasukkan Bluetooth dengan STM32 sama dengan arduino dan pengaturcaraan di STM32 sama dengan Arduino IDE. Lihat tutorial ini untuk memprogram STM32 dengan USB menggunakan Arduino IDE.
Seperti yang telah diberitahu, dalam projek ini, kami akan menghubungkan modul Bluetooth (HC-05) dengan STM32F103C8 dan menggunakan Telefon Pintar Android dengan aplikasi android Terminal Bluetooth untuk menghidupkan dan mematikan LED.
Catatan: Pin RX & TX mesti dikeluarkan semasa memuat naik kod ke STM32F103C8.
Kod lengkap untuk projek ini diberikan pada akhir tutorial ini dengan Video demonstrasi.
Pengekodan untuk projek ini sangat mudah. Kod Arduino yang sama boleh digunakan tetapi hanya pin yang harus diubah. Oleh kerana kami mempunyai tiga set pin USART di STM32F103C8 jadi kami mesti menentukan pin yang betul yang kami gunakan untuk menyambungkan modul Bluetooth.
1. Pertama kita perlu menamakan pin dengan nombor pin masing-masing dengan jenis data int seperti berikut
const int pinout = PA0;
2. Seterusnya kita perlu mempunyai pemboleh ubah untuk menyimpan data bersiri dari telefon bimbit android. Data boleh berupa char atau integer seperti berikut
char inputdata = 0;
3. Selanjutnya dalam penyediaan void (), kita mesti memulakan komunikasi bersiri antara STM32 Blue Pill dan modul Bluetooth dengan memberikan baud rate 9600
Bersiri1.begin (9600);
Kami menggunakan Serial1 di sini kerana kami menghubungkan HC-05 ke TX1 dan RX1 dari STM32.
Kita juga boleh menggunakan Serial2 atau Serial3 tetapi dengan itu pin mesti disambungkan.
4. Mesej intro dihantar sebagai data bersiri ke serial1, iaitu ke modul Bluetooth HC05. Modul ini seterusnya menghantar data ke aplikasi Terminal Bluetooth telefon bimbit android. Oleh itu, kami menggunakan pernyataan di bawah
Serial1.print ("CIRCUIT DIGEST \ n"); Serial1.print ("BLUETOOTH WITH STM32 \ n");
5. Seterusnya kita perlu menetapkan pinmode (PA0) sebagai output, kerana kita menghubungkan menyebabkan pin ini. Jadi kita gunakan
pinMode (pinout, OUTPUT);
6. Selanjutnya dalam gelung void (), kami menjalankan data berikut untuk membaca data bersiri dan menghidupkan / mematikan LED dengan sewajarnya
gelung void () { If (Serial1.available ()> 0) { inputdata = Serial1.read (); if (inputdata == '1') { digitalWrite (pinout, TINGGI); Serial1.print ("LED ON \ n"); } lain jika (inputdata == '0') { digitalWrite (pinout, LOW); Serial1.print ("LED MATI \ n"); } } }
Di sini kita menggunakan pernyataan if kerana kod ini hanya dijalankan apabila port Serial1 mempunyai data yang diterima dari modul Bluetooth yang mengapa penyataan ini digunakan Serial1.available ()> 0 . Jika tidak jika tidak masuk, ia menunggu sehingga memulakan komunikasi bersiri. Sekarang ia menyimpan data yang diterima dalam inputdata pemboleh ubah = Serial1.read (). Kemudian periksa nilai yang dihantar dari aplikasi terminal Bluetooth. Jadi jika nilai adalah 1, ia mencetak LED ON dan menjadikan pin (PA0) menjadi TINGGI dengan pernyataan digitalWrite (pinout, TINGGI) dan jika nilainya 0, ia mencetak LED MATI dan menjadikan (PA0) pin menjadi RENDAH.
Langkah-langkah untuk Menghubungkan Modul Bluetooth dengan Telefon Android
Langkah 1: - Buka Bluetooth dari telefon bimbit setelah memuat naik kod ke STM32 dari Arduino IDE dan memberi kuasa ke litar. INGAT untuk membuang pin RX dan TX semasa MENGGUNAKAN kod
Langkah 2: - Pada peranti yang tersedia pilih HC-05 dan masukkan kata laluan sebagai 1234
Langkah 3: - Setelah berpasangan, buka aplikasi Terminal Bluetooth dan pilih sambungkan peranti dan pilih HC-05 seperti gambar di bawah
Langkah 4: - Setelah menyambung dengan Modul Bluetooth HC-05, berikan nilai di terminal 1 atau 0 untuk menghidupkan dan mematikan LED. Anda juga akan menerima mesej bahawa LED Hidup atau Mati.