Probleme pour commander un relais avec capteur ILS

Bonjour a tous

j'ai une question sur l'arduino Opta; est ce qu'un script créé au départ pour un UNO peut fonctionner avec l'OPTA. (en changeant bien entendu les noms des entrées et des sorties) ?

car j'ai essayé mon script qui fonctionne sur UNO sur l'OPTA et rien ne se passe...

j'ai utilisé l'IDE ARDUINO 2.3.2


unsigned long tempsDebut;  // passage précédent de l'aimant

int etatPrecedent;  // lors de du dernier passage dans le loop,
                    // l'aimant était là, ou pas?

const int rel_0 = D0;
const int rel_1 = D1;
const int rel_2 = D2;
const int rel_3 = D3;

// niveau du seuil de vitesse (km/h) pour le déclenchement de la sortie output 7
const int seuil2 = 1300;
const int seuil3 = 1500;
const int seuil4 = 1800;
const int seuil5 = 3000;


void setup() {
  pinMode(A0, INPUT);      
  pinMode(rel_0, OUTPUT);  
  pinMode(rel_1, OUTPUT);
  pinMode(rel_2, OUTPUT);
  pinMode(rel_3, OUTPUT);

  pinMode(LED_D0, OUTPUT);
  pinMode(LED_D1, OUTPUT);
  pinMode(LED_D2, OUTPUT);
  pinMode(LED_D3, OUTPUT);
  pinMode(LED_USER, OUTPUT);
  pinMode(BTN_USER, INPUT);

  Serial.begin(9600);               // moniteur série
  etatPrecedent = digitalRead(A0);  // on vérifie si l'aimant est là ou pas
}

void loop() {

  int etat, delai;
  unsigned long tempsFin;
  int valeurCapteur = digitalRead(A0);
  etat = digitalRead(A0);  // on vérifie si l'aimant est là ou pas
  digitalWrite(LED_USER, etat);

  if ((etat) && (!etatPrecedent)) {   // l'aimant vient d'arriver
    if (tempsDebut > 0) {             // nous connaissons le moment du début de ce tour
      tempsFin = millis();            // quelle heure est-il?
      delai = tempsFin - tempsDebut;  // durée du tour qui vient de se terminer


      if (delai <= seuil5)  // 2 secondes
      {
        digitalWrite(rel_0, HIGH);
        digitalWrite(LED_D0,HIGH);
      } else {
        digitalWrite(rel_0, LOW);
        digitalWrite(LED_D0,LOW);
      }
      if (delai <= seuil4)  // 1,8 secondes
      {
        digitalWrite(rel_1, HIGH);
        digitalWrite(LED_D1,HIGH);
      } else {
        digitalWrite(rel_1, LOW);
        digitalWrite(LED_D1,LOW);
      }
      if (delai <= seuil3)  // 1,5 secondes
      {
        digitalWrite(rel_2, HIGH);
        digitalWrite(LED_D2,HIGH);
      } else {
        digitalWrite(rel_2, LOW);
        digitalWrite(LED_D2,LOW);
      }
      if (delai <= seuil2)  // 1,3 secondes
      {
        digitalWrite(rel_3, HIGH);
        digitalWrite(LED_D3,HIGH);
      } else {
        digitalWrite(rel_3, LOW);
        digitalWrite(LED_D3,LOW);
      }
    }


    tempsDebut = tempsFin;  // mise à jour de la variable
  }

  etatPrecedent = etat;  // mise à jour de la variable
}