juin

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 3

#include <Wire.

h>

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2); // Adresse I2C du LCD

const int capteurPin = 2; // Capteur de détection de passage

const int ledPin = 3; // LED pour indiquer le passage

const int boutonResetPin = 4; // Bouton poussoir pour réinitialiser

int compteur = 0; // Compteur de passage

bool passageDetecte = false;

void setup() {

pinMode(capteurPin, INPUT);

pinMode(ledPin, OUTPUT);

pinMode(boutonResetPin, INPUT_PULLUP);

lcd.begin(16, 2);

lcd.print("Passages:");

lcd.setCursor(0, 1);

lcd.print(compteur);

void loop() {

// Détection de passage

if (digitalRead(capteurPin) == HIGH && !passageDetecte) {


compteur++;

passageDetecte = true;

// Allumer la LED pour 1 seconde

digitalWrite(ledPin, HIGH);

delay(1000);

digitalWrite(ledPin, LOW);

// Mise à jour de l'écran LCD

lcd.setCursor(0, 1);

lcd.print(" "); // Effacer la ligne

lcd.setCursor(0, 1);

lcd.print(compteur);

// Détection de la fin de passage

if (digitalRead(capteurPin) == LOW) {

passageDetecte = false;

// Réinitialisation avec le bouton

if (digitalRead(boutonResetPin) == LOW) {

compteur = 0;

lcd.setCursor(0, 1);

lcd.print(" ");
lcd.setCursor(0, 1);

lcd.print(compteur);

delay(500); // Petit délai pour éviter les rebonds

Vous aimerez peut-être aussi