Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //plan at dropbox.com/s/yx9dym0ean7zp4y/Menu%20LED.jpg?dl=0
- #include <LiquidCrystal.h> // on importe la biblioth�que pour LCD
- LiquidCrystal monEcran(12, 11, 5, 4, 3, 2); // on cr�e un objet LCD nomm� monEcran en mode 4 bits
- const int boutSelect = 9; //constante du pin bouton 1
- const int boutControle = 8; //constante du pin bouton 2
- boolean etatLed[5]={0,0,0,0,0};//�tat de la LED 13 (0=LOW, 1=HIGH)
- String ligne1 = {"LED "};
- String ligne2 = "OFF";//cha�ne pour la ligne 2 (d�pend du menu 1)
- const int led[5]={A1,A2,A3,A4,A5};
- const int buzzer = 13;
- int posMenu=0;
- void setup() {
- //configuration des pins
- pinMode(boutSelect, INPUT_PULLUP);
- pinMode(boutControle, INPUT_PULLUP);
- pinMode(buzzer, OUTPUT);
- pinMode(A1, OUTPUT);
- pinMode(A2, OUTPUT);
- pinMode(A3, OUTPUT);
- pinMode(A4, OUTPUT);
- pinMode(A5, OUTPUT);
- //initialisation de l'�cran LCD
- monEcran.begin(16, 2); //on initialise la communication avec 16 colonnes et 2 lignes
- monEcran.clear(); // on efface l'�cran
- }
- void loop() {
- Serial.println(posMenu);
- navigation(); //appel de la fonction pour naviguer dans les menus
- affichage(); //appel de la fonction pour rafra�chir l'affichage LCD
- digitalWrite(led[posMenu], etatLed[posMenu]);//el de la fonction pour g�rer la LED 13
- }
- //fonction de navigation dans le menu
- void navigation() {
- //cr�ation de variables d'�tat pour les boutons
- boolean etatBout1 = digitalRead(boutSelect);
- boolean etatBout2 = digitalRead(boutControle);
- //Boucle pour naviguer dans les menus
- if (!etatBout1 || !etatBout2) { //si l'un des deux boutons est appuy�
- if (!etatBout2) { // si bouton 1
- posMenu++;
- if (posMenu == 5){
- posMenu = 0;//on change le menu principal (2 positions)
- }
- }
- if (!etatBout1) { // si bouton 2
- if (!etatLed[posMenu]){
- etatLed[posMenu] += 1;
- }
- else{
- etatLed[posMenu] = 0;
- }
- }
- tone(buzzer, 123, 125);
- delay(250); //attente pour �viter les r�p�titions
- }
- }
- //fonction de rafra�chissement de l'�cran LCD
- void affichage() {
- monEcran.setCursor(0, 0); // on positionne le curseur en haut � gauche
- monEcran.print(ligne1);
- int resultat = (posMenu + 1);
- monEcran.print(resultat);
- monEcran.print(":");// on �crit le menu de la ligne 1
- monEcran.setCursor(0, 1); // on passe � la ligne suivante
- //d�finition du menu pour la LED 13
- String mLED[2] = {
- "OFF ",
- "ON "
- };
- ligne2 = mLED[etatLed[posMenu]];
- monEcran.print(ligne2); // on affiche la ligne du menu 2
- }
- //plan at dropbox.com/s/yx9dym0ean7zp4y/Menu%20LED.jpg?dl=0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement