Sketch per gestione crepuscolare e motori
ciao tutti,
ho necessità di un motore che si attivi con un interruttore crepuscolare.
il valore di intensità verrà impostato da un potenziometro.
il risultato deve essere che dato il valore impostato di luminosità al mattino deve attivarsi e poi attivarsi nuovamente sera.
gestirò con un ponte h e dei fine corsa il verso del motore.
ho preparato uno sketch al quale aggiungerò poi il controllo motori. il controllo fine corsa e' simulato da un ciclo for.
cortesemente potete dare un'occhiata e vedere se puo' andare?
a monitor sembra funzionare tutto correttamente ma magari stò facendo qualche errore clamoroso. e' il primo sketch che "invento", fino ad ora mi sono limitato replicare vari esempi.
ecco il codice, grazie in anticipo
ho necessità di un motore che si attivi con un interruttore crepuscolare.
il valore di intensità verrà impostato da un potenziometro.
il risultato deve essere che dato il valore impostato di luminosità al mattino deve attivarsi e poi attivarsi nuovamente sera.
gestirò con un ponte h e dei fine corsa il verso del motore.
ho preparato uno sketch al quale aggiungerò poi il controllo motori. il controllo fine corsa e' simulato da un ciclo for.
cortesemente potete dare un'occhiata e vedere se puo' andare?
a monitor sembra funzionare tutto correttamente ma magari stò facendo qualche errore clamoroso. e' il primo sketch che "invento", fino ad ora mi sono limitato replicare vari esempi.
ecco il codice, grazie in anticipo
code: [select]
//predisposizione sensore luminosità
int luminosita; //valore della luminosita
int pinsensore = a0; //sensore luminosita'
//aggiunta di un potenziometro
int spegnimento;
int potenziometro = a1;
//aggiunta variabile per giorno e notte 0 giorno 1 notte
int day=1;
void setup()
{
serial.begin(9600); //comunicazione con pc solo demo
pinmode(pinsensore,input); //dichiaro sensore in ingresso
pinmode(potenziometro,input); //dichiaro sensore regolazione
}
void loop()
{
luminosita = analogread(pinsensore); //leggo luminosita
serial.print("la luminosita' nella stanza e':"); //scrivo luminosita solo demo
serial.println(luminosita); //scrivo luminosita solo demo
spegnimento = analogread(potenziometro); //leggo valore potenziometro per spegnimento
serial.print("il valore impostato sul potenziomentro e':"); //scrivo valore potenziomentro solo demo
serial.println(spegnimento); //scrivo valore potenziomentro solo demo
delay(2000); //solo demo
//blocco azionamento motori
if(luminosita > spegnimento && day==1) //standard cancello è notte. se luminosità maggiore e stato è notte aziono il cancello
{
serial.println("e' giorno"); //solo demo
for(int x=0; x<5 ; x++){ //simulo il fine corsa, sostituirò con comandi per fine corsa
serial.println("apro il cancello");
}
day=0; //sposto lo stato da notte giorno
}
else
if (luminosita < spegnimento && day==0) //eseguo il comando inverso
{
serial.println("e' notte");
for(int x=0; x<5 ; x++){
serial.println("chiudo il cancello");
day=1;
}
}
}
uhm... giorno e notte alternati in quel modo non sono molto sicuri. basta un supernuvolone per farti saltare l'alternanza.
Arduino Forum > International > Italiano > Software (Moderator: leo72) > Sketch per gestione crepuscolare e motori
arduino
Comments
Post a Comment