Ciao ragazzi ho un problema con il rilevamento della luminosita, uso una fotoresistenza con una resistenza in serie.
Se avete qualche consiglio da darmi per favore aiutatemi che fra meno di una settimana ho un esame di stato e non so come fare. Se ce qualcos'altro da metterci al suo posto ditemelo
Grazie
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
int umidita=A0;
const int POMPA=8;
int luce = A1;
const int LUCE=5;
int tempPin = A3;
const int VENTOLE=3;
float tempC;
void setup(){
pinMode(POMPA, OUTPUT);
pinMode(LUCE, OUTPUT);
pinMode(luce, INPUT);
pinMode(VENTOLE, OUTPUT);
pinMode(tempPin, INPUT);
lcd.begin(20,4);
lcd.backlight ();
}
void loop(){
lcd.setCursor(0,0);
lcd.print("Umidita': ");
lcd.setCursor(10,0);
lcd.print (analogRead(A0));
lcd.setCursor(14,0);
lcd.print("%");
if (analogRead(A0)>100.0) {
digitalWrite (POMPA, LOW);
}
if (analogRead(A0)<700.0) {
digitalWrite(POMPA, HIGH);
}
lcd.setCursor(0,1);
lcd.print("Luce: ");
lcd.setCursor(6,1);
lcd.print(analogRead(A1));
lcd.setCursor(10,1);
lcd.print ("lux");
if (analogRead(A1)<300) {
digitalWrite (LUCE, LOW);
}
if (analogRead(A1)>400){
digitalWrite(LUCE, HIGH);
}
tempC = analogRead(A3);
tempC = (5.0 * tempC * 100.0)/1024;
lcd.setCursor(0,2);
lcd.print("Temp serra: ");
lcd.setCursor(12,2);
lcd.print(tempC);
lcd.setCursor(18,2);
lcd.print("C");
lcd.setCursor(17,2);
lcd.print((char)223);
lcd.setCursor(0,3);
lcd.print("Ventole: ");
if (tempC >= 28.0 ) {
digitalWrite (VENTOLE, LOW);
}
if (tempC <= 27.0 ) {
digitalWrite(VENTOLE, HIGH);
}
if (digitalRead(VENTOLE) == LOW) {
lcd.setCursor(9, 3);
lcd.print("ON");
}
else {
lcd.setCursor(9, 3);
lcd.print("OFF");
}
delay(1000);
lcd.clear();
}