Turinys:
- 1 žingsnis: ko jums reikės
- 2 žingsnis: sprendimas
- 3 žingsnis: už kadro …
- 4 žingsnis: tolesnio skaitymo/ tobulinimo galimybės
Video: Atkurti netinkamai sukonfigūruotą „HC-06“„Bluetooth“modulį: 4 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Iš gryno maksimalizmo sukonfigūravau savo HC-06 „Bluetooth“(slave) modulį į 1, 382, 400 baudų duomenų perdavimo spartą naudodami komandą AT+BAUDC. Nuo tada, kai prie jo prijungtas „Arduino“negalėjo naudotis moduliu su „SoftwareSerial“biblioteka. Aš bandžiau atkurti duomenų perdavimo spartą naudodami „Arduino“aparatinės įrangos seriją (0 ir 1 kaiščiai) nesėkmingai.
Aš taip pat bandžiau „Google“temą nerasti tinkamo sprendimo. Galbūt sprendimas būtų naudoti integruotą kompiuterio nuoseklųjį prievadą (keičiant loginį lygį nuo 12V iki 3V3), tačiau mano kompiuteryje nėra šio pasenusio prievado, todėl turėjau sugalvoti kitą sprendimą.
1 žingsnis: ko jums reikės
- „Arudino“/„Genuino“plokštė su numatytuoju Atmel ATMEGA328P-PU MCU (@16MHz).
- „HC-06“„Bluetooth“modulis, klausantis 1, 382, 400 baudų
- Pagrindinis arduino IDE iš
2 žingsnis: sprendimas
Atminkite, kad šis „Instructable“ir sprendimas yra skirtas 1, 382, 400 baudų (AT+BAUDC) scenarijui. Sprendimas neveiks jokiam kitam duomenų perdavimo greičiui. Norėdami išspręsti kitus atvejus, atlikite veiksmus, pradedant nuo 3 veiksmo.
Sprendimas tikrai paprastas.
- Prijunkite HC-06 VCC kaištį prie 5 V „Arduino“kaiščio.
- Prijunkite HC-06 GND kaištį prie „Arduino“GND kaiščio.
- Prijunkite HC-06 RXD kaištį prie 2 „Arduino“kaiščio.
- Nepalikite HC-06 TXD kaiščio (arba prijunkite prie 8 kaiščio).
- Įkelti eskizą hc06reset.ino.
- Programa nustatys HC-06 į 115, 200 baudų režimą (AT+BAUD8).
- Atkurtą HC-06 modulį naudokite kaip ir anksčiau.
3 žingsnis: už kadro …
„SoftwareSerial“biblioteka, pateikiama kartu su „Arduino IDE“, gali perduoti daugiausiai 115, 200 bitų per sekundę, todėl ji nėra pakankamai greita, kad galėtų bendrauti norimu 1, 382, 400 bitų greičiu. Atsižvelgiant į tai, kad numatytoji „Arduino“plokštė veikia 16 MHz dažniu, teorinis nesuspaustas maksimalus pralaidumas yra 16 000 000 bitų per sekundę. Mums kol kas gerai!
Remiantis mano supratimu apie „SoftwareSerial.cpp“, nuoseklusis ryšys atliekamas nustatant išvesties kaištį Aukštas (= 1) arba Žemas (= 0), atsižvelgiant į vėlavimą (kuris atsiranda dėl duomenų perdavimo spartos) tarp pakeitimų.
- Išvesties kaištis pagal numatytuosius nustatymus yra aukštas (reiškia, kad nėra duomenų)
- a Perkeliamas pradžios bitas (kuris žemai traukia kaištį), tada
- 8 bitų duomenų, perduodamų iš LSB į MSB, (+5 V, kai 1 ir 0 bitai kitaip)
- perduodamas sustabdymo bitas (kuris traukia kaištį aukštai)
Tokiu būdu 1 baitas perduodamas naudojant 10 bitų.
Pranešimas, kurį turime išsiųsti, yra AT+BAUD8 (be / n, pabaigoje). Ši komanda nustato HC-06 115, 200 baudų spartą, kurią gali valdyti įprastos bibliotekos.
Norėdami siųsti bitus 1, 382, 400 bitų per sekundę greičiu, kiekvienam bitui turime 1/1, 382, 400 sekundžių laiko (tai yra maždaug 723,38 ns) kiekvienam bitui. „Arduino“veikia 16 000 000 Mhz, todėl kiekvienas ciklas trunka 1/16 000 000 sekundžių - tai yra 62,5 ns per ciklą.
Naudodami AVR surinkimo kodą, galime naudoti komandą OUT, kad išvesties kaištis būtų aukštas arba žemas, o NOP - palaukti tiksliai vieno procesoriaus ciklo. Abi komandos suvalgo lygiai 1 procesoriaus ciklą. Tokiu būdu 723,38 ns bitų laikas gali būti padengtas pagal 11–12 arduino instrukcijų vienam perduotam bitui. Vienas dalykas, kurį reikia apsvarstyti: komanda OUT nustato visą baitą vienu metu, todėl turime pasirinkti PORTx, kur tai nėra problema. Naudojant ATMEGA328P-PU, pavyzdžiui, PORTD (arduino kaiščiai 0-7) puikiai tinka šiai būklei. Nustačius bitą, turi praeiti tik tinkamas laikas, kurį atlieka 10–11 NOP, ir viskas.
Išsamią skaičiavimo informaciją rasite žemiau esančiame „Excel“faile. Šis failas sugeneravo būtinas programos instrukcijas. Įklijavus sukurtą kodą reikėjo atlikti tik kelis pakeitimus.
4 žingsnis: tolesnio skaitymo/ tobulinimo galimybės
- Galbūt greitesnę „SoftwareSerial“biblioteką galima sukurti naudojant ankstesniame žingsnyje aprašytą metodą.
- „FedericoK2“sukūrė puikų įrankį, kuris generuoja HC-06 atkūrimo kodą kiekvienam įmanomam bitų greičiui. Pasiekite svetainę čia: https://tools.krum.com.ar/save_your_hc-06/ Ačiū FedericoK2
Rekomenduojamas:
Kaip naudoti „ciklo“ciklą „Java“masyvui atkurti: 9 žingsniai
Kaip naudoti „ciklo“ciklą „Java“masyvui atkurti: Šiandien aš jums parodysiu, kaip naudoti „Java“, norint sukurti ciklą „When“, kurį galima naudoti kartojant skaičių ar žodžių sąrašą. Ši koncepcija skirta pradinio lygio programuotojams ir visiems, norintiems greitai atnaujinti „Java“kilpas ir masyvus
Atkurti kompiuterį: 3 žingsniai
Kompiuterio atkūrimas: Jei jūsų „Windows“kompiuteris įstrigo taip, kad turite jį paleisti iš naujo arba „Windows“/„File Explorer“nėra įkeliamas arba rodomas netinkamai, pabandykite naudoti šias idėjas, kad iš naujo paleistumėte „Explorer“, iš esmės atkurdami kompiuterį. Aš tai padariau dar 2017 m. Ir nebuvau jo paskelbęs
Atkurti švytėjimą („Macbook“): 5 žingsniai
Atkurti švytėjimą („Macbook“): neseniai (na, daugiau nei prieš metus) atnaujinau iš savo patikimo 10 metų „Apple“nešiojamojo kompiuterio į blizgantį naują „Macbook Pro“. Apskritai buvau labai patenkinta. Bet man trūksta vieno dalyko. Žinau, kad tai atrodo kvaila, bet man labai patiko žėrintis „Apple“
12v/5v UPS, netinkamai naudojant saulės kolektoriaus valdiklį: 5 žingsniai
12v/5v UPS, netinkamai naudojant saulės kolektoriaus valdiklį: ar kada nors norėjote UPS projektui? Pažvelgiau į beprotiškas maitinimo tinklo UPS kainas ir maniau, kad noriu maitinti tik žemą įtampą. Na, tai pamokoma yra tau! Aš parodysiu, kad turite „netinkamai naudoti“saulės kolektorių valdiklį, kad sukurtumėte sma
Įsigykite, taisykite ir parduokite netinkamai veikiančią elektroniką su minimaliomis žiniomis: 6 žingsniai
Įsigykite, taisykite ir parduokite disfunkcinę elektroniką su minimaliomis žiniomis: Pastaba: ši instrukcija buvo įtraukta į „Epilog“ir „United States of Efficiency“konkursą. Jei jums tai patinka bet kokiu būdu, nepamirškite įvertinti ir (arba) balsuoti už tai! Priežastys, kodėl taip daroma:- Padedate sumažinti nemalonių dalykų „Landfil“