” Réaliser un flash périodique ”
. Objectif
Dans cette activité, nous allons modifier le programme de l’activité précédente (circuit identique) pour que le flash s’effectue périodiquement après avoir appuyé sur le bouton poussoir.
Pour cela, il suffit de surveiller, en boucle, la tension Uc aux bornes du condensateur de façon à alterner entre la charge et la décharge :
– Si Uc est supérieure à une valeur Uc max à définir, le condensateur est déchargé, ce qui produit un flash.
– Si Uc est inférieure à une valeur Uc min à définir, le condensateur est chargé jusqu’à Uc max, puis le condensateur est déchargé jusqu’à Uc min et ainsi de suite…
Le flash périodique est arrêté en appuyant de nouveau sur le bouton poussoir.
. Le programme
Voici le code de l’activité, dont il sera possible de modifier les constantes UcMax et UcMin pour voir l’influence sur la période des flashs :
Déroulement du programme :
– 1. Déclaration des constantes et variables :
. const int PinUc = 0 (broche du condensateur : A0)
. const int PinButton = 12 (broche du bouton poussoir)
. const int PinRelay = 2 (broche du relais)
. const int UcMax = 1000 (valeur maximale de la broche du condensateur)
. const int UcMin = 800 (valeur minimale de la broche du condensateur)
. int ValPinUc = 0 (variable nombre entier pour stocker la valeur de la broche du condensateur)
int ValButton = 0 (variable nombre entier pour stocker la valeur de la broche du bouton poussoir)
. int OldValButton = 0 (variable nombre entier pour stocker la valeur précédente de la broche du bouton poussoir)
. int State = 0 (variable nombre entier correspondant à l’action à effectuer)
. int OldState = 0 (variable nombre entier correspondant à l’action effectuée précédemment)
– 2. Initialisation des entrées et sorties :
. Initialisation de la broche du relais en sortie,
. Initialisation de la broche du bouton poussoir en entrée,
. Charge du condensateur jusqu’à UcMax.
– 3. Fonction principale en boucle :