<

MTclockDouble: Exemple 4
Gestion par événements pour UNO, Nano, Mega

Slaves de 5 flashs

On veut réaliser une led clignotante, mais pour laquelle l'état allumé sera remplacé par 5 flashs. Cela donne en terme de chronogramme:

chronogramme d'une led qui clignote en flashant

On va utiliser une première hologe qui va délivrer 5 flashs et qui sera régulièrement mise en marche par une deuxième horloge.

Programme complet recommandé

Ce programme se fait complètement sous interruption, et libère loop qui peut être utilisé pour faire autre chose.

// Ce programme fait flasher 5 fois une led

#include <MTobjects.h> // V1.0.4 Voir http://arduino.dansetrad.fr/MTobjects


// Mise en place de 5 flashs rapides
void allume(void)
{
  digitalWrite(LED_BUILTIN, HIGH);
}

void eteint(void)
{
  digitalWrite(LED_BUILTIN, LOW);
}

MTdoubleClock CinqFlash(100 milli_secondes, 50 milli_secondes, allume, eteint, 10 actions_et_arret, MT_OFF);


// Lancemant régulier des 5 flashs
void flash(void)
{
  CinqFlash.start();
}

MTclock Metronome(2000 milli_secondes, flash);

void setup()
{
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop(){}