Merci pour vos conseils avisés ![]()
j'avance pas mal du coup !
Voici à quoi ressemble mon code :
/*
Compteur bobine
*/
#include <Wire.h>
#include "rgb_lcd.h"
#include "pitches.h"
#include <Encoder.h>
rgb_lcd lcd;
const int colorR = 45;
const int colorG = 100;
const int colorB = 21;
//potentiometre
Encoder myEnc(2, 6);
int PinSW = 4;
//compteur
long metrage = 0;
long compteur = 0;
long compVal = 0;
int PinCapteur = 3;
//buzzer
int buzPin = 5;
void setup() {
// pinMode (outputA,INPUT_PULLUP);
// pinMode (outputB,INPUT_PULLUP);
// aLastState = digitalRead(outputA);
pinMode (PinCapteur, INPUT);
pinMode (buzPin, INPUT_PULLUP);
metrage = 10;
myEnc.write(1);
pinMode (PinSW, INPUT_PULLUP);
digitalWrite(buzPin, LOW);
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
Serial.begin(9600);
}
void loop() {
resetCompteur();
compteurAFF();
ValMetrage();
lcd.setCursor(0, 0);
lcd.print("Long : ");
lcd.print(metrage);
lcd.setCursor(0, 1);
lcd.print(compteur);
delay(20);
if (compteur >= metrage){
playFailed();
lcd.setRGB(255, 0, 0);
}
}
void playPassed() { /* function playPassed */
////Play 'ON' Sound
int melodyOn[] = {NOTE_C5, NOTE_C6, NOTE_D5, NOTE_A6};
int durationOn = 200;
for (int thisNote = 0; thisNote < 4; thisNote++) {
tone(buzPin, melodyOn[thisNote], durationOn);
delay(200);
}
}
void playFailed() { /* function playFailed */
////Play 'OFF' Sound
int melodyOff[] = {NOTE_C3, NOTE_D3};
int durationOff = 200;
for (int thisNote = 0; thisNote < 2; thisNote++) {
tone(buzPin, melodyOff[thisNote], durationOff);
delay(200);
}
}
void resetCompteur(){
if (!(digitalRead(PinSW))) { // Reset la position si on appui sur le potentiomètre
compteur = 0;
lcd.clear();
lcd.setRGB(colorR, colorG, colorB);
playPassed();
delay(1000);
}
}
void compteurAFF(){
if (digitalRead(PinCapteur) == LOW){
compteur++;
}
}
void ValMetrage(){
metrage = myEnc.read();
}
/*********************************************************************************************************
END FILE
*********************************************************************************************************/