Niveau APPRENTISSAGE : ► Fort
Prérequis :
Matériel :
- 1 x Carte Arduino
- 1 x Bouton
- 1 x Résistance 220 Ω
- 1 x Led
- 1 x Potentiomètre 10 KΩ
- Fils de connexion
- 1 x Breadboard
Schéma de câblage :
Code :
// La broche numérique 3 est reliée au Bouton. On lui donne le nom Bouton.
int Bouton = 3;
// La broche numérique 5 est reliée à la led rouge. On lui donne le nom Ledrouge.
int Ledrouge = 5;
// Déclaration variable EtatBouton qui va servir à stocker une valeur au format bool soit LOW ou HIGH.
bool EtatBouton;
// Déclaration variable EtatBoutonAppuyer qui va servir à stocker une valeur au format bool soit LOW ou HIGH.
bool EtatBoutonAppuyer;
// Déclaration variable HeureActuelle qui va servir à stocker une valeur au format unsigned long.
unsigned long HeureActuelle = 0;
// Déclaration variable HeurePrecedente qui va servir à stocker une valeur au format unsigned long.
unsigned long HeurePrecedente = 0;
// Déclaration variable Tpsminuterie qui va servir à stocker une valeur au format unsigned long.
unsigned long Tpsminuterie;
// Déclaration variable PotarValue qui va servir à stocker une valeur au format unsigned int.
unsigned int PotarValue;
void setup() {
// Faire de la broche du Bouton une entrée avec activation de la résistance de rappel interne de l'ARDUINO .
pinMode(Bouton, INPUT_PULLUP);
// Définit Ledrouge soit la broche numérique 5 comme sortie.
pinMode(Ledrouge, OUTPUT);
}
void loop() {
// La variable HeureActuelle prend la valeur de millis().
HeureActuelle = millis();
// Lit la broche d'entrée du Bouton et stock ça valeur dans EtatBouton.
EtatBouton = digitalRead(Bouton);
// Lit la broche analogique A0 et stock ça valeur dans PotarValue.
PotarValue = analogRead(A0);
// La valeur du PotarValue Min = 0, Max = 1023 et mappée à Min = 0, Max = 10000 puis est stockée dans Tpsminuterie.
Tpsminuterie = map(PotarValue, 0, 1023, 0, 10000);
// Si EtatBouton == LOW et EtatBoutonAppuyer == 0.
if (EtatBouton == LOW && EtatBoutonAppuyer == 0)
{
// La variable EtatBoutonAppuyer prend la valeur de 1.
EtatBoutonAppuyer = 1;
// La variable HeurePrecedente prend la valeur de HeureActuelle égale à millis().
HeurePrecedente = HeureActuelle;
// Met Ledrouge soit la broche numérique 5 sur ON.
digitalWrite(Ledrouge, HIGH);
}
// Si HeureActuelle (millis) moins HeurePrecedente est plus grande que IntervalleClignotement .
if ((HeureActuelle - HeurePrecedente) > Tpsminuterie) {
// Met Ledrouge soit la broche numérique 5 sur OFF.
digitalWrite(Ledrouge, LOW);
// La variable EtatBoutonAppuyer prend la valeur de 0.
EtatBoutonAppuyer = 0;
}
}
Simulation TINKERCAD :
+ Infos sur le langage utilisé :
1. Fonctions
2. Variables
3. Stucture
Nombre de vues: 1 320
J’aime ça :
J’aime chargement…