Gestione iluminazione e ventilazione, problemi

ciao a tutti,
ho appena ristrutturato casa, e nella cabina armadio ho installato un sistema di faretti e ventilazione, volevo gestire tutto con arduino, ho installato il tutto, ma non funziona nel modo dovuto.

in questi giorni ricontrollo tutta la configurazione hardware, nel frattempo qualche buon anima può dare un occhio al codice se ci sono errori? perchè io non ne vedo ::slight_smile: ::slight_smile:

Ps: l’impianto led lavora a 12v, escluso ovviamente l’alimentatore e le ventole, i comandi son tutti a 5V

#include <DHT.h>



int Alim = 2;
int Luci = 3;
int Vent = 4;
int VentCant = 5;
int Lumin = 0;
int LumiMax = 0;
int Potenz = A3;
int Sensore = A2;
int SensRead = 0;
int ContPorta = 0;
int Inter = 8;
int Led = 9;

unsigned long NewMillis = 0;
unsigned long CurrMillis = 0;



DHT DhtCab (6, DHT11);
DHT DhtCant ( 7, DHT11);



void setup() {
  // put your setup code here, to run once:
  Serial.begin (9600);
  pinMode ( Alim, OUTPUT);
  pinMode ( Luci, OUTPUT);
  pinMode ( Vent, OUTPUT);
  pinMode ( Inter, INPUT);
  pinMode ( VentCant, OUTPUT);
  pinMode ( Led, OUTPUT);
  pinMode ( 6, INPUT);
  pinMode (7, INPUT);
 digitalWrite ( Led, HIGH);
 digitalWrite ( Vent, LOW);
 digitalWrite ( VentCant, LOW);
}

void loop() {
  int PotenzVal = analogRead (Potenz);
  LumiMax = map ( PotenzVal, 0 , 1023, 0 , 255);
  SensRead = analogRead ( Sensore );
  Serial.println ( SensRead );
  if (digitalRead (Inter == HIGH)) {
        digitalWrite ( Alim, HIGH);
    analogWrite ( Luci, LumiMax); }
  if (digitalRead ( Inter == LOW)) { (digitalWrite ( Alim, LOW));}
  //if (DhtCab.readHumidity() > 60 || DhtCab.readTemperature() > 24) { digitalWrite ( Vent, HIGH); }
  //if (DhtCant.readHumidity() > 60 || DhtCant.readTemperature() > 24) { digitalWrite ( VentCant, HIGH); }
  if (DhtCab.readTemperature() == 0 || DhtCant.readTemperature() == 0) { digitalWrite (Led, LOW);} 
 Serial.println ( " TCAB " );
 Serial.println ( DhtCab.readTemperature());
 Serial.println ( DhtCab.readHumidity());
 delay (100);

 
  if (SensRead > 15 ) {
    ContPorta = 1;
  }

  Serial.println ( ContPorta );

  while (ContPorta == 1) {
    PotenzVal = analogRead (Potenz);
    LumiMax = map ( PotenzVal,0 , 1023, 0 , 255);
    Serial.println ( "Cont = 1");
    digitalWrite ( Alim, HIGH);
    digitalWrite ( Vent, LOW);
    Lumin = 0;
    for (; Lumin <= LumiMax; Lumin++) {
      analogWrite (Luci, Lumin);
      delay(10);
      ContPorta = 2;
    }
  }

  while (ContPorta == 2) {
    digitalWrite ( Alim, HIGH);
    PotenzVal = analogRead (Potenz);
    LumiMax = map ( PotenzVal,0 , 1023, 0 , 255);
    Serial.println ( PotenzVal );
    Serial.println ( LumiMax);
    analogWrite (Luci, LumiMax);
    SensRead = analogRead ( Sensore );
    Serial.println ( SensRead );
    CurrMillis = millis();
    NewMillis = millis() + 3000;
    if (SensRead < 10) {
      ContPorta = 3;
    }
    delay (50);

  }
  while (ContPorta == 3) {
    digitalWrite ( Alim, LOW);
    SensRead = analogRead ( Sensore );
    if (SensRead > 15 ) {
    ContPorta = 1;
  }
    Serial.println (" Cont = 3" );


    Serial.println ("CurrMillis");
    Serial.println (CurrMillis);
    Serial.println ( "NewMillis" );
    Serial.println ( NewMillis );


    if (CurrMillis <= NewMillis) {
      digitalWrite ( Vent, HIGH);
       }
    CurrMillis = millis();
    if (CurrMillis > NewMillis)  {
      digitalWrite (Vent, LOW);
      ContPorta = 0;
    }


  }




}

Grazie
Jacopo