// Ce programme commande une LED blanche // pour simuler un poste de soudure à l'arc. // Il fait appel à la fonction random qui // génère des nombres aléatoires. // Duree_flash est la durée d'un flash. // Duree_int est la durée entre deux flashes. // Duree_flash et Duree_int forment un événement. // Nbre_even est le nombre d'événements au cours // d'un cycle de soudure // P_repos est la durée entre deux cycles de soudure. // Toutes ces données sont aléatoires mais bornées // entre une valeur minimum et une valeur maximum. // En jouant sur l'intervalle, on peut simuler au // mieux l'effet de soudure à l'arc. // Broche est la broche sur laquelle la LED est // connectée. // Initialisation des variables const byte Broche = 13 ; const long Duree_flash_mini = 10 ; const long Duree_flash_maxi = 101 ; const long Duree_int_mini = 10 ; const long Duree_int_maxi = 31 ; const long Nbre_even_mini = 10 ; const long Nbre_even_maxi = 21 ; const long P_repos_mini = 1500 ; const long P_repos_maxi = 7001 ; // Fonction d'initialisation, nécessaire pour mise au point void setup () { randomSeed (analogRead (0)) ; pinMode (Broche, OUTPUT) ; } // Corps du programme void loop () { long Nbre_even = random (Nbre_even_mini, Nbre_even_maxi) ; for (long i = 1 ; i <= Nbre_even ; i++) { long Duree_flash = random (Duree_flash_mini, Duree_flash_maxi) ; long Duree_int = random (Duree_int_mini, Duree_int_maxi) ; digitalWrite (Broche, HIGH) ; delay (Duree_flash) ; digitalWrite (Broche, LOW) ; delay (Duree_int) ; } long P_repos = random (P_repos_mini, P_repos_maxi) ; delay (P_repos) ; }