aiuto

#include <DHT.h>

#include <LiquidCrystal.h>
#include "DHT.h"
#define DHTPIN 8
// 8 è il pin di Arduino a cui collego il sensore di temperatura
#define DHTTYPE DHT11
// dht11 è il tipo di sensore che uso
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal lcd(12, 11, 5, 4, 3, 10);
// connessione display (pin)

int pioggia;

int luce;





void setup() {
  // put your setup code here, to run once:



lcd.begin(16, 2);
// imposto il tipo di display (colonne, righe)
lcd.print("Temperatura C");
lcd.setCursor(0,1);
lcd.print("Umidita'%");


pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(13,OUTPUT);

pinMode(9,OUTPUT);

Serial.begin(9600);

}

void loop() {
  // put your main code here, to run repeatedly:
int t = dht.readTemperature();
int h = dht.readHumidity();
// posiziono il cursore alla colonna 12 e riga 0
lcd.setCursor(14, 0);
lcd.print(t);
lcd.setCursor(14, 1);
lcd.print(h);

pioggia=analogRead(A0);
Serial.println(pioggia);
delay(500);
if(0<=pioggia && pioggia<250)
digitalWrite(13, HIGH);
if(0<=pioggia && pioggia<250)
digitalWrite(6, LOW);
if(0<=pioggia && pioggia<250)
digitalWrite(7, LOW);
if(250<pioggia && pioggia<305)
digitalWrite(13, LOW);
if(250<pioggia && pioggia<305)
digitalWrite(6, LOW);
if(250<pioggia && pioggia<305)
digitalWrite(7, HIGH);
if (305<pioggia)
digitalWrite(7, LOW);
if (305<pioggia)
digitalWrite(6, HIGH);
if (305<pioggia)
digitalWrite(13, LOW);

luce=analogRead(A1);
Serial.println(luce);
delay(500);
    if (luce>200) {
      digitalWrite(9, HIGH);
    }
    
    else {
      digitalWrite(9, LOW);
}




}
#include <math.h>

#define WindSensorPin (2) // The pin location of the anemometer sensor

volatile unsigned long Rotations; // cup rotation counter used in interrupt routine
volatile unsigned long ContactBounceTime; // Timer to avoid contact bounce in interrupt routine

float WindSpeed; // speed miles per hour

void setup() {
 

Serial.begin(9600);

pinMode(WindSensorPin, INPUT);
attachInterrupt(digitalPinToInterrupt(WindSensorPin), isr_rotation, FALLING);

Serial.println("Davis Wind Speed Test");
Serial.println("Rotations\tMPH");

}

void loop() {


Rotations = 0; // Set Rotations count to 0 ready for calculations

sei(); // Enables interrupts
delay (3000); // Wait 3 seconds to average
cli(); // Disable interrupts

// convert to mp/h using the formula V=P(2.25/T)
// V = P(2.25/3) = P * 0.75

WindSpeed = Rotations * 0.75;

Serial.print(Rotations); Serial.print("\t\t");
Serial.println(WindSpeed);


}

// This is the function that the interrupt calls to increment the rotation count
void isr_rotation () {

if ((millis() - ContactBounceTime) > 15 ) { // debounce the switch contact.
Rotations++;
ContactBounceTime = millis();
}

}