Besoin d<aide avec un code pour une "Beacon light"

Salut tlm :slight_smile:

J'essaye de crée un petit bout de code qui va s'ajouter a un plus gros mais je galère.
J'essaye de trouver de bon tuto pour apprendre a maîtrisé le temps, mais a date, je trouve seulement des truc pas tres concret ( a mes yeux d'amateur)

Donc voila, je vous lance la balle en esperant que quelqu'un puisse m'aider.

Je veux faire une Beacon light ou un genre de Recovery Strob.

lorsque j’enclenche un interrupteur, une LED s'allume et s’éteint 2 fois l'espace d'1/2 seconde pour ensuite s'eteindre pour 1 seconde et ainsi de suite jusqu'a ce que l’interrupteur retourne a OFF.

J'essaye d'évité la fonction delay() puisque d'autre actions doivent s'effectuer en meme temp.

Quelqu'un a une idée ?

pitbull81:
lorsque j’enclenche un interrupteur, une LED s'allume et s’éteint 2 fois l'espace d'1/2 seconde pour ensuite s'eteindre pour 1 seconde et ainsi de suite jusqu'a ce que l’interrupteur retourne a OFF.

J'essaye d'évité la fonction delay() puisque d'autre actions doivent s'effectuer en meme temp.

Quelqu'un a une idée ?

bonjour
la base pour ce genre de truc , l'exemple 02.DIGITAL BlinkWithoutDelay

Alors tu sais ou je pourrais trouver un bon tuto pour les millis et le temp ? j'en ai lu quelque un pis jy comprend que dalle...

KArl

pitbull81:
Alors tu sais ou je pourrais trouver un bon tuto pour les millis et le temp ? j'en ai lu quelque un pis jy comprend que dalle...

KArl

A quoi ça sert que B@tto se decarcasse ? :smiley:

Salut,
cool je ne suis pas encore tombé sur le blog de B@tto, j'ai hâte d'y visionner ces pages :slight_smile:
Sinon, j'ai une liste de lien en favoris plutôt fleurie, dont un tuto explicatif du millis et micros en complément du lien proposé plus haut
https://www.areaprog.com/arduino/article-629-millis-et-micros-utilisation-des-fonctions-millis-et-micros-pour-tirer-profit-de-l-horloge-interne-de-l-arduino

Slt je me suis amusé à programmer un petit code je sais pas si c'est ce que tu cherche, demande moi si tu ne pige pas un truc je ne suis pas très fort en programmation il y à certainement mieux et plus simple

unsigned long t1=0; // pour la mémorisation du temps
byte cycle;         // pour le grafset 

void setup()
{
 pinMode(13, OUTPUT);   // la led verte de la carte
 pinMode(2, INPUT);     // le bouton sur la broche 2
}

void loop()
{
 unsigned long time=millis();   // lecture du temps qui passe 

   if (digitalRead(2)) {  // si le bouton est enclenché
    if (( cycle == 0 || cycle == 2) && time>t1+500) { t1=time; cycle++; digitalWrite(13,1);  } // allume la led pendant 500ms
    if (( cycle == 1 || cycle == 3) && time>t1+500) { t1=time; cycle++; digitalWrite(13,0);  } // étein la led etein pendant 500ms
    if (  cycle == 4 && time>t1+500) { t1=time; cycle=0; } // attend 500ms de plus avant de recommancer
   } else {cycle=0; digitalWrite(13,0); }  // reset si le bouton n'est pas enclenché
}

Artouse, fifi82 & scoob, Merci pour votre aide!

Fifi, j'essaye ton code dans quelque minute, je t'en reparle :slight_smile: