Агуулгын хүснэгт:

Буруу тохируулсан HC-06 Bluetooth модулийг сэргээх: 4 алхам
Буруу тохируулсан HC-06 Bluetooth модулийг сэргээх: 4 алхам

Видео: Буруу тохируулсан HC-06 Bluetooth модулийг сэргээх: 4 алхам

Видео: Буруу тохируулсан HC-06 Bluetooth модулийг сэргээх: 4 алхам
Видео: Бесконтактный датчик температуры дальнего действия MLX90614-DCI с Arduino 2024, Арваннэгдүгээр
Anonim
Буруу тохируулсан HC-06 Bluetooth модулийг сэргээх
Буруу тохируулсан HC-06 Bluetooth модулийг сэргээх

Цэвэр максимализмын үүднээс би HC-06 Bluetooth (боол) модулийг AT+BAUDC командын тусламжтайгаар 1, 382, 400 baud хурдтай тохируулсан. Arduino холбогдсон цагаас хойш модулийг SoftwareSerial номын санд ашиглах боломжгүй болсон. Би Arduino -ийн техник хангамжийн цуваагаар (0 & 1 зүү) дамжуулалтыг амжилтгүй хийсэн.

Би мөн энэ сэдвийг Google -д ашиглахыг оролдсон боловч шийдэл олохгүй байна. Компьютерийн цуваа портыг ашиглах нь шийдэл байж болох юм (12V -аас 3V3 хүртэлх логик түвшинг өөрчлөх боломжтой), гэхдээ миний компьютерт хуучирсан порт байхгүй тул би өөр шийдлийг олох хэрэгтэй болсон.

Алхам 1: Танд хэрэгтэй зүйл

Танд хэрэгтэй зүйл
Танд хэрэгтэй зүйл
  • Анхдагч Atmel ATMEGA328P-PU MCU (@16MHz) бүхий Arudino/Genuino самбар.
  • HC-06 Bluetooth модуль нь 1, 382, 400 аудиог сонсдог
  • Https://www.arduino.cc дээрх үндсэн arduino IDE

Алхам 2: Шийдэл

Шийдэл
Шийдэл
Шийдэл
Шийдэл

Энэхүү зааварчилгаа ба шийдэл нь 1, 382, 400 baud (AT+BAUDC) хувилбараар хийгдсэн болохыг анхаарна уу. Энэ шийдэл нь өөр ямар ч хурдны хувьд ажиллахгүй болно. Бусад тохиолдлуудыг шийдвэрлэхийн тулд 3 -р алхамаас эхлэн алхамуудыг үзнэ үү.

Шийдэл нь үнэхээр энгийн.

  1. HC-06-ийн VCC зүүг Arduino-ийн 5V зүүтэй холбоно уу.
  2. HC-06-ийн GND зүүг Arduino-ийн GND зүүтэй холбоно уу.
  3. HC-06-ийн RXD зүүг Arduino-ийн 2-р зүү рүү холбоно уу.
  4. HC-06-ийн TXD зүүг салгалгүй орхих (эсвэл 8-р зүү рүү холбох).
  5. Hc06reset.ino ноорог байршуулах.
  6. Хөтөлбөр нь HC-06-ийг 115, 200 baud горимд (AT+BAUD8) тохируулна.
  7. Сэргээсэн HC-06 модулийг өмнөх шигээ ашиглаарай.

Алхам 3: Хөшигний ард…

Тайзны ард…
Тайзны ард…
Тайзны ард…
Тайзны ард…

Arduino IDE -тэй цуг ирдэг SoftwareSerial номын сан нь секундэд хамгийн ихдээ 115,200 бит дамжуулах чадвартай тул хүссэн 1, 382, 400 baud хурдтай холбогдоход хангалттай хурдан биш юм. Анхдагч Arduino самбар нь 16 МГц дээр ажилладаг тул онолын хувьд шахагдаагүй хамгийн их битийн хурд нь 16 000 000 бит/сек байна. Бид одоог хүртэл сайн байна!

SoftwareSerial.cpp -ийн талаархи миний ойлголт дээр үндэслэн өөрчлөлтүүдийн хоорондох саатал (дамжуулах хурднаас үүдэлтэй) гаралтын зүүг Өндөр (= 1) эсвэл Бага (= 0) тохируулах замаар хийгддэг.

  • Гаралтын зүү нь анхдагчаар өндөр байдаг (өгөгдөл байхгүй гэсэн үг)
  • a Эхлэх бит дамжуулагддаг (энэ нь зүүг бага татдаг), дараа нь
  • LSB -ээс MSB руу дамжуулсан 8 бит өгөгдөл, (бит нь 1 ба 0 -ээс өөр тохиолдолд+5V)
  • Зогсоох бит дамжуулагддаг (энэ нь зүүг өндөрт татаж авдаг)

Ийм байдлаар 1 байтыг 10 бит ашиглан дамжуулдаг.

Бидний илгээх ёстой мессеж бол AT+BAUD8 (төгсгөлд нь / n, / r байхгүй). Энэхүү тушаал нь HC-06-ийг ердийн номын сангаар зохицуулж болох 115, 200 baud хурд болгон буцаана.

Битийг 1, 382, 400 бит/сек хурдтайгаар илгээхийн тулд бит бүрийн хувьд 1/1, 382, 400 секундын хугацаатай байдаг (энэ нь ойролцоогоор 723.38 ns). Arduino нь 16 000 000 МГц давтамжтай ажилладаг тул мөчлөг бүр 1/16 000 000 сек үргэлжилдэг - энэ нь нэг мөчлөгт 62.5 нс юм.

AVR угсралтын кодыг ашигласнаар бид OUT командыг ашиглан гаралтын зүүг өндөр эсвэл бага болгож, NOP нь CPU -ийн яг нэг мөчлөгийг хүлээх болно. Хоёр тушаал хоёулаа яг 1 CPU -ийн мөчлөг иддэг. Ингэснээр 723.38 ns битийн хугацааг нэг дамжуулсан бит тутамд 11-12 arduino зааварчилгаанд хамруулж болно. Нэг зүйлийг анхаарч үзэх хэрэгтэй: OUT команд нь бүхэл бүтэн байтыг нэгэн зэрэг тохируулдаг тул энэ нь асуудал биш PORTx -ийг сонгох ёстой. ATMEGA328P-PU ашиглах, жишээлбэл PORTD (arduino pins 0-7) нь энэ нөхцөлд төгс тохирно. Битийг тохируулсны дараа зөвхөн зохих хугацаа л дуусах ёстой бөгөөд үүнийг 10-11 NOP гүйцэтгэдэг.

Та тооцооллын дэлгэрэнгүйг доорх Excel файлаас олж болно. Энэ файл нь програмын шаардлагатай зааварчилгааг үүсгэсэн. Үүсгэсэн кодыг буулгасны дараа хэдхэн солих шаардлагатай болсон.

Алхам 4: Цаашид унших/ сайжруулах боломжууд

  • Өмнөх алхамд дурдсан техникийг ашиглан SoftwareSerial номын санг илүү хурдан болгох боломжтой байж магадгүй юм.
  • FedericoK2 нь боломжит битийн хурд бүрт HC-06 сэргээх кодыг үүсгэдэг гайхалтай хэрэгсэл болжээ. Сайт руу эндээс хандана уу: https://tools.krum.com.ar/save_your_hc-06/ Баярлалаа FedericoK2

Зөвлөмж болгож буй: