// Ce programme commande une LED bleue haute luminosité 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) ;
}Simulateur de soudure à l'arc