Sisukord:
- Samm: mida vajate
- 2. samm: lahendus
- Samm: kulisside taga…
- 4. samm: täiendavad lugemis-/ täiustamisvõimalused
Video: Valesti konfigureeritud Bluetooth-mooduli HC-06 taastamine: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Puhtast maksimalismist konfigureerisin oma HC-06 Bluetooth (alam) mooduli edastuskiiruseks 1, 382, 400 baud käsuga AT+BAUDC. Sellest ajast peale, kui sellega ühendatud Arduino ei saanud moodulit SoftwareSeriali koguga kasutada. Üritasin edutult taastada edastuskiirust Arduino riistvara jadaseadmega (tihvtid 0 ja 1).
Proovisin ka teemat googeldada, leidmata vastuvõetavat lahendust. Võib -olla oleks võinud lahendus olla arvuti sisseehitatud jadapordi kasutamine (12V kuni 3V3 loogilise taseme nihutamisega), kuid minu arvutis pole seda vananenud porti, seega pidin välja pakkuma teise lahenduse.
Samm: mida vajate
- Arudino/Genuino plaat, millel on vaikimisi Atmel ATMEGA328P-PU MCU (@16MHz).
- HC-06 Bluetooth-moodul kuulab 1, 382, 400 baudiga
- Põhiline arduino IDE saidilt
2. samm: lahendus
Pange tähele, et see juhend ja lahendus on loodud 1, 382, 400 baudi (AT+BAUDC) stsenaariumi jaoks. Lahendus ei toimi muude baudikiiruste korral. Muude juhtumite käsitlemiseks vaadake samme alates 3. sammust.
Lahendus on tõesti lihtne.
- Ühendage HC-06 VCC tihvt 5 V Arduino kontaktiga.
- Ühendage HC-06 GND tihvt Arduino GND tihvtiga.
- Ühendage HC-06 RXD tihvt Arduino tihvtiga 2.
- Jätke HC-06 TXD-tihvt ühendamata (või ühendage tihvtiga 8).
- Laadige üles eskiis hc06reset.ino.
- Programm seab HC-06 režiimi 115, 200 baud (AT+BAUD8).
- Kasutage taastatud HC-06 moodulit nagu varem.
Samm: kulisside taga…
Arduino IDE -ga kaasas olev SoftwareSerial raamatukogu on võimeline edastama maksimaalselt 115, 200 bitti sekundis, seega ei ole see piisavalt kiire, et suhelda soovitud 1, 382, 400 -bitise kiirusega. Arvestades, et vaikimisi Arduino plaat töötab sagedusel 16 MHz, on teoreetiline tihendamata maksimaalne bitikiirus 16 000 000 bitti sekundis. Meil on siiani hea!
Tuginedes minu arusaamale SoftwareSerial.cpp -st, toimub pidev suhtlus, seades väljundpinge kõrgeks (= 1) või madalaks (= 0) seoses muudatuste vahelise viivitusega (mis tuleneb edastuskiirusest).
- Väljundnööp on vaikimisi kõrge (tähendab, et andmeid pole)
- a Edastatakse stardibitt (mis tõmbab tihvti madalale), seejärel
- 8 bitti andmeid, mis edastatakse LSB -lt MSB -le (+5 V, kui bit 1 ja 0 muidu)
- edastatakse stopp -bit (mis tõmbab tihvti kõrgele)
Sel viisil edastatakse 1 bait 10 bitti kasutades.
Sõnum, mille peame saatma, on AT+BAUD8 (ilma / n, lõpus r). See käsk seab HC-06 tagasi 115, 200-bitisele kiirusele, mida saavad hallata tavalised teegid.
Bittide saatmiseks kiirusega 1, 382, 400 bitti sekundis on iga biti jaoks iga biti jaoks 1/1, 382, 400 sekundit aega (see on ligikaudu 723,38 ns). Arduino töötab 16 000 000 MHz, seega kestab iga tsükkel 1/16 000 000 sekundit - see tähendab 62,5 ns tsükli kohta.
Kasutades AVR -i koostamiskoodi, saame kasutada käsku OUT, et seada väljundpinge kõrgeks või madalaks ja NOP oodata täpselt üht protsessoritsüklit. Mõlemad käsud söövad täpselt 1 protsessoritsükli. Nii saab 723,38 ns bitiaega katta 11–12 arduino käsuga edastatud biti kohta. Üks asi, mida tuleb arvestada: käsk OUT seab korraga terve baidi, seega peame valima PORTx -i, kus see pole probleem. Kasutades ATMEGA328P-PU, näiteks PORTD (arduino tihvtid 0-7), sobib selle olukorra jaoks ideaalselt. Pärast bitti seadistamist peab mööduma ainult õige aeg, mida teeb 10 kuni 11 NOP -d ja ongi kõik.
Arvutuse üksikasjad leiate allolevast Exceli failist. See fail genereeris programmi jaoks vajalikud juhised. Pärast loodud koodi kleepimist tuli teha vaid mõned asendused.
4. samm: täiendavad lugemis-/ täiustamisvõimalused
- Võib -olla saab SoftwareSeriali kiirema teegi teha, kasutades eelmises etapis kirjeldatud tehnikat.
- FedericoK2 tegi suurepärase tööriista, mis genereerib HC-06 taastamiskoodi iga võimaliku bitikiiruse jaoks. Juurdepääs saidile siin: https://tools.krum.com.ar/save_your_hc-06/ Aitäh FedericoK2
Soovitan:
Interaktiivse baasi taastamine Eclipse'iga (eGit): 10 sammu
Kuidas taastada interaktiivset funktsiooni Eclipse (eGit): 20180718 - ma mõtlen " Olen piltidega probleemi lahendanud. Kui need tunduvad suumitud või pole mõtet, proovige klõpsata. Kui teil tekib probleem, saatke mulle sõnum ja ma püüan teid aidata. See juhend annab samm-sammult
Bluetooth -kõrvaklappide taastamine: 6 sammu
Taastage oma Bluetooth -kõrvaklapid: olete tõenäoliselt mõne minuti probleemide tõttu loobunud Bluetoothist ja juhtmega kõrvaklappidest. Nende probleemide hulka võivad kuuluda muu hulgas katkised kõrvaklappide korpused, kaablite sisemised katkestused, kahjustatud pistikud. Tavaliselt kogunevad need kahjustatud seadmed
Teise maailmasõja ajastu multimeetri taastamine töökorras: 3 sammu
Teise maailmasõja ajastu multimeetri taastamine töökorras: mitu aastat tagasi ostsin selle kollektsiooni jaoks selle Simpson Electricu multimeetri. See tuli musta kunstnahast ümbrisega, mis oli vanust arvestades suurepärases seisukorras. USA patendiameti patendikuupäev mõõturite liikumiseks on 1936 a
SSS -i konfigureeritud kitarri kaitseklaasi jootmine: 3 sammu
SSS -i konfigureeritud kitarrivalvejootmise jootmine: juhendamisel käin läbi teie SSS -kitarri kaitsmejuhtme ühendamise protsessi. Esiteks, kui teete seda projekti, peaksite proovima saada protsessi osadest korralikku arusaamist. SSS -vorming on põhimõtteliselt kolm
Ring Solar Sign Teardown: ma tegin seda valesti, nii et te ei pea: 11 sammu
Ring Solar Sign Teardown: ma tegin seda valesti, nii et te ei pea seda tegema: mul on helina uksekell, mis on päris vinge. Yay for Ring. Siis sain Ring Stick-up kaamera, kui kogu umbes tänupüha veebimüük toimus. 50 dollarit soodsamalt ja nad saatsid mulle selle vahva Ring -päikesemärgi TASUTA (ainult 49 -dollarine väärtus!). Olen kindel, et