// — Inclusion des librairies utilisées —
// include the library code:
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
// — Déclaration des constantes —
const int APPUI=0; // constante état du BP - appui sur niveau bas
const int PAS_APPUI=1; // constante état du BP - relâché sur niveau haut
// — constantes des broches —
const int BPG=8;
const int BPOK=12;
const int BPD=13;
const int LED=3; //declaration constante de broche
// — Déclaration des variables globales —
int ETAT_BPOK; // variable d’état du bouton poussoir
int ETAT_BPG;
int ETAT_BPD;
// — Initialisation des fonctionnalités utilisées —
//**************** FONCTION SETUP = Code d’initialisation *****
// La fonction setup() est exécutée en premier et 1 seule fois, au démarrage du programme
void setup() { // debut de la fonction setup()
// — ici instructions à exécuter au démarrage —
pinMode(LED, OUTPUT); //met la broche en sortie
pinMode(BPOK, INPUT); //met la broche en entree
digitalWrite(BPOK, HIGH) ; // activation du pullup de la broche en entrée
// Initialisation de l’afficheur LCD
lcd.begin(20,4); // Initialise le LCD avec 20 colonnes x 4 lignes
delay(2); // pause rapide pour laisser temps initialisation
// Test de l’afficheur LCD
lcd.setCursor(4, 0) ;
lcd.print(“Bonjour”) ; // affiche la chaîne texte - message de test
delay(1000); // pause de 2 secondes
lcd.setCursor(1, 1) ; // 10ème col - 2ème ligne - positionne le curseur à l’endroit voulu (colonne, ligne) (1ère=0 !)
lcd.print(“Bienvenue dans”) ; // affiche la chaîne texte - message de test
delay(1000); // pause de 2 secondes
lcd.clear(); // // efface écran et met le curseur en haut à gauche
delay(2); // pour laisser temps effacer écran
lcd.setCursor(1, 0) ;
lcd.print(“la gestion de”) ; // affiche la chaîne texte - message de test
delay(1000); // pause de 2 secondes
lcd.setCursor(3, 1) ; // 10ème col - 2ème ligne - positionne le curseur à l’endroit voulu (colonne, ligne) (1ère=0 !)
lcd.print(“l’aquarium”) ; // affiche la chaîne texte - message de test
delay(1000); // pause de 2 secondes
lcd.clear(); // // efface écran et met le curseur en haut à gauche
delay(2); // pour laisser temps effacer écran
lcd.setCursor(0, 0) ; //
lcd.print("Dim 11 Juil ") ; // affiche la chaîne texte - message de test
lcd.setCursor(2, 1) ; //
lcd.print("") ; // affiche la chaîne texte - message de test
}
// fin de la fonction setup()
// ********************************************************************************
//*************** FONCTION LOOP = Boucle sans fin = coeur du programme *************
// la fonction loop() s’exécute sans fin en boucle aussi longtemps que l’Arduino est sous tension
void loop(){ // debut de la fonction loop()
// — ici instructions à exécuter par le programme principal —
ETAT_BPOK=digitalRead(BPOK); // lit l’état du BPOK et met la valeur 0/1 dans la variable
if (ETAT_BPOK==APPUI) { // si l’état du BP est appuyé (càd si variable état BP = 0)
// Attention à bien utiliser == et non =
lcd.clear(); // // efface écran et met le curseur en haut à gauche
delay(10); // pour laisser temps effacer écran
lcd.setCursor(0, 0) ; //
lcd.print(“Bulleur”) ; // affiche la chaîne texte - message de test
lcd.setCursor(3, 1) ; //
lcd.print("") ; // affiche la chaîne texte - message de test
}
} // fin de la fonction loop() - le programme recommence au début de la fonction loop sans fin
// ********************************************************************************
// — Fin programme —