Ho un problema con un circuito creato con arduino, si basa su INPUT e OUTPUT.
si tratta di un programma che attiva e spegne delle resistenze di riscaldamento e ventole per raffreddare l'aria da mantenere una temperatura costante in una stanza(esiste una scheda di potenza con rele pilotati da transistor attivati da arduino).
E stato previsto una finestra motorizzata per un rapido raffreddamento di temperatura(Motore UP-DP)
int PullRiscalda = 2; // INPUT normalmente aperto
int PullFreddo = 3; // INPUT normalmente aperto
int scena = 5; // variabile per memoria allarme e LED segnlazione
int LEDstufa = 7; // OUTPUT attivazione rele,(per test LED)
int LEDventola = 6; // OUTPUT attivazione rele,(per test LED)
int MotoreUP = 13; // attivazione motore (per test LED)
int MotoreDP = 12; // attivazione motore (per test LED)
// la setup routine che viene eseguita una sola volta:
void setup() {
pinMode(PullRiscalda, INPUT);
pinMode(PullFreddo, INPUT);
// forza il pin D2 e D3 a livello alto sfruttando la resistenza di pull-up interna ad arduino
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
pinMode(LEDstufa, OUTPUT);
pinMode(LEDventola, OUTPUT);
pinMode(MotoreUP, OUTPUT);
pinMode(MotoreDP, OUTPUT);
pinMode(scena, OUTPUT);
Serial.begin(9600);
Serial.println("Avvio sistema");
}
// la loop routine che viene eseguita infinite volte:
void loop() {
// leggi il pin di ingresso e salvalo nella variabile "buttonState":
int buttonState = digitalRead(PullRiscalda);
// se la variabile "buttonState" è a livello "basso" accendi la fase di riscaldamento.
if (buttonState == LOW)
{
digitalWrite(LEDstufa, HIGH);
digitalWrite(LEDventola, HIGH);
Serial.println("ON");
}
else
{
digitalWrite(LEDstufa, LOW);
Serial.println("LEDstufa-Ledventola");
digitalWrite(LEDventola, LOW);
Serial.println("OFF");
}
// leggi il pin di ingresso e salvalo nella variabile "buttonState1":
int buttonState1 = digitalRead(PullFreddo);
// se la variabile "buttonState1" è a livello "basso"accendi la fase di raffreddamento.
if (buttonState1 == LOW)
{
digitalWrite(LEDstufa, LOW);
digitalWrite(LEDventola, HIGH);
digitalWrite(MotoreUP, HIGH);
digitalWrite(MotoreDP, LOW);
digitalWrite(scena, HIGH); /// allarme memoria per reset premere pulsantino RESET arduino
Serial.print("Allarme Temperatura");
}
else
{
digitalWrite(MotoreUP, LOW);
digitalWrite(MotoreDP, HIGH);
Serial.println("Stop Allarme");
}
}
Ovviamente e molto semplice, chi ha idea e consigli gli sarei molto grado.