Mierzenie światła, czyli fotorezystor

Dziś bardzo prosty schemat z fotorezystorem wykorzystujący dzielnik napięcia.

Schemat:

I prosty kod:

Typowy włącznik zmierzchowy.

int pomiarswiatla;
 
void setup() {
Serial.begin(9600);
pinMode(8, OUTPUT); //wskazanie wyjścia
digitalWrite(8, LOW);//wyłączenie diody
}
void loop() {
pomiarswiatla = analogRead(A0); // wskazanie pinu czytającego dane analogowe
Serial.print("Pomiar światła = ");
Serial.println(pomiarswiatla);
if (pomiarswiatla < 350) {
digitalWrite(8, HIGH);//włączenie diody
} else {
digitalWrite(8, LOW);//wyłączenie diody
}
delay(100);
}

Drugi wariant:

Zamiast opornika wstawiłem potencjometr 20k, a program zmieniłem tak, żeby na przykład zapalał automatycznie dodatkową lampę, kiedy w pokoju zaświecimy światło. Potencjometr służy do ustawienia progu przy którym zapala się dioda.

Uwaga! Wartość rezystorów należy dobrać zależnie od fotorezystora. Mają one różne opory i inaczej reagują na światło.


//Włącznik dodatkowego źródła światła

int pomiarswiatla;
//Arduino Uno 
//const int outPin =  8; 
//const int readPin =  A0; 

//ATtiny 85: 
const int outPin =  3;    // nóżka 2
const int readPin =  A2; // nóżka 3

void setup() {
//Serial.begin(9600);
pinMode(outPin, OUTPUT); //wskazanie wyjścia
digitalWrite(outPin, LOW);//wyłączenie diody
}
void loop() {
pomiarswiatla = analogRead(readPin); // wskazanie pinu czytającego dane analogowe
//Serial.print("Pomiar światła = ");
//Serial.println(pomiarswiatla);
if (pomiarswiatla > 35) {
digitalWrite(outPin, HIGH);//włączenie diody
} else {
digitalWrite(outPin, LOW);//wyłączenie diody
}
delay(100);
}

Dodaj komentarz