[Programmation] Programme Arduino - Ecran LCD
Répondre à la discussion
Affichage des résultats 1 à 1 sur 1

Programme Arduino - Ecran LCD



  1. #1
    jb2001

    Programme Arduino - Ecran LCD


    ------

    Bonjour,
    Je m'adresse, à vous car pour mon projet de fin d'année j'ai besoin de réaliser un programme sur Arduino. Si il y a des personne assez forte en Language Arduino pouvez-vous jeter un coup d'oeil à mon programme et me dire ce que vous en pensez (surtout sur la partie de l'écran lcd, car c'est le seul composant que je n'ai pas encore expérimenté)?

    programme:
    Code:
    #include <LiquidCrystal_I2C.h>
    #include <Servo.h>
    #include <SPI.h>
    #include <MFRC522.h>
    
    
    LiquidCrystal_I2C lcd(0x3F,16,2); //modifier l'adresse
    
    #define RST_PIN 9
    #define SS_PIN 10
    MFRC522 module_rfid(SS_PIN, RST_PIN);
    
    int capteurIR = A0;
    int valeur;
    Servo monServo;
    const int ouvrir = 7;
    const int fermer = 6;
    int boutonpoussoir1 = 2;
    int boutonpoussoir2 = 3;
    int valeurhumidite;
    int capteurhumidite = A2;
    int pinRelais = 5;
    
    void setup() {
      monServo.attach(8);
      pinMode(boutonpoussoir1, INPUT);
      pinMode(boutonpoussoir2, INPUT);
      Serial.begin(9600);
      pinMode(ouvrir, OUTPUT);
      pinMode(fermer, OUTPUT);
      pinMode(pinRelais, OUTPUT);
      SPI.begin();
      module_rfid.PCD_Init();
      lcd.init();
      lcd.backlight();
      lcd.setCursor(0, 0);
      lcd.print("Dispositif");
      lcd.setCursor(0, 1);
      lcd.print("d'identification");
      delay(3000);
      lcd.clear();
    }
    
    void loop() {
      valeur = analogRead(capteurIR);
      valeurhumidite = analogRead(capteurhumidite);
      lcd.backlight();
      lcd.setCursor(0, 0);
      lcd.print("Scannez votre");
      lcd.setCursor(0, 1);
      lcd.print("collier");
    
      if ( ! module_rfid.PICC_IsNewCardPresent()) 
      {
        return;
      }
    
      if ( ! module_rfid.PICC_ReadCardSerial()) 
      {
        return;
      }
    
      String UID = "";
    
      for (byte i = 0; i < module_rfid.uid.size; i++) {
        UID.concat(String(module_rfid.uid.uidByte[i] < 0x10 ? " 0" : " "));
        UID.concat(String(module_rfid.uid.uidByte[i], HEX));
      }
    
      UID.toUpperCase();
    
      if (UID.substring(1) == "03 B0 0B ED") 
      {
        digitalWrite(ouvrir, HIGH);
            if (boutonpoussoir1, HIGH)
            {
              digitalWrite(ouvrir, LOW);
                 if(valeur <300)
                 {
                  digitalWrite(fermer, HIGH);
                   if(boutonpoussoir2, HIGH)
                   {
                    digitalWrite(fermer, LOW);
                  
                   }
                   else
                   {
                    digitalWrite(fermer, HIGH);
                   }
                   
                   if(valeurhumidite >300)
                   {
    
                   lcd.clear();
                   lcd.backlight();
                   lcd.setCursor(0, 0);
                   lcd.print("120s");
                    digitalWrite(pinRelais, HIGH);
                    delay(120000);
                    digitalWrite(pinRelais, LOW);
                    monServo.write(90);
                    delay(40000);
                    monServo.write(0);
    
                    
                   }
                 
                   else
                   {
                    monServo.write(90);
                    delay(40000);
                    monServo.write(0);
                   }
                 }
                 else
                 {
                  delay(1000);
                 }
                
            }
            else 
            {
              digitalWrite(ouvrir, HIGH);
            }
      }
    
      else {
        lcd.clear();
        lcd.backlight();
        lcd.setCursor(0, 0);
        lcd.print("ACCES REFUSE");
        lcd.clear();
      }
    }

    Merci d'avance !

    -----
    Dernière modification par JPL ; 07/04/2019 à 15h08. Motif: Ajout de la balise Code (#) pour garder l'indentation

Discussions similaires

  1. (Arduino) problème de téléversement de programme Arduino
    Par walidjake dans le forum Électronique
    Réponses: 1
    Dernier message: 17/05/2016, 09h28
  2. Programme Arduino I2C Terminale SSI
    Par ezofujy dans le forum Électronique
    Réponses: 6
    Dernier message: 18/05/2015, 15h07
  3. VTT Electrique - Programme Arduino
    Par David_DRS dans le forum Technologies
    Réponses: 4
    Dernier message: 10/05/2015, 15h13
  4. programme arduino
    Par julienslr dans le forum Électronique
    Réponses: 26
    Dernier message: 24/07/2014, 11h33
  5. Programme sur Arduino
    Par invite364f7719 dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 22/02/2013, 22h36
Découvrez nos comparatifs produits sur l'informatique et les technologies.