Mundarija:

Noto'g'ri sozlangan HC-06 Bluetooth modulini tiklash: 4 qadam
Noto'g'ri sozlangan HC-06 Bluetooth modulini tiklash: 4 qadam

Video: Noto'g'ri sozlangan HC-06 Bluetooth modulini tiklash: 4 qadam

Video: Noto'g'ri sozlangan HC-06 Bluetooth modulini tiklash: 4 qadam
Video: Смарт-Часы Maimo Watch - Детальный ОБЗОР + ТЕСТЫ 2024, Noyabr
Anonim
Noto'g'ri sozlangan HC-06 Bluetooth modulini tiklash
Noto'g'ri sozlangan HC-06 Bluetooth modulini tiklash

Sof maximalizmdan kelib chiqib, men HC-06 Bluetooth (qul) modulini AT+BAUDC buyrug'i bilan 1, 382, 400 bayt tezligiga sozladim. Arduino unga ulanganidan beri Modulni SoftwareSerial kutubxonasida ishlata olmadi. Men Arduino -ning apparat seriyasi (0 va 1 -gachasi pinlar) bilan tezlikni qaytarishga harakat qildim.

Men ham echim topmasdan, mavzuni Google -ga sinab ko'rdim. Ehtimol, kompyuterning ketma -ket portini ishlatish yechim bo'lishi mumkin edi (12V dan 3V3 gacha mantiq darajasini o'zgartirish bilan), lekin mening kompyuterimda bu eskirgan port yo'q, shuning uchun men boshqa echim bilan chiqishim kerak edi.

1 -qadam: Sizga nima kerak

Sizga nima kerak bo'ladi
Sizga nima kerak bo'ladi
  • Arudino/Genuino taxtasi standart Atmel ATMEGA328P-PU MCU (@16 MGts) bilan.
  • HC-06 Bluetooth moduli 1, 382, 400 ta tinglaydi
  • Https://www.arduino.cc saytidan asosiy arduino IDE

2 -qadam: Yechim

Yechim
Yechim
Yechim
Yechim

E'tibor bering, bu ko'rsatma va yechim 1, 382, 400 bod (AT+BAUDC) ssenariysi uchun tuzilgan. Yechim boshqa bod tezligi uchun ishlamaydi. Boshqa holatlarni hal qilish uchun 3 -bosqichdan boshlab qadamlarni ko'ring.

Yechim haqiqatan ham oddiy.

  1. HC-06 ning VCC pinini 5V Arduino piniga ulang.
  2. HC-06 ning GND pinini Arduino GND piniga ulang.
  3. HC-06 ning RXD pinini Arduino-ning 2-piniga ulang.
  4. HC-06 ning TXD pinini ulanmagan holda qoldiring (yoki 8-pinga ulang).
  5. Hc06reset.ino eskizini yuklang.
  6. Dastur HC-06 ni 115, 200 bod rejimiga (AT+BAUD8) o'rnatadi.
  7. Qayta tiklangan HC-06 modulidan avvalgidek foydalaning.

3 -qadam: Sahna ortida …

Sahna ortida…
Sahna ortida…
Sahna ortida…
Sahna ortida…

Arduino IDE bilan ta'minlangan SoftwareSerial kutubxonasi sekundiga 115,200 bit tezlikni uzatishga qodir, shuning uchun kerakli 1, 382, 400 bayt tezligida aloqa qilish tez emas. Standart Arduino platasi 16 MGts chastotada ishlashini hisobga olsak, nazariy siqilmagan maksimal bit tezligi 16 000 000 bit/sek. Hozircha yaxshimiz!

SoftwareSerial.cpp haqidagi tushunchamga asoslanib, seial aloqa o'zgarishlar o'rtasida kechikish (bu tezlik tezligidan kelib chiqadi) uchun yuqori (= 1) yoki past (= 0) chiqish pinini o'rnatish orqali amalga oshiriladi.

  • Chiqish pimi sukut bo'yicha yuqori (ma'lumot yo'q degan ma'noni anglatadi), keyin
  • a Boshlanish biti uzatiladi (u pinni past tortadi), keyin
  • LSB -dan MSB -ga uzatiladigan 8 bitli ma'lumotlar (+5V, agar bit 1 va 0 bo'lmasa)
  • to'xtash biti uzatiladi (u pinni baland tortadi)

Shunday qilib, 1 bayt 10 bit yordamida uzatiladi.

Biz yuborishimiz kerak bo'lgan xabar AT+BAUD8 (oxirida / n, / r holda). Bu buyruq HC-06-ni 115, 200 bod tezligiga qaytaradi, uni oddiy kutubxonalar boshqarishi mumkin.

Bitlarni 1, 382, 400 bit/sek tezlikda yuborish uchun har bir bit uchun bizda har bir bit uchun 1/1, 382, 400 soniya (taxminan 723,38 ns) vaqt bor. Arduino 16 000 000 MGts chastotada ishlaydi, shuning uchun har bir tsikl 1/16 000 000 sekund davom etadi - bu tsikl uchun 62,5 ns.

AVR yig'ish kodidan foydalanib, biz chiqish tugmachasini yuqori yoki past qilib qo'yish uchun OUT buyrug'idan foydalanishimiz mumkin va NOP aynan bitta CPU tsiklini kutish uchun. Ikkala buyruq ham aynan 1 protsessor tsikliga to'g'ri keladi. Shunday qilib, 723.38 ns bit vaqti har bir uzatiladigan bit uchun 11 dan 12 gacha arduino ko'rsatmalari bilan qoplanishi mumkin. Bir narsani e'tiborga olish kerak: OUT buyrug'i bir vaqtning o'zida butun baytni o'rnatadi, shuning uchun biz muammo bo'lmagan PORTxni tanlashimiz kerak. ATMEGA328P-PU-dan foydalanish, masalan, PORTD (arduino pinlari 0-7) bu holat uchun juda mos keladi. Bitni o'rnatgandan so'ng, faqat 10-11 NOP tomonidan bajariladigan to'g'ri vaqt o'tishi kerak va bu hammasi.

Hisoblash tafsilotlarini quyidagi Excel faylidan topishingiz mumkin. Bu fayl dastur uchun zarur bo'lgan assemly ko'rsatmalarni yaratdi. Yaratilgan kodni joylashtirishdan keyin faqat bir nechta almashtirish kerak edi.

4 -qadam: Qo'shimcha o'qish/ yaxshilash imkoniyatlari

  • Oldingi bosqichda tasvirlangan texnikadan foydalanib, SoftwareSerial kutubxonasini tezroq qilish mumkin.
  • FedericoK2 har bir bit tezligi uchun HC-06 qutqarish kodini ishlab chiqaruvchi ajoyib vositani yaratdi. Saytga bu erdan kiring: https://tools.krum.com.ar/save_your_hc-06/ Rahmat FedericoK2

Tavsiya: