Problem

Hello.

My name is Clément, I'm French. I'm 18, I'm in the final year of high school, sector "STI2D". It was a project by year end we must submit to the oral, which was as base Arduino. This project is perform an automatic and autonomous portal. We are 4 in the project, and I have to open the doors with a L298 (I took it to the GHI electronics module). I managed to move the doors without problems but I do not know how I can program to an LED flash for its opening and especially how to stop it if overcurrent. The engines are "MFA Como drills" (that is what is written on it). and sorry for my english, it is not wonderful ... I will post the program ;)

Thanks Clément

The program for moving a door, and then move 2 doors :

//MOTEUR A
int ENA=5; //Connecté à Arduino pin 5(sortie pwm)
int IN1=1; //Connecté à Arduino pin 1
int IN2=2; //Connecté à Arduino pin 2

//MOTEUR B
int ENB=6; //Connecté à Arduino pin 6(Sortie pwm)
int IN3=3; //Connecté à Arduino pin 3
int IN4=4; //Connecté à Arduino pin 4

const int LED=12;                 // déclaration de la constante de broche, ici c'est la broche 12

void setup() 
{
 pinMode(LED,OUTPUT);//déclaration du type de connexion utilisé pour la LED, ici une sortie (output) reliée à la broche n°12
 pinMode(ENA,OUTPUT);//Configurer les broches comme sorties
 pinMode(ENB,OUTPUT);
 pinMode(IN1,OUTPUT);
 pinMode(IN2,OUTPUT);
 pinMode(IN3,OUTPUT);
 pinMode(IN4,OUTPUT);
 digitalWrite(ENA,LOW);// Moteur A - Ne pas tourner (désactivation moteur)
 digitalWrite(ENB,LOW);// Moteur B - Ne pas tourner (désactivation moteur) 
}


void loop() 
{
  // Moteur A 
  analogWrite(ENA,25);

  // Moteur B
  analogWrite(ENB,25);
  
  ouverture_1();
  fermeture_1();
  delay(10000);
  ouverture_2();
  fermeture_2();
  delay(60000);
}

void ouverture_1()

{
 digitalWrite(IN1,HIGH);
 delay(8300);
 digitalWrite(IN1,LOW);
 delay(2000);
}

void fermeture_1()

{
 digitalWrite(IN4,HIGH);
 delay(8500);
 digitalWrite(IN4,LOW);
}

void ouverture_2()

{
 digitalWrite(IN3,HIGH);
 digitalWrite(IN1,HIGH);
 delay(8930);
 digitalWrite(IN3,LOW);
 digitalWrite(IN1,LOW);
 delay(2000);
}

void fermeture_2()

{
 digitalWrite(IN2,HIGH);
 digitalWrite(IN4,HIGH);
 delay(8850);  
 digitalWrite(IN2,LOW);
 digitalWrite(IN4,LOW);
}

the same with the LED (who doesn't work)

//MOTEUR A
int ENA=5;                           //Connecté à Arduino pin 5(sortie pwm)
int IN1=1;                           //Connecté à Arduino pin 1
int IN2=2;                           //Connecté à Arduino pin 2

//MOTEUR B
int ENB=6;                           //Connecté à Arduino pin 6(Sortie pwm)
int IN3=3;                           //Connecté à Arduino pin 3
int IN4=4;                           //Connecté à Arduino pin 4

//LED
const int LEDpin=13;                 // déclaration de la constante de broche, ici c'est la broche 13
int EtatLED = LOW;                   // variable utilisée pour connaître l'état de la led
long Millisprecedentes = 0;          // variable servant à gérer le clignotement
long intervalle = 50;                // intervalle de clignotement

void setup() 
{
 pinMode(LEDpin,OUTPUT);             //déclaration du type de connexion utilisé pour la LED, ici une sortie (output) reliée à la broche n°12
 pinMode(ENA,OUTPUT);                //Configurer les broches comme sorties
 pinMode(ENB,OUTPUT);
 pinMode(IN1,OUTPUT);
 pinMode(IN2,OUTPUT);
 pinMode(IN3,OUTPUT);
 pinMode(IN4,OUTPUT);
}

void loop() 
{
  // Moteur A 
  analogWrite(ENA,25);

  // Moteur B
  analogWrite(ENB,25);
  
  ouverture_1();
  fermeture_1();
  delay(10000);
  ouverture_2();
  fermeture_2();
  delay(60000);
}

void ouverture_1()

{
 digitalWrite(IN1,HIGH);
 if(IN1=HIGH)
  { 
    unsigned long Millisactuelles = millis();
    if(Millisactuelles - Millisprecedentes > intervalle) 
    {
    Millisprecedentes = Millisactuelles;   // sauvegarder le temps écoulé depuis le dernier clignotement

    if (EtatLED == LOW)                    // si la led est éteinte, l'allumer ou vice-versa
    {
      EtatLED = HIGH;
    }
   
    else
    {
      EtatLED = LOW;
    }
  }
 delay(8250);
 digitalWrite(IN1,LOW);
 delay(2000);
}
}

void fermeture_1()

{
 digitalWrite(IN4,HIGH);
 if(IN4=HIGH)
  { 
    unsigned long Millisactuelles = millis();
    if(Millisactuelles - Millisprecedentes > intervalle) 
    {
    Millisprecedentes = Millisactuelles;   // sauvegarder le temps écoulé depuis le dernier clignotement 

    if (EtatLED == LOW)                    // si la led est éteinte, l'allumer ou vice-versa
    {
      EtatLED = HIGH;
    }
   
    else
    {
      EtatLED = LOW;
    }
  }
 delay(8500);
 digitalWrite(IN4,LOW);
}
}

void ouverture_2()

{
 digitalWrite(IN3,HIGH);
 digitalWrite(IN1,HIGH);
 if(IN3=HIGH)
  { 
    unsigned long Millisactuelles = millis();
    if(Millisactuelles - Millisprecedentes > intervalle) 
    {
    Millisprecedentes = Millisactuelles;   // sauvegarder le temps écoulé depuis le dernier clignotement

    if (EtatLED == LOW)                    // si la led est éteinte, l'allumer ou vice-versa
    {
      EtatLED = HIGH;
    }
   
    else
    {
      EtatLED = LOW;
    }
  }
 delay(8930);
 digitalWrite(IN3,LOW);
 digitalWrite(IN1,LOW);
 delay(2000);
}
}

void fermeture_2()

{
 digitalWrite(IN2,HIGH);
 digitalWrite(IN4,HIGH);
 if(IN2=HIGH)
  { 
    unsigned long Millisactuelles = millis();
    if(Millisactuelles - Millisprecedentes > intervalle) 
    {
    
    Millisprecedentes = Millisactuelles;   // sauvegarder le temps écoulé depuis le dernier clignotement
    
    if (EtatLED == LOW)                    // si la led est éteinte, l'allumer ou vice-versa
     {
      EtatLED = HIGH;
     }
   
    else
     {
      EtatLED = LOW;
     }
    }
 delay(8850);  
 digitalWrite(IN2,LOW);
 digitalWrite(IN4,LOW);
  }
}

Somebody can help me please?

thanks

Clément

Post a drawing of all the wiring.

Perhaps you have the LED wired backwards, or it has already been destroyed by too much current, or backwards wiring.

Hi,

|500x182

The LED is functional, I think this is the "delay" that make it not working . but I do not know how to replace them , and I already have a function " millis " ...

I can not see in your code where you ever write the LED state to the LED pin.

digitalWrite(LEDpin, EtatLED)