Projet terminal

Bonjour à tous, je suis actuellement élève de terminale STI2D nous avons un projet de fin d'année qui est de contrôler une porte dans une résidence sécuriser. La porte est déverrouillable à l'aide d'un badge pour les administrateurs et un code pour les invités. Ma partie consiste à ouvrir et fermer la porte grâce à un vérin et j'ai un ami qui devait s'occuper d'un capteur infra-rouge qui réouvre la porte si quelq'un n'était par encore passer mais c'est ami est partie donc je dois ajouter une variable sur mon programme qui permet juste de reouvrir la porte à sa place mais je n'y arrive pas s'il vous plait j'aimerai avoir un peu d'aide s'il vous plait. J'utilise un Ardumoto motor shield (SparkFun Ardumoto - Motor Driver Shield - DEV-14129 - SparkFun Electronics)
et un vérin L12-XT-50 (8 bonnes raisons d'utiliser la gamme Lego Mindstorms dans vos cours). j'ai fait mon programme qui sert à l'ouverture et la fermeture de la porte:

   // Depending on how you wired your motors, you may need to swap.
#define CW  0
#define CCW 1

// Motor definitions to make life easier:
#define MOTOR_A 0

const byte PWMA = 3;  // PWM control (speed) for motor A
const byte DIRA = 12; // Direction control for motor A

void setup()
{
  setupArdumoto(); // Set all pins as outputs
}

void loop()
{
  // Drive motor A (and only motor A) at various speeds, then stop.
  driveArdumoto(MOTOR_A, CCW, 255); // Set motor A to CCW at max
  delay(20000);  // Motor A will spin as set for 1 second
  driveArdumoto(MOTOR_A, CW, 127);  // Set motor A to CW at half
  delay(20000);  // Motor A will keep trucking for 1 second 
  stopArdumoto(MOTOR_A);  // STOP motor A 

  driveArdumoto(MOTOR_A, CW, 255);    
  delay(10000);  // Drive forward for a second
  // Now go backwards at half that speed:
  driveArdumoto(MOTOR_A, CCW, 127);  // Motor A at max speed.
  }
void driveArdumoto(byte motor, byte dir, byte spd)
{
  if (motor == MOTOR_A)
  {
    digitalWrite(DIRA, dir);
    analogWrite(PWMA, spd);
  }
}

void stopArdumoto(byte motor)
{
  driveArdumoto(motor, 0, 0);
}

// setupArdumoto initialize all pins
void setupArdumoto()
{
  pinMode(PWMA, OUTPUT);
  pinMode(DIRA, OUTPUT);

  // Initialize all pins as low:
  digitalWrite(PWMA, LOW);
  digitalWrite(DIRA, LOW);

}

C'est moi ou il y a de l'écho ici.

C'est le 3ème fil de discussion que tu ouvres sur le même sujet. Tu n'as pas l'impression d'abuser?

Sur les premiers fils que tu as ouvert on t'as fait des remarques concernant ton code qui est complètement incohérent par rapport à l'énoncé que tu as exposé.
As-tu consulté les tutos que l'on t'avait recommandé?
As-tu essayé de comprendre les quelques lignes que tu as copiées et qui constituent une sorte de guillotine pour les pauvres malheureux qui s'engageraient dans ta porte?

Pour info son tout premier post à lire ici.
La présentation du code est une merveille, je n'avais encore jamais vu. :
http://forum.arduino.cc/index.php?topic=459615.msg3156957#msg3156957

Iniesta41 tu ne crois pas que tu devrais grandir ?
Il va falloir passer dans le monde des adultes, c'est inexorable l'enfance ne dure qu'un temps très court.

fdufnews:
C'est moi ou il y a de l'écho ici.

C'est le 3ème fil de discussion que tu ouvres sur le même sujet. Tu n'as pas l'impression d'abuser?

En fait c'est le 6eme, aucune volonté de comprendre. Il attend juste que quelqu'un passe et donne un code tout fait et pouvoir dire ensuite à ses profs "Regardez le code que j'ai fait, je suis trop fort, je mérite un 20".

Et après, on nous dira d'aller se faire cuire un œuf ailleurs.