Ciao a tutti,
sono nuovo del forum e mi sto appassionando alla piattaforma Arduino, ho iniziato a scrivere uno sketch per comandare un motore per serranda garage e devo dire che sono arrivato a buon punto.
ho settato i pin di uscita di salita e di discesa, ho impostato i relativi pulsanti (salita manuale, discesa manuale, pulsante automatico su/giu, con un solo pulsante e le fotocellule).
il codice per 3/4 già è funzionantemi manca solo di settare il pulsante che poi andranno collegate le fotocellule non so come sbloccare il comando delay().
mi spiego meglio postando il codice.
int pulsante;
int luce=0;
int manualesu;
int manualegiu;
int fotocellula;
void setup()
{
pinMode(13, OUTPUT); //motore su
pinMode(10, OUTPUT); //motore giu
pinMode(11, INPUT); //pulsante automatico (radiocomando)
pinMode(7, INPUT); //pulsante manuale su
pinMode(8, INPUT); //pulsante manuale giu
pinMode(9, INPUT); //FOTOCELLULA
}
void loop()
{
pulsante=digitalRead(11);
if ((pulsante==HIGH) and (luce==0))
{
digitalWrite(10, LOW);
digitalWrite(13, HIGH);
delay(18000);
digitalWrite(13, LOW);
luce=1;
}
else if ((pulsante==HIGH) and (luce==1))
{
digitalWrite(13, LOW);
digitalWrite(10, HIGH);
delay(18000);
digitalWrite(10, LOW);
luce=0;
}
manualesu=digitalRead(7);
if (manualegiu==LOW)
{
digitalWrite(13, HIGH);
}
else if (manualesu==LOW)
{
digitalWrite(13, LOW);
}
else
ah i pulsanti manuali su/giu hanno anche una funzione di sicurezza che se premuti, per sbaglio, contemporaneamente, non succede il patatrac.
ringrazio già anticipatamente tutti coloro che parteciperanno al post.
Saluti da Attilio
Ps, sto cercando di capire la funzione millis() per evitare di usare il delay() ma non ci ho capito granchè.