Advertisement
Guest User

Arduino montre

a guest
Sep 18th, 2019
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <SimpleDHT.h>
  2. #include <LiquidCrystal.h>
  3. #include <Wire.h>
  4. #include "DS3231.h"
  5.  
  6. int button = 0;
  7. int brochebutton = 2;                            //Variables Comptage
  8. int etat = 0;
  9. int ecran = 1;
  10.  
  11. int pinDHT11 = 2;
  12. SimpleDHT11 dht11;
  13. LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
  14. byte temperature = 0;                             //Variables Températures
  15. byte humidity = 0;
  16. int contrast = 75;
  17.  
  18. RTClib RTC;                                      //Variables heures
  19.  
  20. int tiltPin = 5;      
  21. int compteurnombredepas = 0;                    //Variables Compteur de pas
  22. int tiltState = 0;
  23.  
  24. void setup()
  25. {
  26.   Serial.begin(9600);                        
  27.   pinMode(brochebutton, INPUT_PULLUP);        //Décclare la Broche du bouton
  28.   lcd.begin(16, 2);                           //
  29.   analogWrite(6, contrast);                   //Déclare la valeur du contraste
  30.   Wire.begin();                               //
  31.   pinMode(tiltPin, INPUT);                    //Déclare l'entre du capteur de mouvement
  32. }
  33.  
  34. void loop() {
  35.  
  36.  button = digitalRead(brochebutton);          //Met la valeur envoyé par le bouton sur la variable Buttun
  37.  
  38.    if (button == 0 && etat == 0)              //Si le button est appuyé et etat est a 0
  39.      {
  40.     ecran++;                                 //Alors changer d'écran
  41.     etat = 1;                               //et changer Etat à 1
  42.  
  43.      }
  44.   if (etat == 1 && button ==1)             //Si le bouton n'est pas appuyé et que l'état est à 1
  45.   {
  46.    etat = 0;                               //Alors mettre etat à 0 (permet de recommmencer la boucle button)
  47.   }
  48.  
  49.    
  50.    
  51.    if (ecran == 1)                          //Si nous sommes sur l'écran
  52.    {
  53.     lcd.clear();                            //
  54.     lcd.setCursor(0, 0);                    //Paramétres d'affichages
  55.     lcd.print("Heure:");                    //
  56.     lcd.setCursor(0, 1);                    //
  57.    
  58.  
  59.     DateTime now = RTC.now();               //Ajoute une fonction chronométrage
  60.    
  61.  
  62.     lcd.print(now.hour(), DEC);              //Affiche l'heure
  63.     lcd.print(':');
  64.     lcd.print(now.minute(), DEC);            //Affiche les minutes
  65.     lcd.print(':');
  66.     lcd.print(now.second(), DEC);            //affiche les secondes
  67.    
  68.  
  69.     delay(20);
  70.    
  71.    }
  72.    
  73.    if (ecran == 2)                         //Si nous sommes sur l'écran 2
  74.    {
  75.     lcd.clear();                           //
  76.     lcd.setCursor(0, 0);                   //Parametres d'affichages
  77.     lcd.print("Nombre de Pas:");           //
  78.     lcd.setCursor(0, 1);                   //
  79.    
  80.     tiltState = digitalRead(tiltPin);      //Déclares la valeur de tiltState sur la broche tiltPin
  81.        
  82.      if (tiltState ==0)                    //Si le capteur capte un mouvement alors:
  83.    
  84.         {
  85.          compteurnombredepas++;            //Ajouter 1 pas à la variable
  86.  
  87.          }
  88.          
  89.     lcd.print(compteurnombredepas);       //Afficher le nombre de pas
  90.     delay(20);
  91.    
  92.  
  93.    }
  94.    
  95.    if (ecran == 3)            //Si nous sommes sur l'écran 3
  96.    
  97.     {
  98.       lcd.clear();                   //
  99.       lcd.setCursor(0, 0);           //Parametres d'affichage
  100.       lcd.print("Temperature");      //
  101.       lcd.setCursor(0, 1);           //
  102.    
  103.       if (dht11.read(pinDHT11, &temperature, &humidity, NULL)) //Si aucune valeur n'est capté par le capteur de température et humidité alors:
  104.       {
  105.       Serial.print("Read DHT11 failed.");   //Afficher
  106.       return;
  107.       }
  108.  
  109.       lcd.print((int)temperature); lcd.print(" C "); //Afficher sur l'écran La temperature suivi du sygle "Dégres celsius"
  110.       delay(200);
  111.    }
  112.  
  113.   if (ecran>3)        //Si nous essayons d'aller sur l'ecran 4 rebasucler sur l'ecran 1
  114.   {
  115.   ecran = 1;
  116.   }
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement