- Gerekli malzemeler
- Bluetooth Modülü (HC-05)
- STM32 USART Bağlantı Noktaları
- Devre Şeması ve Bağlantılar
- STM32F103C8'in Programlanması
- Bluetooth Modülünü Android Telefona Bağlama Adımları
Günümüz dünyasında Bluetooth çok popüler hale geldi ve cep telefonu, dizüstü bilgisayar ve araba bilgi-eğlence sistemi gibi hemen hemen her cihaz kablosuz iletişim için Bluetooth kullanıyor. Bluetooth yalnızca veri aktarmak için değil, aynı zamanda başka bir Bluetooth cihazını kablosuz olarak kontrol etmek için de kullanılır; örneğin, Bluetooth kulaklık kullanarak şarkıyı cep telefonunuzdan kablosuz olarak duyabilir veya cep telefonunuzdan şarkıları çalmak için araç ses sistemini kullanabilirsiniz.
Bluetooth, 2,4 GHz frekansında çalışan kablosuz bir teknolojidir. Normal Bluetooth sinyali 10 metre yarıçap içinde. Bluetooth, iletişim aralığının sınırlı olması koşuluyla, yerleşik projelerde en yaygın olarak kullanılan kablosuz teknolojidir. Bluetooth, düşük güç tüketimi ve düşük maliyetli çalışması avantajını ekledi. Genellikle Bluetooth uygulamaları kullanılarak Akıllı Telefonlar ile mikrodenetleyicilerin arayüzlenmesi için kullanılır.
Bluetooth modülünün Arduino, 8051, PIC vb. Gibi diğer mikro denetleyicilerle arayüzlendiğini gördük. Şimdi bu eğitimde, bir HC-05 Bluetooth modülünü STM32F103C8 ile arayüzleyeceğiz ve Android mobil kullanarak bir LED'i AÇIK / KAPALI hale getireceğiz.
Gerekli malzemeler
- STM32F103C8
- Bluetooth Modülü (HC-05)
- LED
- Android Mobil
- Breadboard
- Bağlantı telleri
Yazılım:
- Bluetooth Terminali (Android Uygulaması)
Bluetooth Modülü (HC-05)
Gömülü projelerde çoğunlukla Bluetooth modülü kullanılır. 100m'den az menzile sahip seri iletişim kullanan ve 5V (minimum 3.3V) ile çalışan bir seri Bluetooth modülüdür. İki mikrodenetleyiciyi kablosuz olarak ve ayrıca cep telefonu ve dizüstü bilgisayarlarla bağlamak için kullanılabilir. Mevcut birçok android uygulaması olduğundan, kablosuz Bluetooth kontrollü projeler yapmak için oldukça kullanışlıdır.
USART iletişimini kullanır ve USART iletişim protokolüne sahip mikrodenetleyiciler ile arayüzlenebilir.
Entegre bir anteni vardır. AT komut modunda değiştirilebilen Master / Slave konfigürasyonlarına sahiptir, bu, örneğin PC'den (MASTER) slave'e (herhangi bir MCU) gibi sadece bir cihazın verileri (master'dan slave'e) göndermesi gerektiğinde yararlıdır. Master diğer cihazlara bağlanabilir ve slave, master dışında başka bir bağlantıya bağlanmaz.
Operasyon modları
AT Komut Modu ve Veri Modu'nda iki moda sahiptir.
Bluetooth açıldığında varsayılan veri moduna girer. Bu mod, veri aktarımları için kullanılabilir. Güç verme sırasında AT Komutu moduna girmek için, modülün ana / bağımlı konfigürasyonları gibi varsayılan ayarlarını değiştirmek için modülde bulunan düğmeye basmamız gerekir.
Bluetooth Modülünün Pinleri
- EN pini (ETKİNLEŞTİR) -Bu pin Veri Modunu veya AT Komut Modunu ayarlamak için kullanılır. Varsayılan olarak VERİ MODUNDADIR. Güç açma sırasında düğmeye basıldığında, AT komut moduna geçer.
- + 5V pin - Bu, modüle güç beslemesi için kullanılır
- GND pini - Bu, modül için topraklama için kullanılır
- TX pini - Bu pin, MCU'nun RX pinine bağlanır
- RX pin - Bu pin, MCU'nun TX pinine bağlıdır
- DURUM - Bu pin, modülün durumunu gösterir, göstergeler için aşağıya bakın
LED Göstergesi
- Bluetooth modülünün durumunu sağlayan bir LED (KIRMIZI) göstergesi vardır.
- Bluetooth modülü herhangi bir cihaza BAĞLANMADIĞINDA sinyal azalır ve kırmızı led sürekli olarak yanıp sönerek modülün EŞLEŞTİRİLMEDİĞİNİ gösterir.
- Bluetooth modülü herhangi bir cihaza BAĞLANDIĞINDA, sinyal YÜKSEK olur ve kırmızı led, modülün EŞLEŞTİRİLDİ olduğunu gösteren bir gecikme ile yanıp söner.
Diğer mikro denetleyicilerle Bluetooth modülü HC-05 hakkında daha fazla bilgi edinmek için diğer projelerimize bakın:
- Arduino ile Bluetooth Kontrollü Oyuncak Araba
- 8051 kullanan Bluetooth Kontrollü Ev Otomasyon Sistemi
- Raspberry Pi kullanarak Ses Kontrollü Işıklar
- Arduino ve İşleme Kullanan Akıllı Telefon Kontrollü FM Radyo
- G-Sensor ve Arduino kullanan Cep Telefonu Kontrollü Robot Araba
- Bluetooth Modülü HC-06 ile PIC Mikrodenetleyiciyi Arayüz
STM32 USART Bağlantı Noktaları
STM32F103C8 (MAVİ HAP) USART seri iletişim portları aşağıdaki pin çıkışı görüntüsünde gösterilmiştir. Bunlar mavi renklidir (PA9-TX1, PA10- RX1, PA2-TX2, PA3-RX2, PB10-TX3, PB11-RX3). Bu tür üç iletişim kanalına sahiptir.
Devre Şeması ve Bağlantılar
Bluetooth Modülünün STM32 ile arayüzlenmesi için devre bağlantıları aşağıdaki gibi yapılır.
STM32F103C8 ve Bluetooth modülü (HC-05) arasındaki bağlantı
- STM32F103C8'in TX pini (PA9), Bluetooth modülünün RX pinine bağlanır.
- STM32F103C8'in RX pini (PA10), Bluetooth modülünün TX pinine bağlanır.
- Bluetooth modülünün VCC (+ 5V) pini STM32F103C8'in 5V pinine bağlanır.
- Bluetooth modülünün GND pini STM32F103C8'in GND pinine bağlanır.
Diğer Bağlantılar
- STM32'nin (Mavi Hap) (PA0) pini, bir seri direnç aracılığıyla LED'in pozitif pinine bağlanır. Burada kullanılan led karışık renktedir.
- Led başka bir pin STM32'nin GND'sine bağlanır.
STM32F103C8'in Programlanması
Bluetooth'un STM32 ile arayüzlenmesi arduino ile aynıdır ve STM32'deki programlama Arduino IDE ile aynıdır. STM32'yi Arduino IDE kullanarak USB ile programlamak için bu eğiticiye bakın.
Daha önce de belirtildiği gibi, bu projede, bir (HC-05) Bluetooth modülünü STM32F103C8 ile arayüzleyeceğiz ve LED'i AÇMAK ve KAPATMAK için Bluetooth Terminali android uygulaması olan bir Android Akıllı Telefon kullanacağız.
Not: Kod STM32F103C8'e yüklenirken RX & TX pini çıkarılmalıdır.
Bu proje için eksiksiz kod, bu eğitimin sonunda bir tanıtım Videosu ile verilmiştir.
Bu proje için kodlama yapmak çok basit. Aynı Arduino kodları kullanılabilir ancak sadece pin değiştirilmelidir. STM32F103C8'de üç set USART pinimiz olduğundan, Bluetooth modülünü bağlamak için kullandığımız doğru pini belirlemeliyiz.
1. Öncelikle pinleri aşağıdaki gibi int veri türü ile ilgili pin numaralarıyla adlandırmamız gerekir
const int pinout = PA0;
2. Daha sonra android mobil cihazdan seri verileri depolamak için bir değişkene ihtiyacımız var. Veriler aşağıdaki gibi bir karakter veya tamsayı olabilir
char inputdata = 0;
3. Geçersiz kurulumda (), STM32 Blue Pill ile Bluetooth modülü arasında 9600 baud hızı vererek seri iletişimi başlatmalıyız.
Serial1.begin (9600);
Burada Serial1'i kullandık çünkü HC-05'i STM32'nin TX1 ve RX1'ine bağladık.
Serial2 veya Serial3 de kullanabiliriz ancak buna göre pin bağlanmalıdır.
4. Seri veri olarak seri1'e, yani Bluetooth modülü HC05'e bir giriş mesajı gönderilir. Bu modül ayrıca android mobil cihazların Bluetooth Terminal uygulamasına veri gönderir. Bu yüzden aşağıdaki ifadeleri kullanıyoruz
Serial1.print ("DEVRE DIGEST \ n"); Seri1.print ("STM32 İLE BLUETOOTH \ n");
5. Daha sonra, led'i bu pin'e bağladığımız için pinmode (PA0) 'ı çıkış olarak ayarlamamız gerekir.
pinMode (pinout, OUTPUT);
6. Sonraki boşluk döngüsünde (), seri verileri okumak ve buna göre LED'i açmak / kapatmak için aşağıdaki verileri çalıştırıyoruz
void döngü () { If (Serial1.available ()> 0) { inputdata = Serial1.read (); eğer (inputdata == '1') { digitalWrite (pinout, HIGH); Seri1.print ("LED AÇIK \ n"); } else if (inputdata == '0') { digitalWrite (pinout, LOW); Seri1.print ("LED KAPALI \ n"); } } }
Burada if ifadesini kullanıyoruz çünkü bu kod yalnızca Serial1 portu Bluetooth modülünden alınan herhangi bir veriye sahip olduğunda yürütülür, bu nedenle bu ifade Serial1.available ()> 0 kullanılır . Aksi takdirde içeri girmezse seri iletişime geçene kadar bekler. Şimdi alınan verileri inputdata = Serial1.read () değişkeninde saklar. Ardından Bluetooth terminal uygulamasından gönderilen değeri kontrol eder. Bu nedenle, değer 1 ise, LED AÇIK'ı yazdırır ve pini (PA0) digitalWrite (pinout, HIGH) ifadesiyle HIGH yapar ve değer 0 ise, LED OFF yazar ve (PA0) pini DÜŞÜK duruma getirir.
Bluetooth Modülünü Android Telefona Bağlama Adımları
Adım 1: - Arduino IDE'den STM32'ye kod yükledikten ve devreye güç verdikten sonra mobilden Bluetooth'u açın. Kodu YÜKLEME sırasında RX ve TX pinini çıkarmayı UNUTMAYIN
Adım 2: - Mevcut cihazlarda HC-05'i seçin ve 1234 olarak şifreyi girin
Adım 3: - Eşleştirdikten sonra, Bluetooth Terminal uygulamasını açın ve bir cihaz bağlayın ve aşağıda gösterildiği gibi HC-05'i seçin
Adım 4: - HC-05 Bluetooth Modülünü bağladıktan sonra, LED'i AÇMAK ve KAPATMAK için terminal 1 veya 0'daki değerleri girin. Ayrıca LED'in Açık veya Kapalı olduğunu belirten bir mesaj alacaksınız.