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); }