Mikrokontrolörler, fiziksel dünya ile sensörler aracılığıyla etkileşime girebilecek küçük, düşük maliyetli bilgisayarlardır, eylemciler ve iletişim arayüzleri. Onlar, modern gömülü sistemlerin arka kemiğini oluştururlar, ev otomasyonlarından, kabloların dağınıklığı olmadan kullanılabilir ve pratik yollardan biri, bir robotu Bluetooth modülü ile eşleştirerek, bu modüller, tabletleri, dizüstü bilgisayarları, dizüstü bilgisayarları, dizüstü bilgisayarları ve diğer Bluetooth kontrolleri ile nasıl iletişim kurabilecektir.

Bluetooth Modüllerini Anlamak

Bluetooth Classic vs. Bluetooth Low Energy (BLE)

Tüm Bluetooth modülleri aynı değildir. karşılaşacağınız iki büyük kategori de öyledir:0)Mavitooth Classic[D:1) ve [[Dönt:2) Mavitooth Low Energy (sol)[Dönetici).

  • [FONT=0)Mavitooth Classic[Dönetici] sürekli veri akışı için tasarlanmıştır – kablosuz konuşmacılar, kulaklıklar ve seri port değiştirme. HC-05 ve HC06 gibi modüller bu modda çalışır.
  • [FONT:0]Mavitooth Low Energy (BLE)), uzun batarya hayatına ihtiyaç duyan uygulamaları hedef alıyor ve sadece küçük patlamaları veri – örneğin, her dakika okuma yapan bir sıcaklık sensörü, böylece telefonunuzun veya bilgisayarında BLEM- 10.

Birçok hobi projesi için, HC-05 gibi Bluetooth Classic modüller en kolay başlangıç noktası çünkü sanal bir seri kablo olarak kullanılabilirler. Ancak, aylarca pillerde koşmayı planlıyorsanız, BLE'ye geçiş yapmayı düşünün.

Popüler Bluetooth Modülleri

Üretici topluluğundaki en yaygın kullanılan modüller şunlardır:

  • [FONT=0)HC-05[Dönetici: Bluetooth 2.0 Classic, usta veya köle olarak yapılandırılabilir, AT komutlarını destekler, öğrenme için iyi destekler.
  • [FONT:0)HC-06[[[Dönetici:0)[[0])[[0])))[0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|
  • [FONT=0) # 10[[Dönetici:0))[[[Dönetici:0) # 10[D)[0|0|D][/FONT=2541. Arduino ile BLE projeler için çok popüler.
  • [FONT:0)Built-in Bluetooth'ı ESP32) - ESP32 mikrokontroller hem Klasik hem de BLE desteği içerir, ayrı bir modül için gerekli olan ihtiyacı ortadan kaldırır.

Kapsamlı bir liste ve veri tabloları için, DÜŞÜNDÜ'ye bakınız:0)Arduino Bluetooth belgeleri).

Neden Bluetooth'ı Microkontroller için ekleyin?

Bluetooth'ın bütünleştirilmesi, geniş bir olasılık yelpazesini açıyor. İşte en çekici nedenler:

  • [FONT:0]Wireless kontrol ve izleme[[Dönetici: 1) Operate ışıklar, motorlar veya telefonlarınızdan kabloya bağlı olmadan pompalar.
  • [FONT:0]Remote data log[[Dönetici: 1) Log sensör verileri (sıcak, nem, GPS) gerçek zamanlı bir telefon veya bilgisayar için.
  • [FONT:0)Koleksiyon[[Dönetici: 1 ) – USB kablolar olmadan kodunuzu silmek için kablosuz bir seri bağlantı olarak Bluetooth kullanın.
  • [FONT:0) Mobil uygulamalarla ([Dönetici: 1)) bağlantı kurmak - Kendi uygulamanızı kurmak ( MIT App Inventor, Android Studio veya Swift) donanımlarınızla etkileşime girmek için.
  • [[Düzük maliyeti ve kullanılabilirlik[[Dönetici:0) Düşük maliyet ve kullanılabilirlik[Dönetici: Bluetooth modülleri sadece birkaç dolara mal olur ve çoğu elektronik distribütör tarafından stoklanır.
  • [Düzücük güç seçenekleri[[[Dönemli:0) Düşük güç seçenekleri[[Dönemli:0) Düşük güç seçenekleri[[Dönemli: 1) – Taşınmış, aylarca küçük paralı bataryalarda projeler çalıştırabilirsiniz.

Interface'in Temelleri: Elektrik ve İletişim Temelleri

Kablolamadan önce birkaç kritik konsept anlamanız gerekir: gerilim seviyeleri, seri iletişim (UART), ve baud oranı.

Gerç Seviyeler

Birçok mikrokontrol cihazı (örneğin, Arduino Uno) 5V'de çalışır, birçok Bluetooth modül (özellikle HC-05, HM-10) 3,3V cihazlardır.[/0]Bir 5V mantığı doğrudan bir modüle zarar verebilir.[DDDDDDDDDDDDDDDDDDDDDD) Veri hatları için (TX ve RX) bir seviye değiştirici veya basit bir gerilim bölme cihazı kullanın.

  • Mikrokontrolörlerin TX hattında modüle olan 1kULL + 2kULL direnç veya gerilim bölmek için kullanın.
  • Veya özel bir 3.3V/5V mantık seviye dönüştürücü modülü kullanın.
  • VCC'yi 3.3V'ye bağlayın (bazı modüller VCC'de 5V alabilir, ancak veri tabloyu kontrol edebilir).
  • Her zaman GND'i GND'e bağlar.

UART Seri İletişim

Bluetooth modülleri genellikle bir seri UART arayüzü üzerinden iletişim kurar. Mikrokontroller TX pin'i gönderir ve modülün onu RX pin'de alır ve tersi olarak atamanız gerekir: Bu, bağlantıya ihtiyacınız anlamına gelir:

  • Mikrokontroller TX → Modül
  • Micro controller RX → Modül TX
  • Ve hatları geç, böylece her cihaz diğerin pin'i konuşuyor.

Çoğu Arduino tahtaları, en az bir donanım seri porta sahiptir (pins 0 ve 1) kullanabilirsiniz, ancak bu aynı zamanda USB-serial dönüştürücüyü de bağlar. Gelişmiş projeler için, kullanım için:0) Donanım serisini ücretsiz tutmak için iki dijital pin kullanır.

Baud Rate

Baud oranı mikro kontroller ve Bluetooth modülü arasında maç olmalıdır. Ortak varsayılanlar: HC-05 ve HC-06, 9600 baud'da gelir. HC-05'te AT komutlarını kullanarak değiştirebilirsiniz, ancak HC-06 özel bir programcı olmadan değiştirilemez.

StepbyStep Wiring Guide (HC-05 + Arduino Uno)

Bir HC-05 Bluetooth modülünün bir master /slave örneği olarak bir Arduino Uno'ya telelim.Çünkü HC-05, 3,6V cihazıdır, gerilimle dikkatli olmalıyız.

Malzemeler Malzemeler Malzemeler

  • Arduino Uno (veya 5V mantık tahta)
  • HC-05 Bluetooth modülü
  • Ekmek ve atlayıcı teller
  • İki 1kULL direnççiler ve bir 2kULL direnç ( basit bir gerilim bölmesi için)

Wiring Diagram

  1. [FONT:0)Power:[Dönetici: [Dönetici: 0 3) Modül VCC → 3V Arduino üzerinde → 3V (veya 5V eğer modül veri tablosu izin verirse – ilk test). GND → GND.
  2. [FONT:0)TX bağlantısı (module Uno'ya gönderir): [Dönetici: 1 ) Modül TX → Uno RX (pin 0). Bu çizgi, Uno için güvenli olan 3.3V.
  3. [FONT=0)RX bağlantısı (Uno modülüne gönderir): Uno TX (pin 1) → gerilim bölmeci → Modül RX. 1kULLAH'ın sonuna karşı bir bağlantı kurar: 2kULLAH'ın sonuna kadar bir bağlantıya gider.
  4. [FONT:0)Okul:[Dönetici:[Dönetici: 0) Eğer AT komut modunda bir HC-05 kullanıyorsanız, aynı zamanda EN pin'i veya yüksek çekmeniz gerekebilir - modülünüzün pinout'ını kontrol edin.

Daha temiz bir alternatif, ucuz ve satılan direnç dirençlerden kaçınmak için bir mantık seviyesi dönüştürücü modül kullanmaktır.

Komutan Modu Konsülü (HC-05)

Modül ismini değiştirmek için, baud oranı veya şifre, AT komut modunda girmeniz gerekir: Bu adımları takip edin:

  1. modülün diğer Bluetooth cihazına bağlı olmadığından emin olun.
  2. EN (veya anahtar) pin, güçlendirici iken. veya 3.9V'ye kadar pin.
  3. Arduino Seri Monitor 38400 baud (bir çok HC-05 için vaftiz edilen) açın ve “Both NL & CR” seçeneğini seçin.
  4. TipFLT:1 - sen de acıkmalısın:2).
  5. komutları kullanın:Dinler, ad değiştirmek için, [[Dinler:) PIN'i kurmak için.
  6. Daha fazla ayrıntı, [[0)-HC veri sayfası ve öğretici) bulunabilir.

Bluetooth İletişim için Mikrokontrolü programlama

Bir kez telli, göndermek ve veri almak için basit bir çizer yazmanız gerekir. Fikir basit: modülden gelen veriler (telefondan gelen veriler) seri tamponta görünür ve geri göndermek için modüle veri yazabilirsiniz.

Aşağıda kavramsal bir iskelet – doğrudan kopyapaste kodu kopyalamayın, ancak ihtiyaçlarınıza adapte olun.

Sizin üzerinize:

  • Seri port: 03. Sezon 7. Bölüm (Eğer donanım serisi kullanıyorsanız) veya [[FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT
  • Yazılım serisini kullanıyorsanız, modülün TX'i pin 2 ve RX'ı pin 3.

Sizin üzerinize:

  • Veriler Bluetooth modülünden kullanılabilirse kontrol edin: 03.03.2012.
  • Bunu okuyun ve belki de Seri İzlemeye yankılayın: 03.03.2012
  • Ayrıca, Seri Monitor'ten modüle kadar verileri ileri sürün:FLT:13).

Bu iki yönlü köprü, mikro kontrollerinizi telefonunuzdan kontrol etmenize olanak sağlar ( Android için “Serial Bluetooth Terminali” gibi). Test, “ON” veya bir LED açmak için “OFF” göndermek için.

Bir Mobile Device ile Pairing ve İletişim

Bir Bluetooth Classic modülünün kullanılması, herhangi bir Bluetooth cihazının eşleştirilmesine benzerdir:

  1. Mikrokontrolörünüz ve modülünüzü güçleyin.
  2. Telefonunuzda, Bluetooth ayarlarına gidin ve cihazlar için tarama yapın.
  3. Modül adına bakın (default “HC-05” veya “HC-06”). Çifte dokunmak için Tap - varsayılan PIN genellikle 1234 veya 0000.
  4. Bir kez çiftleştirilmiş, bir seri terminal uygulaması açın, cihazı seçin ve bir bağlantı görmeniz gerekir. modülün LED genellikle boş ve yavaşlandığında hızlı kıracaktır.

HM-10 gibi BLE modüller için, süreç biraz farklıdır: bir seri port profilinden ziyade bir sabit bağlantı (UART hizmeti) uyumluluk için bir seri bağlantı (UART hizmeti) simülatörü veya “Adatis Bluefur LE Connect”).

Ortak meydan okumalar ve Nasıl Çözülecek

Gerginlik Yanlış Hasar

Bahsettiği gibi, 5V mantığı 3.3V girişlerini yok edebilir. Her zaman mikrokontrolörden modüle TX hattını modüle kadar değiştirir. Daha önce gösterilen bir seviye dönüştürücü veya direnç bölmek için.If the component does not response, check if it is still alive by ölçüm gerilimi on VCC.

Baud Rate Mismatch

En yaygın sorun: modül ve çizer farklı baud oranlarına ayarlanır. HC-05 için varsayılan AT baud 38400, ancak AT modundan sonra iletişim genellikle 9600. Çift kontrol.Seks'in "OK" cevabına kadar çeşitli hızlarla bağlantı kurarak, bağlantılarını doğrulayabilirsiniz.

TX/RX Yanlış Olarak Yanlışlandı

Unutmayın: TX, RX'a gider, RX TX-to-TX ve RX-to-RX'i sürekli olarak test etmek veya veri hatları değiştirmek için çok fazla bir yer kullanır.

Interference and Range

Bluetooth Classic yaklaşık 10 metre kapalıdır. Duvarlar ve diğer 2.4 GHz cihazlar (Wi-Fi, mikrodalga fırınlar) bunu azaltabilir.Eğer paket kaybı deneyimseniz, modülü büyük metal nesnelerden uzaklaştırın veya harici bir antenle bir modüle geçmeyi deneyin (örneğin, HC-05 anten pin).

AT Komutan Modu Çalışmak Değil

EN pin yüksek ya da güç sırasında düğmeyi tutmalısınız. Ayrıca AT modundaki vaftiz oranını onaylayın - çoğu HC-05s 38400 bekliyor, ancak bazı klonlar 9600 kullanabilir.

Gerçek Dünya Projesi Bluetooth Modülleri ile Fikirler

Temel iletişim çalışmasına sahip olduğunuz zaman, olasılıklar sonsuzdur. İşte size başlamak için birkaç proje:

1. Kablosuz LED Strip Controller

Bir HC05 veya BLE modülü bir akıllı uygulama aracılığıyla bir RGB LED şerit kontrol etmek için kullanın. “kırmızı”, “mavi”, “parti” renkler değiştirmek için bir MOSFET ile birlikte daha yüksek akım işlemek için bir araya getirin.

2. Uzak Sıcaklık ve Nem Monitor

Bir 407 sensör ve BLE modülü (HM-10) gibi bir Arduino veya ESP32. Her birkaç saniyede bir tahta yayın sıcaklığı ve nem verileri var.Okuları görüntülemek için özel bir uygulama kullanın.Bir sera veya bebek odası monitörü için mükemmel.

3. Bluetooth Kontrolü Robot Araba Araba

Bir L298N motor sürücüsünü bir HC-05 ve bir Arduino ile gönderin. ‘F’ ( ileri) gibi karakterler gönderin, robotu kullanmak için ‘L’ (sol). kod sadece seri komutunu okur ve motor pinlerini engeller ve engeller için bir ultrasonik sensör ekleyin.

4. BLE Proximity ile Akıllı Kilit

Bir BLE beacon (ESP32 veya nRF52) kullanın, benzersiz bir ID. Merkezi bir cihaz (örneğin, akıllı telefon) beacon'un RSSI gücü için dinliyor. Telefon yeterince yakın olduğunda, birçok akıllı kilitin arkasında bir ilkedir.

Sonuç ve Sonraki Adımlar

Bir Bluetooth modülü ile bir mikrokontrolörlüğü, gömülü donanım ve mobil bağlantı arasındaki boşluğu köprüler için ödüllendirici bir yetenektir. Classic ve BLE arasındaki farkları anlamak, kablolama (prodüktif seviye değişimi dahil), ve AT komutları ile modüller yapılandırmak için öğrenmeniz, verileri kablosuz olarak iletebilirsiniz.Bir HC-05 ve bir Arduino kullanarak proje aracılığıyla başlayın, sonra daha düşük güç uygulamaları için iki katına çıkar.