LAKI PINGVINI Arduino parking senzor
Parking senzori nekada su bili rezervisani samo za vozila više klase. Danas spadaju u standardni paket opreme i u nižim klasama automobila, pa se aktuelni modeli bez parking senzora mogu nabrojati na prste. Na našim putevima je, nažalost, mnogo više vozila koja spadaju u ovu drugu grupu. Vozni park nam je ogledalo novčanika. Ipak, za manju sumu novca lako možemo dodati parking senzore jednom Golfu „dvojci”, i usput mu povećati nivo bezbednosti. Ionako to vozilo nema nameru da napušta srpske puteve u narednih sto godina. U SK 1/2018 (i.sk.rs/14787) pisali smo o ultrazvučnom senzoru HC-SR04 i načinu kako on funkcioniše. Slično radi i JST-SR04T, senzor koji je idealan za upotrebu kao parking senzor. Senzor dolazi uz manji modul koji nam olakšava rad sa sirovim podacima. Za razliku od ovog o kome smo ranije pisali, ovde je transducer u startu spakovan u jednom uređaju i vizuelno je nalik onom što već srećemo na branicima vozila. Mali valjkasti plastični nosač već dolazi sa gumenim žabicama radi lakše ugradnje u otvore do 22 milimetra. Plastični venac oko senzora je 25 milimetara, pa treba voditi računa da otvor ne bude preveliki. Sam senzor je u nosaču oboren u jednu stranu, tako da se zakretanjem može izabrati idealan ugao u odnosu na osu vozila i oblik samog branika. Senzor je spakovan u crnu, sjajnu plastiku, što neće mnogo „štrčati” na braniku. Uz senzor dolazi i drajver-modul sa kojim se senzor povezuje preko JST konektora, uz, bezmalo, dva i po metra kabla. Ova dužina je i više nego dovoljna za dobar cable management po vozilu, posebno ako ćemo postaviti više ovakvih senzora. Nažalost, za svaki senzor potreban je poseban modul. Razumljivo je da je senzor vodootporan. Drajver-modul (V2.0) SR04T na sebi ima dva integralna kola izbrisanih ili slabo čitljivih oznaka. Ništa novo, međutim, kopanjem po mreži našli smo da su u pitanju LMV324 i BS003F3P6. Prvi je OP-AMP, operacioni pojačivač čija je uloga da bude spona sa drugim IC, STM mikrokontrolerom. Ovaj drugi čip je 8-bitni MCU sa taktom na osam megaherca, a koji je sa OP-AMP povezan preko čak četiri pina. Jedan od pinova vezan je sa varijabilnim induktorom kojim podešavamo stabilnost i preciznost. Nažalost, retki su primerci gde ovaj induktor nećemo koristiti. Pinovi PD5 i PD6 su izlazi ka našem mikrokontroleru i vode do četvoropinskog headera. Označeni su sa ’Echo/Tx’ i ’Trig/Rx’. Druga dva su pinovi napajanja, ’5V’ i ’GND’, a možemo ga napajati i sa 3,3 volta (prethodna verzija ne može da radi na manje od pet volti). Za akustičnu emisiju senzor koristi frekvenciju od 40 kiloherca, koju mi svakako nećemo čuti. SR04T ima rezoluciju od jednog milimetra, međutim, preciznost mu je plus/minus jedan centimetar, uz daljinski opseg merenja od 20 centimetara do šest metara. Kao ultrazvučni senzor, detektovaće sve, pa čak i tečnost, tako da nije mali broj primera gde se ovaj senzor koristi za merenje nivoa tečnosti u nekom rezervoaru. Pri razmatranju određenog projekta vezanog za ovaj senzor, treba znati da mu je ugao detekcije 75 stepeni, dakle, nije u snopu. Kao i kod ranije opisanog senzora i ovde radimo sa upravljačkim pinom’Trig’ kojim šaljemo ultrazvuk i pinom ’Echo’, preko kog taj ultrazvuk primamo. Razlika u vremenu između slanja i primanja, to jest, trajanja eha je ono što nama treba. Ponovićemo: udaljenost u centimetrima dobijamo kada trajanje eha u mikrosekundama pomnožimo sa brzinom zvuka u mikrosekundama po centimetru. S obzirom na to da govorimo o pređenom putu u dva smera, rezultat delimo sa dva. Osim prostom matematikom, možemo koristiti i NewPing biblioteku. Primere koje smo koristili za HC-SR04 možemo koristiti i ovde, a nećemo ih ponavljati da bespotrebno ne zauzimamo prostor. Naša verzija senzora (V2.0) ima tri radna režima. U tu svrhu koristi se ’R27’, mesto predviđeno za otpornik koje dolazi nepopunjeno. Ovako kako jeste, senzor koristimo kao i HC-SR04, s tom razlikom što otvoreno vreme signala ’Trig’ sa deset mikrosekundi stavljamo na 20. Govorimo o primećenom problemu na v2.0, gde senzor dobija „tikove” u prikazanim vrednostima, a koje možemo rešiti i varijabilnim induktorom. Preko ovog režima senzor kontrolišemo putem pinova ’Trig’ i ’Echo’. Ako na ’R27’ zalemimo otpornik od 47K, senzor prelazi u kontinuirani režim. U ovom režimu merenja se vrše na svakih 100 mikrosekundi, a putem serijskog interfejsa isporučuju 16-bitne vrednosti. #include <SoftwareSerial.h> #define rxPin 2 #define txPin 3 SoftwareSerial mySerial(rxPin, txPin); void setup() { mySerial.begin(9600); Serial.begin(9600); } void loop(){ if(mySerial.available()){ unsigned int razdaljina; byte startByte, h_data, l_data; byte buf[3]; startByte = (byte)mySerial.read(); if(startByte == 255){ mySerial.readBytes(buf, 3); h_data = buf[0]; l_data = buf[1]; razdaljina = (h_data<<8) + l_data; Serial.print(„Razdaljina je: „); Serial.print(razdaljina); Serial.println(„mm”); } } } Ako na ’R27’ zalemimo otpornik od 120K, prelazimo u slanje po zahtevu. To možemo uraditi softverski ili hardverski, putem nekog tastera ili, pak, na neki treći način. Svakako je krajnji cilj serijskim interfejsom poslati 0x55 ka senzoru. Tek nakon što senzor primi komandu, on će postati dostupan i poslati podatke. U primeru ispod komandu šaljemo tasterom. Inače, ovi naši primeri blago su prepravljeni primeri sa mreže. #include <SoftwareSerial.h> #define rxPin 2 #define txPin 3 #define btnPin 4 SoftwareSerial mySerial(rxPin, txPin); void setup() { mySerial.begin(9600); Serial.begin(9600); pinMode(btnPin, INPUT); }
void loop() { if(digitalRead(btnPin) == HIGH){ mySerial.write(0x55); delay(50); if(mySerial.available()){ unsigned int razdaljina; byte startByte, h_data, l_data; byte buf[3]; startByte = (byte)mySerial.read(); if(startByte == 255){ mySerial.readBytes(buf, 3); h_data = buf[0]; l_data = buf[1]; razdaljina = (h_data<<8) + l_data; Serial.print(„Razdaljina je: „); Serial.print(razdaljina); Serial.println(„mm”); } } delay(1000); } } Kao što možete da vidite iz poslednja dva primera, komunikacija sa senzorom može da se odvija putem ’Trig/Echo’ ili serijskog interfejsa. Upotrebom određenog otpornika ili bez njega, senzor možemo da koristimo u tri režima rada. Starije varijante drajver-modula nemaju ovo poslednje, ali imaju i manje oscilacija u detekciji. Nama se dešavalo da imamo očitavanja minimalne razdaljine (20 centimetara), iako ništa nije bilo ispred senzora, a vidimo na mreži da nismo jedini. Korišćenjem nekoliko ovih, relativno povoljnih senzora i Arduina, možemo da ugradimo odličan parking senzor u automobil. Uz malo više programiranja, možemo čak da ugradimo i neki displej i grafikonom prikazujemo tačnu poziciju prepreke u odnosu na senzore, a samim tim i auto. S obzirom na malo širi ugao detekcije, treba znati da će okolni predmeti uticati na detekciju razdaljine, pa samim tim i na realan domet. Ravan zid će se uspešno detektovati i na maksimalnim razdaljinama, dok to ne važi za stub, na primer. Postoji i verzija V3.0 drajver-pločice, sa četiri solder džampera, sa kojom nemamo nikakva iskustva, a koliko vidimo na mreži, o tim džamperima nemaju saznanja ni drugi.
|
||||||||||
Najčitanije
Igre
Telefoni
Hardver
Softver
Nauka
Doom: The Dark Ages Doom iz mračnog doba drugačiji je od svih drugih Doomova, jer je Slayer koncipiran kao tenk sa štitom... Clair Obscur: Expedition 33 Estetika Belle Époquea, gameplay u skladu sa kanonima JRPG-a, vrhunsko pripovedanje i ljubav prema igrama... Computex 2025, Tajpej, Tajvan AI NEXT Ovaj, nekada ultra-PC-specifični sajam, odavno se proširio na srodne tehnologije, biznis rešenja i digitalne usluge, postavši varijanta azijskog C... Gigabyte GeForce RTX 5070 Gaming OC 12G Višak samopouzdanja Kartica je sa hardverske strane vrlo kvalitetna, ali ništa ne može da nadomesti nedostatak snage „pod haubom”... Asus ProArt P16 (H7606WP) Pronalazak neverovatnog Novi ProArt P16 donosi moderna rešenja, u dobro usaglašenom odnosu gabarita i performansi – alatka koju ćete sa ponosom nosati sa sobom... Logitech ProX Superlight 2 Sve udvostručeno Ovaj miš predstavlja jasnu indikaciju da najveći proizvođač ne želi da napusti nijedan segment tržišta... Winhance 25.05 Popravka Prozora U pitanju je alatka koja omogućava da se brzo rešite (većine) bloatwarea, ali i da obavite optimizaciju rada Windowsa... .rs: Beogradski prevoz na Yandexu • Srbija u SEPA • Loši primeri digitalizacije Unapređeno e Zakazivanje Beogradski prevoz na Yandexu • Srbija u SEPA • Loši primeri digitalizacije Google Mariner, Google Astra i AI autonomni agenti Uspon tihog softvera Umesto kliktanja stručnog lica, softver će, već ove godine, u tihom, gotovo nečujnom načinu rada - završavati posao... Fatal Fury: City of the Wolves Fatal Fury je oduvek bio čudna cvećka u svetu borilačkih igara; takav je i ostao... Arc Raiders Novi extraction shooter iz pera autora dobrih delova franšize Battlefield (i potcenjenog The Finals)... |
||||||||||