Sadržaj:
- Korak 1: Ono što će vam trebati
- Korak 2: Rješenje
- Korak 3: Iza kulisa …
- Korak 4: Dodatne mogućnosti čitanja/ poboljšanja
Video: Oporavak pogrešno konfiguriranog Bluetooth modula HC-06: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Iz čistog maksimalizma, ja sam svoj HC-06 Bluetooth (slave) modul konfigurirao na brzinu prijenosa od 1, 382, 400 baud pomoću naredbe AT+BAUDC. Otkad je Arduino povezan s njim, nije mogao koristiti modul s bibliotekom SoftwareSerial. Pokušao sam vratiti brzinu prijenosa s Arduinovom hardverskom serijom (pinovi 0 i 1) bez sreće.
Također sam pokušao proguglati temu, ali nisam našao prolazno rješenje. Možda bi korištenje računala ugrađenog serijskog porta moglo biti rješenje (s pomakom logičke razine od 12V do 3V3), ali moje računalo nema ovaj zastarjeli port, pa sam morao smisliti drugo rješenje.
Korak 1: Ono što će vam trebati
- Arudino/Genuino ploča sa zadanim Atmel ATMEGA328P-PU MCU (@16MHz).
- Bluetooth-modul HC-06 koji sluša na 1, 382, 400 bauda
- Osnovni arduino IDE sa
Korak 2: Rješenje
Imajte na umu da je ovaj Instructable i rješenje napravljeno za scenarij od 1, 382, 400 bauda (AT+BAUDC). Rješenje neće raditi za bilo koju drugu brzinu prijenosa. Za rješavanje drugih slučajeva, pogledajte korake počevši od koraka 3.
Rješenje je doista jednostavno.
- Spojite VCC pin HC-06 na pin 5V Arduina.
- Spojite GND pin HC-06 na GND pin Arduina.
- Spojite RXD pin HC-06 na pin 2 Arduina.
- Ostavite HC-06 TXD pin nepovezan (ili ga spojite na pin 8).
- Prenesite skicu hc06reset.ino.
- Program će postaviti HC-06 u 115, 200 baud način (AT+BAUD8).
- Koristite obnovljeni HC-06 modul kao i prije.
Korak 3: Iza kulisa …
Knjižnica SoftwareSerial koja dolazi s Arduino IDE -om može prenositi najviše 115, 200 bita/sekundi, pa nije dovoljno brza za komunikaciju na željenoj brzini prijenosa podataka 1, 382, 400. S obzirom na to da zadana Arduino ploča radi na 16MHz, teoretski nekomprimirani maksimalni bitrejt je 16 000 000 bita/sek. Do sada smo dobri!
Na temelju mog razumijevanja SoftwareSerial.cpp, serijska komunikacija se vrši postavljanjem izlaznog pina High (= 1) ili Low (= 0) s obzirom na kašnjenje (koje dolazi iz brzine prijenosa) između promjena.
- Izlazni pin je prema zadanim postavkama visok (znači da nema podataka)
- a zatim se prenosi početni bit (koji povlači pin nisko)
- 8 bita podataka prenesenih iz LSB -a u MSB, (+5V kada su bitovi 1 i 0 u suprotnom) tada
- prenosi se stop bit (koji povlači pin visoko)
Na ovaj način 1 bajt se prenosi pomoću 10 bita.
Poruka koju moramo poslati je AT+BAUD8 (bez / n, / r na kraju). Ova naredba vraća HC-06 na brzinu od 115, 200 bauda kojom se mogu baviti obične knjižnice.
Za slanje bitova brzinom 1, 382, 400 bita/sek, za svaki bit imamo 1/1, 382, 400 sekundi vremena (to je otprilike 723,38 ns) za svaki bit. Arduino radi na 16 000 000 000 Mhz, pa svaki ciklus traje 1/16 000 000 sekundi - to je 62,5 ns po ciklusu.
Pomoću koda sklopa AVR -a možemo koristiti naredbu OUT za postavljanje visokog ili niskog izlaznog pina, a NOP za čekanje točno jednog ciklusa CPU -a. Obje naredbe troše točno 1 ciklus procesora. Na ovaj način vrijeme bita od 723,38 ns može biti pokriveno s 11 do 12 arduino instrukcija po prenesenom bitu. Treba uzeti u obzir jednu stvar: naredba OUT postavlja cijeli bajt odjednom, pa moramo odabrati PORTx gdje to nije problem. Korištenje ATMEGA328P-PU na primjer PORTD (arduino pinovi 0-7) savršeno je za ovo stanje. Nakon postavljanja bita, mora proći samo odgovarajuće vrijeme koje se obavi s 10 do 11 NOP -ova i to je to.
Pojedinosti o proračunu možete pronaći u Excel datoteci u nastavku. Ova je datoteka generirala potrebne skupne upute za program. Nakon lijepljenja generiranog koda moralo se izvršiti samo nekoliko zamjena.
Korak 4: Dodatne mogućnosti čitanja/ poboljšanja
- Možda se brža biblioteka SoftwareSerial može napraviti pomoću tehnike opisane u prethodnom koraku.
- FedericoK2 napravio je sjajan alat koji generira HC-06 kôd za oporavak za svaku moguću bitrate. Pristupite web mjestu ovdje: https://tools.krum.com.ar/save_your_hc-06/ Hvala FedericoK2
Preporučeni:
Oporavak Bluetooth slušalica: 6 koraka
Oporavite svoje Bluetooth slušalice: Vjerojatno ste napustili Bluetooth i žičane slušalice koje leže zbog nekih sitnih problema. Ti problemi mogu uključivati, između ostalog, slomljeno kućište slušalica, unutarnje puknuće kabela, oštećene utikače. Obično se ti oštećeni uređaji akumuliraju o
Oporavak starih napajanja računala: 12 koraka (sa slikama)
Obnavljanje starih napajanja za računala: Od devedesetih godina prošlog stoljeća svijet su napala računala. Situacija se nastavlja do danas. Starija računala, do 2014. … 2015., uvelike su neupotrebljena. Kako svako računalo ima napajanje, veliki ih je broj napušten u obliku otpada
Lemljenje SSS konfiguriranog štitnika za gitaru: 3 koraka
Lemljenje SSS konfiguriranog štitnika za gitaru: U uputama ću proći proces ožičenja vašeg vlastitog štitnika za gitaru SSS. Prije svega, ako radite na ovom projektu, trebali biste pokušati pristojno razumjeti dijelove koji ulaze u proces. SSS format je u osnovi tri
L.A.R.S. (Sustav za pokretanje i oporavak): 7 koraka (sa slikama)
L.A.R.S. (Sustav za pokretanje i oporavak): PregledOvaj projekt je sustav za pokretanje i oporavak (LARS) sastavljen od različitih modela i sklopova. Sve zajedno predstavljaju sustav za oporavak pogodan za vodene rakete na maloj nadmorskoj visini. Raketa se sastoji od nekoliko dijelova, izrađenih od
Skidanje solarnog znaka u obliku prstena: Učinio sam to pogrešno pa ne morate: 11 koraka
Rušenje solarnog znaka u prstenu: Učinio sam to pogrešno pa ne morate: Dobio sam zvono na vratima, što je prilično strašno. Bravo za Ring. Onda sam dobio kameru s prstenom za prstenje dok su se odvijale sve internetske prodaje za dan zahvalnosti. 50 USD popusta, a oni su mi BESPLATNO poslali ovaj sjajni solarni znak u obliku prstena (samo 49 USD!). Siguran sam da