J'avais oublié !!! désolé
#include <Adafruit_SSD1306.h>
#include <splash.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SPITFT.h>
#include <Adafruit_SPITFT_Macros.h>
#include <gfxfont.h>
#define OLED_RESET 4
Adafruit_SSD1306 display( OLED_RESET );
void setup () {
display.begin( SSD1306_SWITCHCAPVCC, 0x3C );
display.clearDisplay();
}
void loop() {
unsigned long temps = millis();
int perimetre = 2; //entrer le périmètre de la roue en m, le périmètre est égal à pi*diamètre ou pi*2* rayon !!!!! EN METRE !!!!!
static unsigned long dernierPassage;
static bool flagMesure = false;
int tempstrouve;
float vitesse;
float distance;
if (analogRead(A0) <= 410 || analogRead(A0) >= 615) { //si un aimant pole nord ou un aimant pole sud passe devant le capteur
if (flagMesure)
{ tempstrouve = temps - dernierPassage;
dernierPassage = temps;
vitesse = (perimetre / (tempstrouve / 1000.0)) * 3.6; //donne la vitesse en km/h grace à v = d/t
flagMesure = false; // pour attente cycle suivant
distance = distance + (perimetre / 1000.0);
display.clearDisplay(); //efface l'écran pour le réactualiser
}
}
else
{
flagMesure = true; // prêt pour une nouvelle mesure
}
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(40, 2); //essai donc placement on s'en fout
display.print(distance, 1);
display.display();
display.setTextSize(4);
display.setTextColor(WHITE);
display.setCursor(0, 2); //essai donc placement on s'en fout
display.print(vitesse,0);
display.display();
}