/* Due fotointerruttori a forcella affiancati. Il fascio di luce viene interrotto da un disco rotante. Il senso di rotazione viene stabilito in funzione di quale fotodiodo viene illuminato per primo. */ int canaleA=6; int canaleB=9; int contatore=0; boolean avanti; boolean indietro; boolean memoriaA; boolean memoriaB; boolean direzione; void setup() { Serial.begin(9600); pinMode(6,INPUT); pinMode(9,INPUT); } void loop() { canaleA=digitalRead(6); canaleB=digitalRead(9); Serial.print(contatore); Serial.print(" Avanti "); Serial.print(avanti); Serial.print(" indietro "); Serial.println(indietro); if ( canaleB==1 && canaleA==1) { direzione=1; memoriaA=0; memoriaB=0; } if ( canaleA==0 && direzione==1) { indietro=1; avanti=0; direzione=0; } if ( canaleB==0 && direzione==1) { avanti=1; indietro=0; direzione=0; } if ( canaleB==0 && avanti==1 && memoriaA==0) { contatore=contatore+1; memoriaA=1; } if ( canaleA==0 && indietro==1 && memoriaB==0) { contatore=contatore-1; memoriaB=1; } }//---------FINE LOOP--------------
Visualizzazione post con etichetta Fronti. Mostra tutti i post
Visualizzazione post con etichetta Fronti. Mostra tutti i post
sabato 10 gennaio 2015
Senso di rotazione.
martedì 9 dicembre 2014
Fronte di discesa
# define SWITCH1 2 # define LED1 8 int buttonPin = 2; int ledPin = 8; int buttonState = 0; int lastButtonState = 0; int ledState = 0; void setup() { pinMode(buttonPin, INPUT); pinMode(ledPin, OUTPUT); } void loop() { buttonState = digitalRead(SWITCH1); if ( buttonState != lastButtonState) { if ( buttonState == 0) { if( ledState==0 ) ledState=1; else ledState=0; } lastButtonState = buttonState;} digitalWrite(LED1, ledState); delay(20); }
Fronte di salita
# define SWITCH1 2 # define LED1 8 int buttonPin = 2; int ledPin = 8; int buttonState = 0; int lastButtonState = 0; int ledState = 0; void setup() { pinMode(buttonPin, INPUT); pinMode(ledPin, OUTPUT); } void loop() { buttonState = digitalRead(SWITCH1); if ( buttonState != lastButtonState) { if ( buttonState == 1) { if( ledState==1 ) ledState=0; else ledState=1; } lastButtonState = buttonState;} digitalWrite(LED1, ledState); delay(20); }
Iscriviti a:
Post (Atom)