systeme identification HLM

Portrait de etomit

bonjour  je crée se sujet car je doit crée un programme qui fonctionne comme un pass d'identifacation dans les HLM,

Voici le travail a exécuter :

• 1 carte Arduino • 1 Bouton poussoir • 1 Buzzer • 1 Écran LCD • 1 LED Verte • 1 LED Rouge • Résistances Le scénario : Un Bâtiment équipé d’un lecteur Biométrique et d’un afficheur LCD. Le Lecteur affiche « Bonjour, Veuillez-vous identifier ». Un utilisateur entre dans le bâtiment en appuyant sur le bouton Poussoir (simulation d’un contrôleur Biométrique par exemple). La LED rouge s’allume tant que le bouton est appuyé. Au relâchement, après « une vérification du contrôleur » (temporisation de 1000 ms), la LED verte s’allume puis le buzzer émet un double BIP, la LED Verte s’éteint au bout de 3 secondes. L’écran LCD affiche : Bienvenue M. « Votre Nom » puis revient à son état d’origine : tempo de 5 secondes.

pour se qui est de faire l'écran LCD il n'ya aucun problème mais je n'arrive pas à assembler le tout et d'en faire un programme complet marchant correctement

Portrait de Anonyme

On va peut être t'aider si tu veux bien nous fournir le début de code que tu as écris mais j'ai comme un doute sur le fait que ce soit un devoir scolaire, ça y ressemble énormément ! Je me trompe ?

Portrait de etomit

effectivement c'est un devoir scolaire et a cause du confinement je n'arrive a demander d'aide au prof voici le debut de se que j'ai fait :

#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

long portPushButton =

void setup() {
  lcd.begin(16, 2);
  lcd.setCursor(16,0);
  lcd.print("Bonjour,");
  lcd.setCursor(16,1);
  lcd.print("Veuillez-vous identifez");
  Serial.begin(9600);
  pinMode(pinBouton,INPUT);
}

void loop() {
lcd.scrollDisplayLeft();
delay(250);
}
 

Portrait de Anonyme

Ouais .... Tu me prends pour une buse . Mais bon c'est une periode de confinement je veux bien t'aider !

Portrait de Anonyme

Voilà le code :

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int LedRouge = 6, LedVerte = 7, BP = 8 ;

void setup()
{
  lcd.begin(16, 2);
  pinMode(LedRouge, OUTPUT);
  pinMode(LedVerte, OUTPUT);
  pinMode(BP, INPUT_PULLUP); // entre la masse et la pin 8
  digitalWrite(LedRouge , LOW);
  digitalWrite(LedVerte , LOW);
}

void loop()
{
  lcd.clear();
  lcd.setCursor(5, 0);
  lcd.print("Bonjour");
  lcd.setCursor(0, 1);
  lcd.print("Identifez-Vous !");
  while (digitalRead(BP) == HIGH) {
    // ne fait rien
  }
  while (digitalRead(BP) == LOW) {
    digitalWrite(LedRouge, HIGH);
  }
  digitalWrite(LedRouge, LOW);
  lcd.clear();
  lcd.setCursor(3, 0);
  lcd.print("Verification");
  lcd.setCursor(6, 1);
  lcd.print("en cours");
  delay(1000);
  digitalWrite(LedVerte, HIGH);
  lcd.clear();
  lcd.setCursor(3, 0);
  lcd.print("Bonjour M.");
  lcd.setCursor(3, 1);
  lcd.print("Votre NOM");
  delay(5000);
  digitalWrite(LedVerte, LOW);
}

J'espère que j'aurais une bonne note !! :o)

Pour les messages que tu veux écrire et qui dépassent 16 caractères la seule solution c'est le balayage sur LCD mais comme tu sembles ne pas avoir de problème pour copier le code d'Alex je te laisse faire les modifs !

Portrait de etomit

merci de ton aide j'ai a peut près compris comment sa marche il me manque plus qu'a ajouter le buzzer 

Portrait de Anonyme

Oui mais remplace : lcd.print("Vérification"); par lcd.print("Verification"); // pas de lettre accentuée, c'est une erreur de ma part !

Tu peux faire la simulation ici Timothée et clique sur "démarrer la simulation " en haut à droite