bonjour
je débute avec arduino
je realise une pesé sur chargeur hydraulique
tout fonctionne sauf que je voudrais faire une remise a zero du cumul des pesée et du compteur mais je n’y arrive pas si quelqu’un peut m’aider
merci d’avance
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);
long portPotentiometre = A2;//capteur de pression
float valeurPotentiometre;//capteur de pression
const int buttonPin = 7; // compteur
int buttonPushCounter = 0; // compteur
int buttonState = 0; //compteur
int lastButtonState = 0; // compteur
int cumul = 0; //cumul
int lastcumul = 0; //cumul
int reset = 9; //reset
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(buttonPin, INPUT);
digitalWrite(reset, HIGH);
}
int raz()
{if(digitalRead(reset) == HIGH) // Si le bouton reset est appuyé alors on remet à zéro
{lastcumul = 0;
cumul = 0;
buttonPushCounter = 0 ;
return 1;}}
void loop() {
valeurPotentiometre = analogRead(portPotentiometre);
valeurPotentiometre = (valeurPotentiometre-400)*900/400;
delay(100);
// lit l’état actuel du bouton poussoir et le mémorise dans la variable
buttonState = digitalRead(buttonPin);
// compare l’état actuel du bouton poussoir à l’état précédent mémorisé
if (buttonState != lastButtonState) {
// si l’état du bouton poussoir a changé et est HAUT, on incrémente la variable de comptage
if (buttonState == HIGH) {
// si l’état actuel du bouton est HAUT
// il est passé de BAS à HAUT
buttonPushCounter++;
cumul = lastcumul +(valeurPotentiometre);
// affiche les messages sur le PC
Serial.println(“APPUI”);
Serial.print("nombre d’appuis: ");
Serial.println(buttonPushCounter, DEC); // affiche la valeur au format décimal
}
else {
// si le bouton courant est BAS
// il est passé de HAUT à BAS :
Serial.println(“PAS D’APPUI”);
}
//mémorise l’état courant du bouton poussoir
//pour les prochains passages dans la boucle loop
lastButtonState = buttonState;
}
lastcumul = cumul;
lcd.begin(16,2);
lcd.setCursor(10,0);
lcd.print(valeurPotentiometre);
lcd.setCursor(0,1);
lcd.print(buttonPushCounter);
lcd.setCursor(4,1);
lcd.print(cumul);
}