Aggiungiamo un controllo per il numero di foto da scattare
Aggiungendo alcune righe al programma possiamo fare in modo che possiamo fermare il motore e lo scatto dopo un numero preciso di foto (evidenziate le righe aggiunte):
//definiamo i pin utilizzati int MotoreDir=3; int MotoreStep=4; int MotoreEnable=5; int Led=13; //definiamo le variabili che useremo int NumeroPassi=200;//Il motore dovrebbe fare un giro 200x1,8°=360° int Attesa=1000;//1 secondo tra un giro e l'altro int Velocita=5;//Tempo di attesa tra uno step e l'altro. Più è basso questo valore più è veloce il motore boolean Direzione = false;//variabile per gestire la direzione del motore int NumeroFotoDaScattare = 300;//variabile per gestire il numero di foto da scattare int NumeroFotoScattata = 0; void setup() { pinMode(MotoreDir, OUTPUT); // imposto il pin indicato come uscita pinMode(MotoreStep, OUTPUT); // imposto il pin indicato come uscita pinMode(MotoreEnable, OUTPUT); // imposto il pin indicato come uscita pinMode(Led, OUTPUT); // imposto il pin indicato come uscita } void loop(){ if (NumeroFotoScattataAccendiLed(); Motore(); SpegniLed(); delay(Attesa);//attendiamo per il prossimo ciclo NumeroFotoScattata++;//Incrementiamo il numero di foto scattate. //Scritta in questo modo, questa riga equivale a //NumeroFotoScattata = NumeroFotoScattata + 1 } } void AccendiLed(void) { digitalWrite(Led, HIGH);//accendiamo il led } void SpegniLed(void) { digitalWrite(Led, LOW);//spegnamo il led } void Motore(void) { if (Direzione==true) digitalWrite(MotoreDir, HIGH);//Abilitiamo un senso di rotazione if (Direzione==false) digitalWrite(MotoreDir, LOW);//Abilitiamo il senso opposto digitalWrite(MotoreEnable, LOW);//Abilitiamo la scheda passo passo abbassando il livello logico dell'uscita for (int ciclo=0;ciclo digitalWrite(MotoreStep, LOW); delayMicroseconds(2); digitalWrite(MotoreStep, HIGH); delayMicroseconds(2); delay(Velocita);//attesa per il prossimo impulso } digitalWrite(MotoreEnable, HIGH);//Disabilitiamo la scheda passo passo alzando il livello logico dell'uscita }//diamo un impulso al motore
Lascia un commento