Mündəricat:
- Addım 1: Nə lazımdır
- Addım 2: Həll
- Addım 3: Pərdə Arxasında…
- Addım 4: Əlavə Oxu/ Təkmilləşdirmə İmkanları
Video: Yanlış qurulmuş HC-06 Bluetooth Modulunu bərpa edin: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Saf maximalizmdən, AT+BAUDC əmri ilə HC-06 Bluetooth (qul) modulumu 1, 382, 400 baud sürətinə qurdum. Arduino ona qoşulduğundan bəri modulu SoftwareSerial kitabxanası ilə istifadə edə bilmədi. Baud sürətini Arduino -nun aparat seriyası ilə (0 və 1 sancaqlar) heç bir şans olmadan bərpa etməyə çalışdım.
Mən də keçilməz bir həll tapmadan mövzunu Google -a sınadım. Bəlkə də bir kompüterin qurulmuş seriyalı portunu istifadə etmək bir həll ola bilərdi (12V -dən 3V3 -ə qədər məntiq səviyyəsi dəyişməsi ilə), amma kompüterimdə bu köhnəlmiş port yoxdur, buna görə başqa bir həll tapmalı oldum.
Addım 1: Nə lazımdır
- Varsayılan Atmel ATMEGA328P-PU MCU (@16MHz) ilə Arudino/Genuino lövhəsi.
- HC-06 Bluetooth modulu 1, 382, 400 baud dinləyir
- Https://www.arduino.cc saytından əsas arduino IDE
Addım 2: Həll
Nəzərə alın ki, bu Təlimat və həll 1, 382, 400 baud (AT+BAUDC) ssenarisi üçün hazırlanmışdır. Həll başqa heç bir baud dərəcəsi üçün işləməyəcək. Digər halları həll etmək üçün 3 -cü addımdan başlayaraq addımlara baxın.
Həll həqiqətən sadədir.
- HC-06-nın VCC pinini 5V Arduino pininə qoşun.
- HC-06-nın GND pinini Arduinonun GND pininə qoşun.
- HC-06-nın RXD pinini Arduinonun 2-ci pininə qoşun.
- HC-06-nın TXD pinini əlaqəsiz qoyun (və ya pin 8-ə qoşulun).
- Hc06reset.ino eskizini yükləyin.
- Proqram HC-06-nı 115, 200 baud rejiminə (AT+BAUD8) qoyacaq.
- Bərpa edilmiş HC-06 modulunu əvvəlki kimi istifadə edin.
Addım 3: Pərdə Arxasında…
Arduino IDE ilə birlikdə gələn SoftwareSerial kitabxanası saniyədə ən çox 115, 200 bit ötürmə qabiliyyətinə malikdir, buna görə də istədiyiniz 1, 382, 400 baud sürətində ünsiyyət qurmaq üçün kifayət qədər sürətli deyil. Varsayılan Arduino lövhəsinin 16 MHz -də işlədiyini nəzərə alsaq, nəzəri sıxılmamış maksimum bit sürəti 16 000 000 bit/san -dir. İndiyə qədər yaxşıyıq!
SoftwareSerial.cpp anlayışıma əsaslanaraq, dəyişikliklər arasında gecikmə (baud sürətindən qaynaqlanan) ilə əlaqədar olaraq yüksək (= 1) və ya Aşağı (= 0) çıxış pinini təyin etməklə əlaqə qurulur.
- Çıxış pimi standart olaraq yüksəkdir (məlumat yoxdur deməkdir)
- bir başlanğıc biti ötürülür (pimi aşağı çəkir), sonra
- LSB -dən MSB -yə ötürülən 8 bit məlumat, (bit 1 və 0 olmadıqda+5V) sonra
- Stop biti ötürülür (pimi yüksək çəkir)
Bu yolla 1 bayt 10 bit istifadə edərək ötürülür.
Göndərməli olduğumuz mesaj AT+BAUD8 -dir (sonunda / n, / r olmadan). Bu əmr, HC-06-nı adi kitabxanalar tərəfindən idarə oluna bilən 115, 200 baud sürətinə qaytarır.
1, 382, 400 bit/saniyə sürətlə bit göndərmək üçün hər bit üçün 1/1, 382, 400 saniyə (təxminən 723.38 ns) vaxtımız var. Arduino 16 000 000 Mhz -də işləyir, buna görə hər bir dövr 1/16 000 000 saniyə davam edir - bu dövrü 62,5 ns -dir.
AVR montaj kodundan istifadə edərək, çıxış pinini yüksək və ya aşağı və NOP -u tam olaraq bir CPU dövrü gözləmək üçün OUT əmrindən istifadə edə bilərik. Hər iki əmr tam olaraq 1 cpu dövrəsini yeyir. Bu yolla 723.38 ns bit vaxtı, ötürülən bit başına 11-12 arduino təlimatı ilə əhatə oluna bilər. Nəzərə alınmalı bir şey: OUT əmri bir anda bütün bir baytı təyin edir, buna görə də bunun problem olmadığı bir PORTx seçməliyik. ATMEGA328P-PU istifadə edərək, məsələn, PORTD (arduino pinləri 0-7) bu vəziyyət üçün idealdır. Biti qurduqdan sonra, 10 -dan 11 -ə qədər NOP tərəfindən yerinə yetirilən yalnız uyğun vaxt keçməlidir.
Aşağıdakı Excel faylında hesablama təfərrüatlarını tapa bilərsiniz. Bu fayl proqram üçün tələb olunan assemly təlimatlarını yaratdı. Yaradılan kodu yapışdırdıqdan sonra yalnız bir neçə dəyişdirmə edilməli idi.
Addım 4: Əlavə Oxu/ Təkmilləşdirmə İmkanları
- Bəlkə də əvvəlki addımda təsvir olunan texnikadan istifadə edərək daha sürətli bir SoftwareSerial kitabxanası yaradıla bilər.
- FedericoK2, hər bit sürəti üçün HC-06 bərpa kodunu yaradan əla bir vasitə etdi. Sayta buradan daxil olun: https://tools.krum.com.ar/save_your_hc-06/ Təşəkkürlər FedericoK2
Tövsiyə:
Bluetooth Qulaqlığınızı bərpa edin: 6 addım
Bluetooth Qulaqlığınızı Bərpa Edin: Çox güman ki, bəzi kiçik problemlər səbəbiylə Bluetooth və simli qulaqlıqlardan imtina etmisiniz. Bu problemlərə qulaqcıq yuvasının qırılması, kabellərdəki daxili fasilələr, zədələnmiş fişlər və digərləri daxil ola bilər. Adətən bu zədələnmiş qurğular yığılır
Game Boy və ya Bənzər Elektronikanı bərpa edin: 7 addım (şəkillərlə)
Game Boy və ya Bənzər Elektronikanı bərpa edin: Hər şeydən əvvəl, mənim təlimatıma baxdığınız üçün təşəkkür edirik! İkincisi, YouTube videosuna çox vaxt sərf edirəm, buna görə də izləyin, hər şeyi izah edir. Video:
Parıltı bərpa edin (Macbook): 5 addım
Parıltı bərpa edin (Macbook): Bu yaxınlarda (yaxşı bir ildən çox əvvəl) 10 illik etibarlı Apple Laptopumdan parlaq yeni bir Macbook pro -ya yüksəltdim. Ümumiyyətlə bundan çox məmnun oldum. Amma darıxdığım bir şey var. Bilirəm, axmaq görünür, amma parlaq Apple -ı çox bəyəndim
Arduino UNO istifadə edərək ESP8266 (ESP-01) Modulunda Firmware bərpa edin və ya təkmilləşdirin: 7 addım
Arduino UNO-dan istifadə edərək ESP8266 (ESP-01) Modulunda Firmware-ni bərpa edin və ya təkmilləşdirin: Əvvəllər istifadə etdiyim ESP-01 modulu, köhnə AI Thinker firmware ilə gəlir və bir çox faydalı AT əmrləri dəstəklənmədiyindən imkanlarını məhdudlaşdırır. Hata düzəlişləri üçün proqram təminatını təkmilləşdirmək ümumiyyətlə yaxşı bir fikirdir və
Əvvəlcədən təyin edilmiş dəyərləri NFC (TfCD) ilə saxla və bərpa edin: 4 addım
Əvvəlcədən təyin edilmiş dəyərləri NFC (TfCD) ilə saxla və bərpa edin: Müəyyən bir dəyəri və ya ayarı tənzimləmək üçün necə işlədiyini yoxlamaq və sonra bu ayarı geri çağırmaq istəyirik. Bu təcrübə üçün NFC etiketini oxuduq və sonra dəyərini saxladıq. Daha sonra etiket yenidən taranabilir və dəyəri bərpa etmək üçün dəyəri geri göndərə bilər