6. Arduino – Tumsas sensors ar fotorezistoru

Elektronika – Arduino – Tumsas sensors ar optisko rezistoru

Arduino 6. nodarbība

Šajā nodarbībā iemācīsimies kā darbojas fotorezistors (optiskais rezistors) un izgatavosim tumsas sensoru, kurš iededz gaismas diodi.

Nepieciešamie komponenti

  1. Arduino kontrolieris (piem. Uno, Nano) ar USB kabeli
  2. Bredbords 400 punktu Half+
  3. Savienošanas vadi 10cm male-male 5 gab
  4. LED gaismas diode 1 gab.
  5. Rezistori 10KΩ 1 gab., 330Ω 1 gab.
  6. Fotorezistors (optiskais rezistors) 1 gab.

Skaidrojums

Fotorezistoram (optiskajam rezistoram) pretestība mainās atkarībā no gaismas daudzuma. Mainīgā pretestība ļauj izmainīt strāvas spriegumu, kuru var nolasīt ar Arduino mikrokontrolieri kā Analogo vērtību. Programmā norādām vērtību, no kuras iedegās gaismas diode.

Slēgums

Fotorezistoram polaritāte (+ un – virziens) nav svarīga. Vienu kāju pievieno pie +, bet otru reizē caur 10KΩ rezistoru pie – un pie Analogā pina A0 (dzeltenais vads).

Var nepievienot LED gaismas diodi (ar 330Ω rezistoru un oranžo vadu), jo digitālais pins D13 ir mikrokontrolierī savienots ar iebūvēto gaismas diodi (LED_BUILTIN).

Programma

Kā pieslēgt Arduino un kā lietot Arduino IDE programmu skatiet 1.nodarbībā

Atveram Arduino IDE programmu.
Fails – Jauns
Iekopējam kodu, tad Fails – Saglabāt. Pārbaudīt, tad Augšupielādēt.

/*
 Darkness sensor - Tumsas sensors
 */
int sensorPin = A0; // analogā pina nr.
int ledPin = 13; // LED pina nr., 13 vai LED_BUILTIN
int sensorValue = 0; 

void setup() {
 pinMode(ledPin, OUTPUT); // uzstāda ledPin nr. kā izejošo
 Serial.begin(9600); // sāk seriālo komunikāciju
}

void loop() {
 sensorValue = analogRead(sensorPin); // nolasa sensora datus

 if (sensorValue < 600) { // ja mazāks par šo vērtību
 Serial.println("TUMSA!"); // drukā paziņojumu
 digitalWrite(ledPin, HIGH); // iededz LED
 }
 else { // citādi
 Serial.println("GAISMA!"); // drukā paziņojumu
 digitalWrite(ledPin, LOW); // izslēdz LED
 }
 
 Serial.print("Analog value: "); // drukā Seriālajā monitorā
 Serial.println(sensorValue); 
 delay(1000); // gaida norādītās milisekundes
}

Analogās vērtības ir no 0 līdz 1023 un proporcionālas spriegumam 0V – 5V.
Serial.println norāda, ka pēc drukāšanas, pāriet uz nākamo rindu.

Tāpat varam vērot gaismas izmaiņas arī ar Seriālo ploteri

Papildus

Izgatavosim Tumsas sensoru, neizmantojot Arduino mikrokontrolieri. To var izmantot kā 5V strāvas avotu, jeb pievienot 4.5V – 9V bateriju.

Izņemam oranžo vadu un pie LED tā vietā iespraužam dzelteno.
1. variantā LED iedegas pie gaismas, bet 2. variantā LED iedegas tumsā.

 

Atbildēt