LAKI PINGVINI
QRE11113
Jako mali puškomet
D. PETROVIĆ
1. januar 2022.

Uređaj iz naslova pripada grupi senzora refleksije i često se koristi kod robota, za praćenje linija. Bela i crna boja ne odbijaju istu količinu svetla od sebe; bela to čini više od crne, pa nije čudno što i u industrijskim postrojenjima na tamnom podu postoje bele (ili žute) linije koje roboti prate. Naša rubrika je malo dalje od industrijskih postrojenja, ali princip je isti. Ako želimo da napravimo malog robota u Arduino sistemu, senzor iz naslova može da bude odličan izbor.

QRE1113 je mali senzor, sastavljen iz IC LED koja emituje infracrvenu svetlost i IC fotootpornika koji odbijenu infracrvenu svetlost čita. Ako znamo da tamnije površine odbijaju manje svetla, tu činjenicu možemo iskoristiti i da procenimo udaljenost, uz malu pomoć kalibracije. Podatke dobijamo čitajući analogne vrednosti sa fotootpornika. Međutim, ako ćemo senzor koristiti za praćenje linija, tada su nam obično potrebne digitalne vrednosti. I to je lako. Naime, uz odgovarajuću konfiguraciju elektronskih komponenata i isto tako odgovarajući softver, isti ovaj senzor možemo da koristimo na dva načina.

Analog

Kao što se vidi iz šeme, na IR je postavljen 100R otpornik da ograniči struju. Fotootpornik je preko 10K otpornika postavljen u pull-up konfiguraciji. Što više IC svetlosti padne na njega, ka analognom pinu mikrokontrolera poteći će manje struje. Drugim rečima, što više svetla, manje su analogne vrednosti.

int sensPin = A0;

void setup(){

Serial.begin(9600);

}

void loop(){

int sensValue = analogRead(sensPin);

Serial.println(sensValue);

}

Kao što vidite, ovo je najobičniji skeč za čitanje analognih vrednosti i tu nema šta da se doda.

Digital

Ovde je konfiguracija komponenata drugačija. I dalje je tu otpornik od 100R na IR sa istom ulogom. U niz je postavljen kondenzator. Naše je da vidimo za koje vreme će se kondenzator isprazniti. Ovo se meri mikrosekundama (manje od deset), dakle, prilično je brzo.

int sensPin = 2;

void setup(){

Serial.begin(9600);

}

void loop(){

int sensValue = readData();

Serial.println(sensValue);

}

int readData (){

pinMode( sensPin, OUTPUT );

digitalWrite( sensPin, HIGH );

delayMicroseconds(10);

pinMode( sensPin, INPUT );

long time = micros();

while (digitalRead(sensPin) == HIGH && micros() - time < 3000);

int diff = micros() - time;

return diff;

}

Sparkfunov primer ovde koristi mali trik. Senzor ne može direktno da pruži logička stanja, shodno očitavanju. Digitalni pin sa kojim smo povezali senzor prvo postavljamo kao OUTPUT i pišemo HIGH, te ga nakon deset mikrosekundi postavljamo kao INPUT i merimo koliko dugo ćemo na njemu imati HIGH logičko stanje. Ukoliko je to vreme veće od 3000 mikrosekundi, smatra se da IC refleksija nije postojala, dok u suprotnom jeste. Što duže traje refleksija, manje će biti potrebno vremena da se kondenzator isprazni. Sa komandom int bukvalno zaokružujemo razliku u vremenu, te na taj način dobijamo digitalna logička stanja.

Ovaj senzor, bez obzira na konfiguraciju, ima relativno mali domet: optimalno do tri milimetra, a maksimalno do šest milimetara. Može da radi na 3,3 i pet volti, a potrošnja struje mu je oko 17 miliampera. Sam dizajn senzora ne donosi ništa novo, sličnih rešenja ima dosta. Princip naprosto nije nov. Senzor svoj jako mali domet kompenzuje brzinom i preciznošću.


PRETHODNI TEKST
SLEDEĆI TEKST
Najčitanije
Igre
Telefoni
Hardver
Softver
Nauka
Aktuelno štampano izdanje
DECEMBAR 2023
Microsoft Windows 11 23H2
Sveže oprani Prozori
Windows Copilot, ugrađeni AI pomoćnik, već sada je daleko više od toga što je Cortana ikad bila i mogla da bude...
Asus ROG Maximus Z790 Formula
Hladna zimi, hladna leti
Uz Raptor Lake Refresh generaciju Intelovih Core procesora paralelno je „osvežena” i ponuda modela matičnih ploča...
Apple Watch Ultra 2 i Apple Watch Series 9
Ovogodišnji „ vršioci dužnosti”
Oba sata dolaze sa preinstaliranim WatchOS-om 10.x i to je jedna od značajnih novina...
Asus ROG Ally Z1 Extreme
Saveznik je stigao!
Ovo je Windows PC, oličen u formi ručne igračke konzole, što ga već na prvu loptu razlikuje od najvećeg konkurenta, Valveovog Steam Decka...
Estetska vizija Pavela Surovog
Arhetipsko kulturno nasleđe i AI
Kako to izgleda kad AI u svoje ruke uzme neko ko i te kako ume da ga iskoristi kao alatku?
Razvoj traktorskog snopa
Svemirski čistač
Naučnici su na korak od stvaranja tehnologije koja je donedavno bila sastavni deo naučne fantastike...
Samsung Galaxy Tab S9 FE+
Povoljan kvalitet
Uređaj laserski fokusiran na zonu gde se preklapaju vrh srednjeg dela tržišta i početak onog najvišeg...
Borba YouTubea protiv adblockera
Reklamokalipsa YouTubea
Alphabet očekuje da mu se vrati uloženo, što je sasvim normalno, ali sam kvalitet usluge na svim nivoima opada u svim Googleovim proizvodima...
Regulacija kripto-trgovanja
Kripto-tržište u paklenoj kuhinji
Tržište kripto-valuta i srodnih finansijskih instrumenata pretrpelo je još jedan veliki i razočaravajući potres...
Alan Wake II
Ovo je hrabar, na momente lud i superpretenci-ozan, ali nikada dosadan eksperiment kombinovanja naracije i gejmpleja...
The Talos Principle 2
Bolju, impresivniju, zarazniju i produkcijski napucaniju glavolomku u ovome trenutku nećete naći...
Call of Duty: Modern Warfare III
Kampanja je kratka, multiplayer recikliran, a glavna novost je zombi režim DMZ, posuđen iz Warzonea...
© 2023 Svet kompjutera. Sva prava zadrzana.
Novi broj - Arhiva - Forum - O nama