Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in /home/itstreet/public_html/classes/CMySQL.php on line 22

Warning: mysqli_query() expects at least 2 parameters, 1 given in /home/itstreet/public_html/classes/CMySQL.php on line 24
ITstreet -TEMT 6000
Preskoči na sadržaj

ITstreet postovi

TEMT 6000

Na redu za predstavljanje je ambijentalni senzor svetla TEMT6000 koji je već ugrađen na modul zajedno sa pratećim otpornikom. Sve što se zahteva od nas je da po potrebi zalemimo pinove ili žice u zavisnosti od projekta.TEMT6000 je fotorezistivni senzor u SMD pakovanju i sposoban je da registruje svetlost približno ljudskom oku.

Senzor meri osvetljenje (illuminance) čija je jedinica mere lux. Senzor radi po principu više svetla = više struje, manje svetla = manje struje. Modul koji sam ja uzeo je 13x8mm sa tri rupice za pinove sa oznakama S, G i V što će reći signal, ground i VCC. Senzor se ponaša kao NPN tranzistor, gde što više svetla pada na bazu, više će struje ići od kolektora prema emitoru. Ovo važi samo za svetlo u vidljivom spektru od 390nm do 700nm. Modul može da radi na naponima 3.3V i 5V.





Za povezivanje ispratiti šemu ispod.



S obzirom da se senzor ponaša kao naponski razdelnik povezujemo ga kao i Termistor o kome je već bilo reči. Dakle na analogni pin. S obzirom na to rezultat će direktno zavisiti da li je TEMT6000 povezan na 3,3V ili 5V a što se vrlo lako može ispratiti na terminalu. Pri naponu od 3,3V i direktnim svetlom blica telefona na par centimetara od senzora očitavanje reading će biti do 650 dok će isto to pri naponu od 5V biti do 990. Skeč neću objašnjavati dodatno jer je pojašnjen u komentarima.

/*-----------------------------------------------------------------*
 * Skeč za potrebe članka na www.itstreet.org
 * Author: Petrović Dejan
 * Date: 12/09/2017
 * Arduino MEGA, TEMT6000, LED
 *-----------------------------------------------------------------*/

#define ledPin 11
#define ambientPin A0
void setup() {
  Serial.begin(9600);
  pinMode(ambientPin, INPUT);
  pinMode(ledPin, OUTPUT);
}

void loop() {
  float reading = analogRead(ambientPin); //ocitavanje analogne vrednosti
  float square_ratio = reading/1023.0; //dobijanje procentualne vrednosti od maksimalne
  square_ratio = pow(square_ratio,2.0); //dobijamo vrednost sa kojom mozemo da radimo
  analogWrite (ledPin, 255.0*square_ratio); //analogno pisemo na digitalnom pinu (pwm)
  Serial.println(reading); //ispis vrednosti naterminalu
  Serial.println(square_ratio);
  delay(100);
}

Da bi se dobila vrednost u luxima potrebno je malo matematike. Znamo da je ukupna vrednost koju analogni pin može da očita 1024. Takođe znamo da je ugrađeni otpornik na modulu 103, to jest 10K (10000oma). Prema datasheet formula je y = 1/2(x) + 0 za microamps a 1lux=2microamps. U našem slučaju bi to bilo malo drugačije:
float lux = analogRead() * 0.9765625;  // 1000/1024

Ostavite poruku

Vaša mejl adresa neće biti objavljena.Označena polja su obavezna*