Compteur et affichage lcd

Bonsoir bricoelec

La première chose, est de définir une variable de comptage de INTER:
int cptINTER = 0; // Comptage des transitions d'INTER

Variable qui est incrémentée à la transition à HIGH de INTER:

	digitalWrite(INTER, HIGH);
	cptINTER ++; // Incrémentation du compteur

ensuite il ne reste plus qu'à afficher:

	lcd.setCursor(0,0);
	lcd.print("INTER=");
	lcd.setCursor(7,0);
	lcd.print(String(cptINTER) + " ");

Si tu mets la console de l'IDE à 115200, tu verras l'echo du comptage:

Le programme:

#include <LiquidCrystal.h>
const int rs = 12, en = 11, d4 = 10, d5 = 9, d6 = 8, d7 = 7;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

// La commande de l'interrupteur se fait par la broche 2 de l'Arduino
#define INTER 2
int cptINTER = 0; // Comptage des transitions d'INTER

// Le contrôl de l'alim 120V se fait avec la broche 4 de l'Arduino connectée à l'entrée du driver de MOSFET
#define ALIM_120V 4

void setup() {
	Serial.begin(115200);
	lcd.begin(16, 2);
	
	// Déclaration des broches 2 et 4 de l'arduino comme sorties
	pinMode(INTER, OUTPUT);
	pinMode(ALIM_120V, OUTPUT);
}

void loop() {


	// Passer la sortie 4 de l'Arduino à l'état HAUT pour avoir 0 en sortie du driver afin de ne pas piloter le MOSFET
	digitalWrite(ALIM_120V, HIGH);

	// Attendre 1 seconde avant de passer aux instructions suivantes
	delay(1000);
	
	// Passer la sortie 2 de l'Arduino à l'état HAUT pour fermer l'interrupteur
	digitalWrite(INTER, HIGH);
	cptINTER ++; // Incrémentation du compteur
	lcd.setCursor(0,0);
	lcd.print("INTER=");
	lcd.setCursor(7,0);
	lcd.print(String(cptINTER) + " ");
	Serial.println("INTER = " + String(cptINTER));
	
	// Après fermeture de l'interrupteur, attendre 3 secondes avant d'activer le MOS et envoyer du 120V
	delay(3000);
	
	// Passer la sortie 4 de l'Arduino à l'état BAS pour envoyer le 120V
	digitalWrite(ALIM_120V, LOW);

	// Après envoi du 120V, attendre 9 seconde avant d'arrêter cette tension
	delay(9000);

	// Passer la sortie 4 de l'Arduino à l'état HAUT pour arrêter le 120V
	digitalWrite(ALIM_120V, HIGH);
	
	// Après arrêt du 120V, attendre 1 seconde avant d'ouvrir l'interrupteur
	delay(1000);

	// Passer la sortie 2 de l'Arduino à l'état BAS pour ouvrir l'interrupteur
	//digitalWrite(INTER, LOW);

	// Après ouverture de l'interrupteur, attendre 3 seconde avant d'envoyer du 120V
	delay(3000);

	// Passer la sortie 4 de l'Arduino à l'état BAS pour envoyer le 120V
	digitalWrite(ALIM_120V, LOW);

	// Après envoi du 120V, attendre 9 seconde avant d'arrêter cette tension
	delay(9000);
	
}

N'hésites pas à poser des questions :wink:

PS: Je n'ai pas ce type d'affichage, donc pas pu essayer :wink:

A+
Bonne soirée
jpbbricole