arduino et photo haute vitesse

Salutatouss,

Alors après renseignement, le collecteur du phototransistor va au 5v et c'est la patte la plus longue qui part à la masse... L'inverse d'une LED, logique... J'aurais fait une connerie...

Sinon je vous propose les premières lignes de code, elle ne prennent pas du tout en compte l'encodeur (qui me pose encore bien des problèmes) mais assurent les fonctions de base du détecteur. Y voyez vous une boulette?

D'autre part, j'ai déjà des connecteurs implantés dans les pins de l'arduino (ceux qui recevront l'encodeur) et qui ne sont pas encore reliés à quelque chose, est il nécessaire de configurer ces pins d'une manière quelconque (genre mise en pull up) ?

int retard=500; // variable pour mémoriser Le temps de retardement
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) //test 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
}
}

Marchi!