arduino et photo haute vitesse

bonjour,

Après relecture, j'ai oublié de déclaré la variable permettant la mémorisation de l'état du phototrans (ligne 2), voici donc le code qui se compile correctement dans la fenêtre du programme arduino.

int retard=500; // variable pour mémoriser le temps de retardement
int phototransState = 1; //variable pour mémoriser l'état du phototrans
const int opto_coupl = 13; //définition de la broche 13 de la carte en tant que variable
const int led_IR = 7; //définition de la broche 7 de la carte en tant que variable, masse Led IR
const int phototransmass = 6; //définition de la broche 6 de la carte en tant que variable, masse phototransistor
const int phototrans = 4; //définition de la broche 4 de la carte en tant que variable, phototrans

void setup() //fonction d'initialisation de la carte
{
pinMode(opto_coupl,OUTPUT); //initialisation de la broche 13 comme étant une sortie
pinMode(led_IR, OUTPUT); //initialisation de la broche 7 comme étant une sortie
pinMode(phototransmass, OUTPUT); //initialisation de la broche 6 comme étant une sortie
pinMode(phototrans, INPUT); //initialisation de la broche 4 comme étant une entrée
}

void loop() //fonction principale, elle se répète à l'infini
{
digitalWrite(led_IR, LOW); //allume LED IR
digitalWrite(phototransmass, LOW); //allume phototrans
phototransState=digitalRead(phototrans); //lit la valeur de l'état du phototrans

if(phototransState!=1) //teste si le faisceau est coupé
{
delay(retard); // fait une pause de la valeur de retard
digitalWrite(led_IR, HIGH); // coupe LED IR
digitalWrite(phototransmass, HIGH); // coupe phototrans
digitalWrite(opto_coupl, HIGH); // déclenche optocoupleur
delay(50) ; //durée d'impulsion vers flash
digitalWrite(opto_coupl, LOW); // coupe optocoupleur
delay(15000); // fait une pause de 15000 milli-seconde avant reprise du programme
}
}

Toujours un peu de mal avec l'encodeur rotatif... Je vais tenter d'ouvrir un nouveau sujet...

Bonne journée.