LAKI PINGVINI
JST-SR04T
Arduino parking senzor
D. PETROVIĆ
1. avgust 2021.

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.


PRETHODNI TEKST
SLEDEĆI TEKST
Najčitanije
Igre
Telefoni
Hardver
Softver
Nauka
Aktuelno štampano izdanje
MAJ 2025
Microsoft Majorana 1
Kvantna topologija
Topološki kvantni računar otporan je na uticaj kosmičkog zračenja, ali i dalje mora da se ohladi skoro do apsolutne nule...
AMD Ryzen 9 9950X3D
Jedan, da svima vlada
Ako vam je potreban najbrži procesor, i za igranje, i za ozbiljnije zadatke, Ryzen 9 9950X3D nema konkurenciju...
Gigabyte GeForce RTX 5070 Ti Aero OC 16G i GeForce RTX 5070 Ti Gaming OC 16G
I za kreativce, i za igrače
Sasvim sposoban da se nosi sa 4K rezolucijom u svim igrama i pruži sasvim pristojne performanse, dok u 1440p apsolutno blista...
Asus ROG Strix Scar 18 (G835LX)
Fantastična zver i kako je kupiti (3)
Laptop namenjen onima koji „ne žale pare” da imaju ono što je trenutno najbolje i najbrže...
Deset najboljih Microsoft PowerToys alatki
Najbolji od najboljih
PowerToys Run je alatka kojoj treba da se okrenete ukoliko vam sistemska rutina za pretragu ne odgovara...
Apple iPhone 16e
Malo muzike za mnogo para
Problem nije samo cena i slabiji grafički podsistem, već i trajanje baterije...
Cemu 2.6
Wii U emulacija
Cemu omogućava pokretanje i privođenje kraju oko 57 procenata igara „napisanih” za Wii U...
.rs: nove usluge eUprave - novi propisi - najava 5G
Mnogo eNoviteta
U novom esDnevniku roditelji će dobijati notifikacije za ocene i izostanke...
Trgovinski rat Istoka i Zapada
Velika igra, nesagledive posledice
Kao u igri „kukavice”, dve supersile kreću se velikom brzinom jedna prema drugoj, izazivajući drugu da prva skrene...
Blue Prince
Jedinstveni dijamant i jedna od najoriginalnijih igara u poslednjih nekoliko godina...
Tempest Rising
Skupa i ambiciozna fotokopija legendarnog RTS klasika Command & Conquer...
South of Midnight
Magična igra koja izgleda kao živa bajka, animirana u stilu filmskog serijala „Spiderverse”...
© 2025 Svet kompjutera. Sva prava zadrzana.
Novi broj - Arhiva - Forum - O nama