SK LABS
Senzori ambijentalnog svetla i blizine (1)
Svetlo rukom doneto i odneto
D. PETROVIĆ
1. februar 2024.

Pozabavićemo se senzorima koji imaju dvostruku ulogu, jer mere količinu svetla u okruženju, ali ujedno i blizinu objekta. Neizostavni su kod mobilnih uređaja, posebno telefona, gde imaju ulogu da procene kada smo telefon primakli licu, da bi se isključio ekran. Naravno, imaju i razne druge uloge, ali ovo je jedna od najčešćih i nama u svakodnevnom životu najbližih.

APDS-9900

Priču počinjemo senzorom APDS-9900, proizvodom kompanije Avago (današnji Broadcom). Ovo je senzor koji ima mogućnost merenja osvetljenja u okruženju, ima infracrvenu (IC) lampicu, kao i kompletan sistem detekcije blizine. Senzor je u stanju da prepozna objekat u blizini do 100 milimetara, i to bez obzira na to da li je u pitanju dnevno svetlo ili mračna prostorija. Senzor funkcioniše dobro i iza tankog stakla, zato se i koristi kod mobilnih uređaja. Za prepoznavanje blizine objekta, na senzoru se nalaze IR LED i sinhroni LED drajver. Što se tiče osetljivosti osvetljenja u okruženju (ALS - ambient light sensing), senzor umnogome prati približnu reakciju ljudskog oka. Senzor je ovde osetljiv i iza zatamnjenog stakla, jer omogućava foto-pik odziv na intenzitet osvetljenja, a uz 16-bitnu rezoluciju. Ovde podvlačimo da senzor koristi čak dve foto-diode, Ch0 (kanal 0) osetljivu na vidljivo i IR svetlo, i Ch1 (kanal 1) osetljivu samo na IC svetlo. Sa mikrokontrolerom senzor komunicira preko I2C interfejsa.

Senzor smo nabavili u formi male ploče, a koja ima niz od pet izvoda za napajanje, I2C i poslednji za prekidačku (interrupt) funkciju. Pločicu možemo da koristimo sa naponskom logikom i napajanjem od pet volti, ali i sa 3,3 volta. Za rad sa Arduinom koristili smo (ako se ne varamo, jedinu dostupnu) biblioteku (GitHub - APDS9900_Ambient_Light_and_Proximity_Sensor). Ovo je blaga dorada APDS-9960 biblioteke kompanije Sparkfun. Biblioteka dolazi sa četiri primera koja nam omogućavaju da koristimo obe funkcije koje nam senzor pruža. Zanimljiv je primer sa prekidačkom funkcijom, gde možemo da postavimo da nam zasićenost određene boje u osvetljenju okruženja „probudi” mikrokontroler, shodno željenoj vrednosti. Slično je i sa prepoznavanjem blizine objekta u okruženju. ALS vrednosti su izražene u luksima (lux).

APDS-9930

Nastavljamo sa Broadcomovim senzorima. APDS-9930 dolazi u identičnom pakovanju kao i prethodnik, ima iste funkcije, i, generalno, deli najveći broj već rečenog. Iste je konstrukcije sa baferom, istom ADC rezolucijom, jačinom IC lampice, ali je za nijansu veći potrošač. Jedinu primetnu razliku čini skaliranje pojačanja, koje je kod APDS-9930 veće. Takođe, ima za nijansu bolje uzorkovanje od prethodnika. Na kraju, APDS-9900 je zastareo senzor, koji se, naravno, još uvek može naći, dok je APDS-9930 još uvek aktuelan, ali pri kraju svog proizvodnog veka.

Senzor smo nabavili na maloj ploči, koja ovoga puta ima šest izvoda. Taj izvod više je VL, to jest, izvod za napajanje IC lampice. Spojnicu ispod moguće je zalemiti, ukoliko želimo da se IC lampica napaja naponom kojim napajamo i celu pločicu ili da je napajamo nezavisno, a svakako je lepo što postoji ta opcija. Za rad sa Arduinom koristili smo APDS9930 biblioteku (GitHub - APDS9930), koja je, takođe, dorada Sparkfunove. Biblioteka donosi čak šest primera, koji su razvrstani prema funkcijama senzora. Zanimljivo je da primer AmbientLightSensor omogućava čitanje oba kanala nezavisno. Na taj način, praćenjem Ch1 možemo da ustanovimo koliko je osvetljenje u okruženju zasićeno infracrvenim svetlom u odnosu na Ch0. Drugim rečima, možemo ispravno da procenimo intenzitet osvetljenja koje je ljudsko oko u stanju da vidi.

#include <Wire.h>

#include <APDS9930.h>

APDS9930 apds = APDS9930();

float ambient_light = 0;

uint16_t ch0 = 0;

uint16_t ch1 = 1;

void setup() {

 Serial.begin(9600);

 apds.init();

 delay(500);

}

void loop(){

 //ambient, red, green, blue

 Serial.print(F("Ambient: "));

 Serial.print (apds.readAmbientLightLux(ambient_light));

 Serial.print(F("  Ch0: "));

 Serial.print(apds.readCh0Light(ch0));

 Serial.print(F("  Ch1: "));

 Serial.println(apds.readCh1Light(ch1));

 delay(1000);

}

Iako oba ova senzora mogu da se koriste i za prepoznavanje pokreta (gesture), to biblioteke ne omogućavaju.

ALS-PT19

Ovaj senzor, takođe, meri intenzitet osvetljenja u okruženju, ali ovaj put nije u pitanju ništa kompleksno; zapravo, ništa kompleksnije od minijaturnog foto-tranzistora. Senzor proizvodi Everlight i ima veliku otpornost na infracrveno svetlo. Njegov spektralni odziv je sličan onom na ljudskom oku. Raspon osetljivosti kreće se od 390 do 700 nanometara, a izlazne vrednosti su, naravno, u analognom obliku.

Na nikada manjoj pločici imamo senzor i otpornik u formi naponskog razdelnika i samo tri izvoda, što je logično. Povezujemo senzor sa Unom - Out, naravno, na analogni ulaz Arduina. Biblioteka nam ne treba, jer sa AnalogReadSerial primerom iz Arduino IDE dobijamo analogne vrednosti, shodno intenzitetu svetla.

Čemu korist od ovih senzora za neku kućnu radinost, jer sasvim sigurno niko neće kod kuće praviti iPhone? Recimo, možete da napravite pametni prekidač sa staklenim licem. Iza stakla mogu da budu obeležena polja koja treba dodirnuti, ali koja se ne vide do uključivanja pozadinskog osvetljenja na pločici iza stakla. Ovo osvetljenje će se uključiti ako jedan APDS senzor na PCB-u prepozna ruku koja se nalazi nadomak staklene površine. Ruka se kreće ka jednoličnom staklu, kad odjednom, na staklu se pojave polja koja treba dodirnuti... ili neki sličan efekat. Sam ALS može da se koristi za jačinu tog pozadinskog osvetljenja. Kao i uvek, mašta je najveća kočnica u životu.


PRETHODNI TEKST
SLEDEĆI TEKST
Najčitanije
Igre
Telefoni
Hardver
Softver
Nauka
Aktuelno štampano izdanje
MAJ 2024
Novosti na polju razvoja dronova
Budućnost ratovanja
Sve popularniji su mali i povoljni dronovi, sposobni da lansiraju rakete za koje su bile neophodne mnogo skuplje letelice...
Gigabyte G6X (9MG 2024)
Nešto priuštiviji
Zahvaljujući odličnom rashladnom sistemu, ovaj laptop iz ugrađenih CPU i GPU čipova izvlači maksimum...
Asus NUC13BRF i NUC14RVH
NUC-evi iz nove kuhinje
Asus je preuzeo NUC (Next Unit of Computing) od Intela i evo prva dva modela iz njihove radinosti...
Nacon Daija
Premijum arkada
Mnogi igrači žele da arkadni doživljaj imaju kod kuće, da biju po tasterima japanske radinosti i čupaju arkadnu palicu...
Huawei FreeClip
Muzičke minđuše
Osim što izgledaju futuristički, ove „muzičke minđuše” su izuzetno udobne za nošenje i to omogućavaju bez bojazni od ispadanja...
Samsung Galaxy A35 i A55
Aktuelni A , puta dva
Oba telefona su dizajnerski uspešne kopije vrhunskih modela S serije...
Everything 1.4.1 • TreeSize Free 4.72 • LockHunter 3.4.3 • SyncBackFree 11.3 • WiFi Password Revealer • Keyfinder 2.0
Pet (i po) korisnih programa za Windows
Na primer, Everything je brza mašina za pretragu lokalno uskladištenog materijala, koja koristi izuzetno malo hardverskih resursa...
Kriza u industriji i TSMC
Nesigurnost i obećanja
Planovi TSMC-a za fabrike u Arizoni suočili su se sa višestrukim preprekama tokom uspostavljanja projekta...
.rs: Aplikacije javnih preduzeća • Toll4All • UA Day 2024
Početak e Kartona
Javni beležnici imaće direktnu komunikaciju sa kolegama iz EU...
No Rest for the Wicked
U duhu ranijih naslova autora ove igre, njen vizuelni identitet uspeva da balansira sa mračnim i prelepim...
Stellar Blade
Stellar Blade je Sekiro-lite, gde „lite” ne podrazumeva manju kompleksnost, već, naprosto, manji stepen izazova...
Horizon Forbidden West – Complete Edition (PC)
Maksimalno kvalitetan PC port, sa DLC-om koji nastavlja originalnu priču, ali nije pravi nastavak...
© 2024 Svet kompjutera. Sva prava zadrzana.
Novi broj - Arhiva - Forum - O nama