Sketch per il conteggio dei fori o delle interruzioni del fascio di luce all’interno del gruppo ottico
/* 1
Sketch di simulazione di un meccanismo di controllo con la realizzazione di un gruppo ottico
(Fototransistor + Led) per la rilevazione di oggetti che vi passano all’interno.
Lettura del segnale d'ingresso digitale e conteggio dei fori o delle interruzioni.
*/
byte Foro;
int Cont = -1; // Variabile di conteggio che parte da -1 per calcolare il numero dei fori
int Switch=0; // Deviatore di flusso logico
void setup ()
{
 Serial.begin(9600);
 pinMode (3, INPUT);
}
void loop ()
{
Foro = digitalRead (3); // Legge l'ingresso digitale D3
 // ------------ Conteggio impulsi ------------------------------
 if (Foro == 1 && Switch == 0) // && = AND logico
 {
 ++Cont; // Incrementa Cont
 Switch = 1; // Attiva deviatore
 }

 if (Foro == 0 && Switch == 1)
 {
 Switch = 0; // Disattiva deviatore
 }
// -----------------------------------------------------------------------------
delay (50);
Serial.print(Foro); Serial.print("\t"); Serial.println(Cont);
}