Robotik Kodlama

Robotik Kodlama
Ana Sayfa

İLGİNİZİ ÇEKEBİLECEK LİNKLER :

hm-10 etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
hm-10 etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

29 Nisan 2021 Perşembe

HM-10 Bluetooth Modülü ve Arduino

 

HM-10 Bluetooth Modülü ve Arduino

HM-10 Bluetooth Modülü, 4.0 teknolojisine sahip en ucuz Bluetooth'dur. Modül, birden fazla iletişim yöntemiyle gelir, ancak onu diğerlerinden farklı kılan tek şey, en ucuz fiyatlarla en son teknolojisidir. 4.0 teknolojisine sahip Bluetooth kullanımı, yüksek hızı ve çok daha az güç tüketimi nedeniyle son zamanlarda artmaktadır. 2.0 ve 3.0 teknolojisine sahip bir dizi Bluetooth teknolojisi var, ancak HM-10, 4.0 teknolojisine sahip olandır. Diğer modüller için çok daha hızlı olan 24Mbs hızında yalnızca 100 metreye kadar veri gönderebilir. 3.0, yalnızca 3Mbs hıza ulaşabilir.

Pinout diyagramı HM-10

HM-10 Bluetooth modülü, seri iletişim olarak bilinen tek bir iletişim yöntemine sahiptir. Cihazın kullanılması için her zaman üçüncü taraf bir cihaza bağlıdır. Tüm bu iğneler:

HM 10 Bluetooth modülü Pinout şeması

Pin Yapılandırma Ayrıntıları

VCC
Modülün güç girişine güç vermek için, VCC pini gücün pozitif terminaline bağlanır.
GND
Topraklama pimi, her DC devresinde güç ve diğer cihazların düzgün çalışması için ortak bir topraklama yapmak için her zaman önemlidir. GND pini, gereksinimi yerine getirmeye yardımcı olacaktır.

RX
HC10, veri gönderme ve alma için UART iletişim protokolünü takip eder. RX, verilerin Arduino / mikrodenetleyiciden alınmasına yardımcı olacaktır.
TX
TX, verileri Bluetooth'tan Arduino / mikrodenetleyiciye gönderecektir.

Durum
Bu pin sadece eyalet temsili içindir. Oluşturulan Bluetooth bağlantısı için durum pininde YÜKSEK bir çıkış sinyali olacaktır, aksi takdirde düşük olacaktır.
BRK
BRK, Bluetooth'un başka bir modülle bağlantısını kesmeye yardımcı olan kesintiyi temsil eder. Bağlantıyı kesmek için üzerine DÜŞÜK giriş sinyalini uygulayın.
Buton
Cihaz üzerinde BRK pini gibi bağlantıyı kesen bir düğme bulunmaktadır.
LED
Yerleşik led görselleştirme içindir. Bu, Bluetooth cihazının mevcut durumunu anlamaya yardımcı olur.

HM-10 BT Modül Özellikleri

  • HM-10, en son 4.0 Bluetooth teknolojisine sahiptir.
  • HM-10 ile bayt göndermede sınır yoktur.
  • Bu modül ile çalışma durumunda bile güç tüketimi çok daha azdır.
  • HC10 modülü, açık bir alanda 100 metre aralığında 2.5GHz frekans bandını kullanır.
  • Sadece bağlantıların kesilmesiyle Master veya Slave olarak kullanılabilir.
  • Modül, her TTL / CMOS cihazında ortak olan yalnızca 2-3.7V'de çalışır.
  • Tek bir modülün 256Kb flash belleği ve 8Kb SRAM'ı vardır.
  • Modül içerisinde UART haberleşmesi ile kullanılabilen yerleşik GPIO pinleri bulunmaktadır,
  • GFSK (Gaussian Frequency Shift Keying), modül için verilerin aktarılmasına yardımcı olur.
  • Cihaz, proje gereksinimine göre dahili ayarın yapılmasına yardımcı olan veri ve komut modu sunar.

HM-10 Bluetooth Modülü Uygulamaları

  • Kulaklıklar ve fareler gibi her ticari cihaz, düşük güç tüketimi nedeniyle artık HM-10 kullanıyor.
  • Dizüstü bilgisayarların çoğunda ayrıca 4.0 Bluetooth var.
  • IoT'de sürekli veri gönderme cihazları da sınırsız özelliği nedeniyle HM-10'a sahiptir.
  • Robotlar gibi her iki yönlü iletişim cihazı, uzaktan kumandalı arabalar geliştirme düzeyinde HM-10 kullanıyor.

HM-10 nasıl kullanılır

HM-10'un kullanımı diğer modüller gibi çok daha kolaydır. Modül doğrudan seri iletişim ile kullanılabilir, ancak bazen iletişim sırasında sorunla karşı karşıya kalır. Sorunları önlemek için kitaplıkları dijital pinlerle kullanmak daha iyidir. dış kitaplıkları kullanarak, programlama bazı geliştiriciler için karmaşık hale gelebilir. HM-10 modülü çoğunlukla Arduino'ya yardımcı olur çünkü bu kartla modül üzerinde yapılan çok iş vardır. HM-10'u kullanmak için aşağıdaki kütüphane iletişim kurmaya yardımcı oluyor.

#include <AltSoftSerial.h>

HM-10'u kullanırken kartın bazen Bluetooth'u etkileyebilecek seri iletişimi kullanması gerekebilir. Herhangi bir kesintiyi önlemek için dijital pinler bu kütüphanenin kullanımı ile Bluetooth ile iletişim kurabilir. Cihaz hem bağımlı hem de ana olarak hareket edebilir, ancak her iki modun da çalıştırılması için bazı talimatlar vardır.

Arduino nano ile arayüz oluşturan HM-10 Bluetooth Modülü

Arduino'nun Dijital pinlerini HM-10 ile kullanmak için aşağıdaki bağlantının kurulması gerekir.

Arduino nano ile arayüz oluşturan HM-10 Bluetooth Modülü

Kitaplığın varsayılan olarak her seri iletişim modülünün izlemesi gereken bazı gereksinimleri vardır. Sadece belirli pinlerin seri olarak çalışmasına izin verir.

Farklı geliştirme panolarının seri pimleri

Farklı panolar için bunlar:

Yazı tahtasıİletimTeslim almakPWM kullanılabilir
Arduino Uno / Nano.9810
Arduino Leonardo.513Yok
Arduino Mega.464844, 45
Teensy 3.0 ve 3.1.212222
Teensy 2.0.910Yok
Teensy ++ 2.0.25426, 27
Sanguino.131412
Kablolama-S.5612

Slave / Master olarak HM-10 Bluetooth Modülü

Cihaz, varsayılan modda Slave / Master olarak hareket edecektir. Modülü slave olarak kullanmak için aşağıdaki kod yardımcı olacaktır.

#include <AltSoftSerial.h>

AltSoftSerial bluetoothSerial;

boolean NL = true;

void setup() {

Serial.begin(9600);

while (!Serial) ;

bluetoothSerial.begin(9600);

}




void loop() {

char Serialdata;




if (Serial.available()) {

Serialdata = Serial.read();

bluetoothSerial.print(Serialdata);




if (Serialdata!=10 & Serialdata!=13 )

{

bluetoothSerial.write(Serialdata);

}

if (NL) { Serial.print("\r\n>"); NL = false; }

Serial.write(Serialdata);

if (Serialdata==10) { NL = true; }

}

if (bluetoothSerial.available()) {

Serialdata = bluetoothSerial.read();

Serial.print(Serialdata);

}

}
Kod, Arduino ve Bluetooth arasındaki iletişim içindir. Kod, meşgul olduğunda Bluetooth ile iletişim kurmanıza yardımcı olacaktır. Bu yöntemle, veri modu ve komut moduna aynı kod kullanılarak erişilebilir.

HM-10 Komut ve Veri Modu

Cihaz bir veri ve komut modu olarak hareket edecektir, ancak komut moduna geçmek için bazı prosedürleri izlemesi gerekecektir. Komut modunda, cihaz slave'den master'a değiştirilebilir. Önce Arduino com portunu açın, ardından HC10 ile başka bir Bluetooth cihazı arasındaki bağlantıyı kesin, bu üç yöntemle yapılabilir.

  • Tahtadaki düğme
  • BRK pinine Yüksek giriş uygulayarak
  • Cihazı yeniden başlatarak.

Bağlantı kesildikten sonra, cihaz tekrar bağlanacak ve com portundan tanınabilir. Şimdi komutu girin:

AT

Ardından bağlantıyı doğrulayacak bir "tamam" mesajı görünecektir.

AT Komutları

Artık aşağıdaki komutlar farklı işlevler için kullanılabilir.

KOMUTLARDETAY
ATKomut moduna girmek için
AT + NAME?Mevcut modül adını verir
AT + NAMEnewnameModülün adını değiştirmek için bu komutu kullanın
AT + ADDR?HM-10 modülünün MAC adresini döndürür
+ VERS?

 

+ VERR AT?

Modülün sürümünü döndürür
AT + SIFIRLADinlenme, bağlantıyı yeniden başlatmaya yardımcı olur
AT + YENİLEMETüm ayarları tek bir komutla sıfırlamak için
+ BAUD AT?Baud hızlarının ayarlanması hakkında bilgi almak için
AT + BAUDxBaud hızı için yeni değerin ayarlanmasına yardımcı olacaktır
AT + NOTIBildirim durumunu görüntülemek için
AT + NOT0, AT + NOT1Bildirimleri açıp kapatmaya yardımcı olur.
AT + NOTI?Bildirim durumunu 0 ve 1 biçiminde görüntülemeye yardımcı olur
AT + PASS?Eşleştirmede şifrenin sorgulanması için
AT + GEÇİŞYeni Şifre belirlemek için
AT + ROLE?Modülün Modlarını kontrol etmek için
AT + ROLExX'i bağımlı birim için 0 ve ana birim için 1 ile değiştirerek modları değiştirmek için
AT + IMME?Bağlantı kuran yöntemler seri monitörde görüntülenebilir
AT + IMMExOtomatik bağlantı için X'i ve manuel ile 1'i değiştirin.
AT + SIFIRLAHM-10'u yeniden başlatacak
AT + YENİLEMEFabrika ayarlarına sıfırla

Güvenlik sorunu

Güvenlik, modülde önemli bir sorun değildir. Yalnızca tek bir cihazla iletişim kurabilir. modül veri göndermeye devam eder ve diğer uçtan onay alır. Bağlantının kesilmesi durumunda cihaz bağlantısı kesilir ve veri aktarımını durdurur. Cihaz, diğer cihazlarla eşleşmek için de şifreyi kullanır. Otomatik ve manuel olmak üzere iki iletişim yöntemi vardır. Manuel yöntem, bilinmeyen herhangi bir cihazla bağlantıyı önlemeye yardımcı olur ve bu da onu daha güvenli hale getirir.

HM-10 Bluetooth Modülü Örneği

Bu örnekte, cihaz bir LED'i kontrol etmek için kullanılacaktır. Arduino'da yerleşik LED'ler de kullanılabilir. İlk önce devreyi aşağıdaki şemaya göre bağlar.

HM-10 Bluetooth Modülü, LED ile arduino nano örneği ile arayüz oluşturuyor

Şimdi verileri Bluetooth cihazına göndermek için önceden tasarlanmış herhangi bir mobil uygulama kullanılabilir Kullanılabilir ancak üçüncü taraf uygulamaları kullanmak için önce talimatlarını okuyun. Bu uygulamaların her bir düğme için her zaman özel talimatları vardır. Ardından aşağıdaki Arduino kodunun verdiği talimatı ayarlayın.

#include <AltSoftSerial.h>

AltSoftSerial bluetoothSerial;

 

boolean NL = true;

void setup() {

Serial.begin(9600);

while (!Serial) ;

bluetoothSerial.begin(9600);

pinMode(13, OUTPUT);

}

 

void loop() {

char Serialdata;

 

if (Serial.available()) {

Serialdata = Serial.read();

bluetoothSerial.print(Serialdata);

 

if (Serialdata!=10 & Serialdata!=13 )

{

bluetoothSerial.write(Serialdata);

}

if (NL) { Serial.print("\r\n>"); NL = false; }

Serial.write(Serialdata);

if (Serialdata==10) { NL = true; }

 

}

if (bluetoothSerial.available()) {

Serialdata = bluetoothSerial.read();

if(Serialdata == 1) digitalWrite(13, HIGH); // Change the 1 according to the mobile app instructions

else digitalWrite(13, LOW);

 

Serial.print(Serialdata);

}

}

Bluetooth'tan gelen sinyal bir olduğunda sadece basit bir işlem yapmak ve LED çıkışını YÜKSEK yapmaktır.


ANA SAYFAYA DÖN

Bahadır ÖZGEN
Electronic Robotic Coding Research and Development 1975 - ∞
Learn Forever
If you want, let's learn together...
https://roboticcode2020.blogspot.com/
bahadirozgen1975@gmail.com
facebook    robotic.code
instagram    @roboticcode


Sayfalarımı ziyaret ettiğiniz için teşekkür ederim.Bu sitede mevcut olan içerikler kendi oluşturduğum projeler yazı,resim ve videolardan oluşmaktadır.İçerik oluşturmak çok uzun sürdüğü için bazı projelerde yurtdışı kaynaklardan faydalandım.Buradaki amacım ticari değildir.Kaynağı belli olan ve bizim kaynağına ulaşabildiğimiz materyal (yazı, fotoğraf, resim, video v.b.) için ilgili konularda fotoğraflarda logo varsa v.b. not olarak gösterilecektir.Sitemizde yayınlanan tüm içerik, bizim tarafımızdan ve internet üzerinden youtube, facebook ve blog gibi paylaşıma sunulmuş kaynak sitelerden alındığı için, sitemiz yasal yükümlülüğe tabi tutulamaz. Sitemizde telif haklarının size ait olduğu bir içerik varsa ve bunu kaldırmamızı isterseniz, iletişim sayfamızdan bizimle iletişime geçtiğiniz takdirde içerik yayından kaldırılacaktır.Bu konu ve modüller ile uğraşarak, ileride çok güzel makine ve elektronik aletler yapabilirsiniz.