MQ135 - Pondérer le retour à la valeur réellement mesurée

Bonsoir,

Je réalise un petit appareil mesurant la qualité de l'air à l'aide d'un module MQ135.
Mon souhait est de ralentir le retour de la valeur réellement mesurée après une brusque montée.
Mon boitier compte 6 degrés de qualité d'air. Mon objectif est de simuler un "lent" retour depuis la valeur maximale et par toutes les phases intermédiaires avant de retrouver la valeur réelle la plus basse et réellement mesurée.

Voici mon code :

#include <SPI.h>
#include <Wire.h> 
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
#define BLACK 1 //< Black pixel
#define WHITE 0 //< White pixel
#define broche_LED 6 // Définition éclaiurage écran 5110


// Adafruit_PCD8544(CLK,DIN,D/C,CE,RST) définition des ports arduino vers écran 5110
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 8, 9, 10, 11);
//6 éclairage écran led 5110
//7 CLK
//8 DIN ou DN<MOSI
//9 D/C
//10 SCE ou CE
//11 RST ou reset

// Définition port du buzzer
const int buzzer=5;


//definition de la valeur d'entree "mesure"
int mesure;
//int mesureee = (mesure * 6)-25;

// Définition de chaque note de musique 
#define NOTE_A 19.4//8372//2093
#define NOTE_B 311//5587//3520
#define NOTE_C 740//7458//3729

// 'POISSON01', 39x34px
const unsigned char epd_bitmap_POISSON01 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x00, 
	0x18, 0xc0, 0x00, 0x00, 0x00, 0x30, 0x60, 0x00, 0x00, 0x00, 0x61, 0xe0, 0x00, 0x00, 0x00, 0xcf, 
	0x3c, 0x00, 0x00, 0x00, 0xb8, 0x07, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x80, 0x00, 0x01, 0x80, 0x00, 
	0xc0, 0x00, 0x03, 0x00, 0x00, 0x60, 0x03, 0xe2, 0x00, 0x00, 0x30, 0x02, 0x36, 0x00, 0x00, 0x10, 
	0x02, 0x1c, 0x00, 0x00, 0x18, 0x02, 0x0c, 0x00, 0x00, 0x08, 0x03, 0x00, 0x00, 0x00, 0x08, 0x01, 
	0x80, 0x01, 0xc0, 0x48, 0x00, 0x80, 0x03, 0x80, 0xe8, 0x01, 0x00, 0x03, 0xe0, 0xe8, 0x03, 0x0c, 
	0x03, 0xc0, 0xc8, 0x02, 0x1c, 0x03, 0x0e, 0x68, 0x02, 0x36, 0x01, 0xc6, 0x08, 0x03, 0xe3, 0xc0, 
	0x04, 0x08, 0x00, 0x01, 0x80, 0x00, 0x18, 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, 0x01, 0xee, 0x00, 
	0x60, 0x00, 0x00, 0x38, 0x83, 0xc0, 0x00, 0x00, 0x21, 0xff, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 
	0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'POISSON02', 39x34px
const unsigned char epd_bitmap_POISSON02 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x00, 
	0x18, 0xc0, 0x00, 0x00, 0x00, 0x30, 0x60, 0x00, 0x00, 0x00, 0x61, 0xe0, 0x00, 0x00, 0x00, 0xcf, 
	0x3c, 0x00, 0x00, 0x00, 0xb8, 0x07, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x80, 0x00, 0x01, 0x80, 0x00, 
	0xc0, 0x00, 0x03, 0x00, 0x00, 0x60, 0x03, 0xe2, 0x00, 0x00, 0x30, 0x02, 0x36, 0x00, 0x00, 0x10, 
	0x02, 0x1c, 0x00, 0x00, 0x18, 0x02, 0x0c, 0x00, 0x00, 0x08, 0x03, 0x00, 0x00, 0x00, 0x08, 0x01, 
	0x80, 0x00, 0x00, 0x08, 0x00, 0x80, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0xe8, 0x03, 0x0c, 
	0x03, 0xc0, 0xc8, 0x02, 0x1c, 0x03, 0x0e, 0x68, 0x02, 0x36, 0x01, 0xc0, 0x08, 0x03, 0xe3, 0xc0, 
	0x00, 0x08, 0x00, 0x01, 0x80, 0x00, 0x18, 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, 0x01, 0xee, 0x00, 
	0x60, 0x00, 0x00, 0x38, 0x83, 0xc0, 0x00, 0x00, 0x21, 0xff, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 
	0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'POISSON04', 39x34px
const unsigned char epd_bitmap_POISSON04 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x00, 
	0x18, 0xc0, 0x00, 0x00, 0x00, 0x30, 0x60, 0x00, 0x00, 0x00, 0x61, 0xe0, 0x00, 0x00, 0x00, 0xcf, 
	0x3c, 0x00, 0x30, 0x00, 0xb8, 0x07, 0x00, 0x48, 0x00, 0xe0, 0x01, 0x80, 0x84, 0x01, 0x80, 0x00, 
	0xc0, 0x84, 0x03, 0x00, 0x00, 0x60, 0x4b, 0xe2, 0x00, 0x00, 0x30, 0x32, 0x36, 0x00, 0x00, 0x10, 
	0x02, 0x1c, 0x00, 0x00, 0x18, 0x12, 0x0c, 0x00, 0x00, 0x08, 0x2b, 0x00, 0x00, 0x00, 0x08, 0x29, 
	0x80, 0x01, 0xc0, 0x48, 0x10, 0x80, 0x03, 0x80, 0xe8, 0x01, 0x00, 0x03, 0xe0, 0xe8, 0x03, 0x0c, 
	0x03, 0xc0, 0xc8, 0x02, 0x1c, 0x03, 0x0e, 0x68, 0x02, 0x36, 0x01, 0xc6, 0x08, 0x03, 0xe3, 0xc0, 
	0x04, 0x08, 0x00, 0x01, 0x80, 0x00, 0x18, 0x04, 0x03, 0x00, 0x00, 0x30, 0x00, 0x01, 0xee, 0x00, 
	0x60, 0x00, 0x00, 0x38, 0x83, 0xc0, 0x00, 0x00, 0x21, 0xff, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 
	0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'POISSON03', 39x34px
const unsigned char epd_bitmap_POISSON03 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x00, 
	0x18, 0xc0, 0x00, 0x00, 0x00, 0x30, 0x60, 0x00, 0x00, 0x00, 0x61, 0xe0, 0x00, 0x00, 0x00, 0xcf, 
	0x3c, 0x00, 0x00, 0x00, 0xb8, 0x07, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x80, 0x00, 0x01, 0x80, 0x00, 
	0xc0, 0x00, 0x03, 0x00, 0x00, 0x60, 0x03, 0xe2, 0x00, 0x00, 0x30, 0x02, 0x36, 0x00, 0x00, 0x10, 
	0x02, 0x1c, 0x00, 0x00, 0x18, 0x02, 0x0c, 0x00, 0x00, 0x08, 0x03, 0x00, 0x00, 0x00, 0x08, 0x01, 
	0x80, 0x01, 0xc0, 0x48, 0x00, 0x80, 0x03, 0x80, 0xe8, 0x01, 0x00, 0x03, 0xe0, 0xe8, 0x03, 0x0c, 
	0x03, 0xc0, 0xc8, 0x02, 0x1c, 0x03, 0x0e, 0x68, 0x02, 0x36, 0x01, 0xc6, 0x08, 0x03, 0xe3, 0xc0, 
	0x04, 0x08, 0x00, 0x01, 0x80, 0x00, 0x18, 0x00, 0x8b, 0x00, 0x00, 0x30, 0x01, 0x41, 0xee, 0x00, 
	0x60, 0x02, 0x20, 0x38, 0x83, 0xc0, 0x01, 0x40, 0x21, 0xff, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 
	0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'POISSON05', 39x34px
const unsigned char epd_bitmap_POISSON05 [] PROGMEM = {
	0x80, 0x80, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x08, 
	0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x0f, 0x80, 0x00, 0x20, 0x00, 
	0x18, 0xc0, 0x00, 0x20, 0x00, 0x30, 0x60, 0x00, 0x20, 0x40, 0x61, 0xe0, 0x00, 0x40, 0x00, 0xcf, 
	0x3c, 0x00, 0x80, 0x00, 0xb8, 0x07, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x80, 0x00, 0x01, 0x80, 0x00, 
	0xc0, 0x00, 0x03, 0x00, 0x00, 0x60, 0x03, 0xe2, 0x00, 0x00, 0x30, 0x02, 0x36, 0x00, 0x00, 0x10, 
	0x12, 0x1c, 0x00, 0x00, 0x18, 0x02, 0x0c, 0x00, 0x00, 0x08, 0x03, 0x00, 0x00, 0x00, 0x08, 0x01, 
	0x80, 0x01, 0xc0, 0x48, 0x00, 0x80, 0x03, 0x80, 0xe8, 0x01, 0x00, 0x03, 0xe0, 0xe8, 0x03, 0x0c, 
	0x03, 0xc0, 0xc8, 0x02, 0x1c, 0x03, 0x0e, 0x68, 0x02, 0x36, 0x01, 0xc6, 0x08, 0x03, 0xe3, 0xc0, 
	0x04, 0x08, 0x00, 0x01, 0x80, 0x00, 0x18, 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, 0x01, 0xee, 0x00, 
	0x60, 0x00, 0x00, 0x38, 0x83, 0xc0, 0x00, 0x00, 0x21, 0xff, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 
	0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'OISEAU01', 39x34px
const unsigned char epd_bitmap_OISEAU01 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xe0, 0x00, 0x00, 
	0x01, 0xe0, 0x38, 0x00, 0x00, 0x00, 0x80, 0x0e, 0x00, 0x00, 0x01, 0x80, 0x03, 0x00, 0x00, 0x03, 
	0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0x80, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x0c, 0x00, 
	0x00, 0x60, 0x00, 0x08, 0x00, 0x01, 0x20, 0x07, 0x08, 0x00, 0x01, 0xa0, 0x05, 0x98, 0x00, 0xce, 
	0x20, 0x04, 0xf0, 0x00, 0x49, 0x20, 0x06, 0x52, 0x00, 0x0b, 0x20, 0x03, 0x3e, 0x00, 0x04, 0x30, 
	0x03, 0x98, 0x01, 0x00, 0x38, 0x06, 0xf0, 0xc1, 0x00, 0x2c, 0x04, 0x31, 0x81, 0x80, 0x24, 0x06, 
	0x1e, 0x01, 0x80, 0x24, 0x03, 0xf9, 0x81, 0x80, 0x24, 0x00, 0x8e, 0x23, 0x00, 0x2c, 0x00, 0xd8, 
	0x66, 0x00, 0x78, 0x00, 0x7f, 0xfc, 0x00, 0xe0, 0x00, 0x18, 0x30, 0x01, 0x80, 0x00, 0x0c, 0x00, 
	0x03, 0x00, 0x00, 0x03, 0x00, 0x0e, 0x00, 0x00, 0x01, 0xc0, 0x38, 0x00, 0x00, 0x00, 0x7f, 0xe0, 
	0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, 0x0e, 0xe0, 0x00, 0x00, 0x00, 0x0a, 0xa0, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'OISEAU03', 39x34px
const unsigned char epd_bitmap_OISEAU03 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xe0, 0x00, 0x00, 
	0x01, 0xe0, 0x38, 0x00, 0x00, 0x00, 0x80, 0x0e, 0x00, 0x00, 0x01, 0x80, 0x03, 0x00, 0x00, 0x03, 
	0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0x80, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x0c, 0x00, 
	0x00, 0x60, 0x00, 0x08, 0x00, 0x01, 0x20, 0x07, 0x08, 0x00, 0x01, 0xa0, 0x05, 0x98, 0x00, 0xce, 
	0x20, 0x04, 0xf0, 0x00, 0x49, 0x20, 0x06, 0x52, 0x00, 0x0b, 0x20, 0x03, 0x3e, 0x00, 0x04, 0x30, 
	0x03, 0x98, 0x01, 0x00, 0x38, 0x06, 0xf0, 0xc1, 0x00, 0x2c, 0x04, 0x31, 0x81, 0x80, 0x24, 0x06, 
	0x1e, 0x01, 0x80, 0x24, 0x03, 0xf9, 0x81, 0x80, 0x24, 0x00, 0x8e, 0x23, 0x00, 0x2c, 0x00, 0xd8, 
	0x66, 0x00, 0x78, 0x00, 0x7f, 0xfc, 0x00, 0xe0, 0x00, 0x18, 0x30, 0x01, 0x80, 0x00, 0x0c, 0x00, 
	0x03, 0x00, 0x00, 0x23, 0x00, 0x0e, 0x00, 0x01, 0x81, 0xc0, 0x38, 0x00, 0x00, 0x00, 0x7f, 0xe0, 
	0x00, 0x00, 0x40, 0x08, 0x80, 0x00, 0x00, 0x00, 0x0e, 0xe0, 0x00, 0x00, 0x00, 0x0a, 0xa0, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'OISEAU04', 39x34px
const unsigned char epd_bitmap_OISEAU04 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xe0, 0x00, 0x00, 
	0x01, 0xe0, 0x38, 0x00, 0x00, 0x00, 0x80, 0x0e, 0x00, 0x00, 0x01, 0x80, 0x03, 0x00, 0x00, 0x03, 
	0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0x80, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x0c, 0x00, 
	0x00, 0x60, 0x00, 0x08, 0x00, 0x01, 0x20, 0x07, 0x08, 0x00, 0x01, 0xa0, 0x05, 0x98, 0x00, 0xce, 
	0x20, 0x04, 0xf0, 0x00, 0x49, 0x20, 0x06, 0x52, 0x00, 0x0b, 0x20, 0x03, 0x3e, 0x00, 0x04, 0x30, 
	0x03, 0x98, 0x01, 0x00, 0x38, 0x06, 0xf0, 0xc1, 0x00, 0x2c, 0x04, 0x31, 0x81, 0x80, 0x24, 0x06, 
	0x1e, 0x01, 0x80, 0x24, 0x03, 0xf9, 0x81, 0x80, 0x24, 0x00, 0x8e, 0x23, 0x00, 0x2c, 0x00, 0xd8, 
	0x66, 0x00, 0x78, 0x00, 0x7f, 0xfc, 0x00, 0xe0, 0x00, 0x18, 0x30, 0x01, 0x80, 0x00, 0x0c, 0x00, 
	0x03, 0x00, 0x28, 0x03, 0x00, 0x0e, 0x00, 0x10, 0x81, 0xc0, 0x38, 0x00, 0x01, 0x00, 0x7f, 0xe0, 
	0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, 0x0e, 0xe0, 0x00, 0x03, 0x00, 0x0a, 0xa0, 0x00, 
	0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'OISEAU02', 39x34px
const unsigned char epd_bitmap_OISEAU02 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xe0, 0x00, 0x00, 
	0x01, 0xe0, 0x38, 0x00, 0x00, 0x00, 0x80, 0x0e, 0x00, 0x00, 0x01, 0x80, 0x03, 0x00, 0x00, 0x03, 
	0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0x80, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x0c, 0x00, 
	0x01, 0xe0, 0x00, 0x08, 0x00, 0x03, 0x20, 0x07, 0x08, 0x00, 0x60, 0x20, 0x05, 0x98, 0x00, 0xce, 
	0x20, 0x04, 0xf0, 0x00, 0x09, 0x20, 0x06, 0x52, 0x00, 0x0b, 0x20, 0x03, 0x3e, 0x00, 0x04, 0x30, 
	0x03, 0x98, 0x01, 0x00, 0x38, 0x06, 0xf0, 0xc1, 0x00, 0x2c, 0x04, 0x31, 0x81, 0x80, 0x24, 0x06, 
	0x1e, 0x01, 0x80, 0x24, 0x03, 0xf9, 0x81, 0x80, 0x24, 0x00, 0x8e, 0x23, 0x00, 0x2c, 0x00, 0xd8, 
	0x66, 0x00, 0x78, 0x00, 0x7f, 0xfc, 0x00, 0xe0, 0x00, 0x18, 0x30, 0x01, 0x80, 0x00, 0x0c, 0x00, 
	0x03, 0x00, 0x00, 0x03, 0x00, 0x0e, 0x00, 0x00, 0x01, 0xc0, 0x38, 0x00, 0x00, 0x00, 0x7f, 0xe0, 
	0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, 0x0e, 0xe0, 0x00, 0x00, 0x00, 0x0a, 0xa0, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

// 'LAPIN01', 39x34px
const unsigned char epd_bitmap_LAPIN01 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x0c, 0xc6, 0x00, 0x00, 
	0x00, 0x1f, 0x82, 0x00, 0x00, 0x00, 0x21, 0x83, 0x00, 0x00, 0x00, 0x60, 0x81, 0x00, 0x00, 0x00, 
	0x40, 0xc1, 0x00, 0x00, 0x00, 0x40, 0x41, 0x00, 0x00, 0x00, 0x60, 0x41, 0x00, 0x00, 0x00, 0x20, 
	0x41, 0x00, 0x00, 0x00, 0x20, 0x71, 0x00, 0x00, 0x00, 0x10, 0x31, 0x80, 0x00, 0x00, 0x18, 0x00, 
	0xc0, 0x00, 0x00, 0x08, 0x00, 0x60, 0x00, 0x00, 0x0c, 0x00, 0x20, 0x00, 0x00, 0x08, 0x61, 0xb0, 
	0x00, 0x00, 0x18, 0x61, 0x98, 0x00, 0x00, 0x18, 0x04, 0x08, 0x00, 0x00, 0x10, 0x0e, 0x08, 0x00, 
	0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 
	0x18, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x30, 0x00, 0x00, 0x20, 
	0x00, 0x10, 0x00, 0x00, 0x60, 0x00, 0x10, 0x00, 0x01, 0xe0, 0x00, 0x10, 0x00, 0x03, 0x60, 0x00, 
	0x10, 0x00, 0x03, 0x01, 0x84, 0x90, 0x00, 0x03, 0x01, 0xe4, 0x90, 0x00, 0x01, 0x80, 0x24, 0xd8, 
	0x00, 0x00, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'LAPIN02', 39x34px
const unsigned char epd_bitmap_LAPIN02 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x0c, 0xc6, 0x00, 0x00, 
	0x00, 0x1f, 0x82, 0x00, 0x00, 0x00, 0x21, 0x83, 0x00, 0x00, 0x00, 0x60, 0x81, 0x00, 0x00, 0x00, 
	0x40, 0xc1, 0x00, 0x00, 0x00, 0x40, 0x41, 0x00, 0x00, 0x00, 0x60, 0x41, 0x00, 0x00, 0x00, 0x20, 
	0x41, 0x00, 0x00, 0x00, 0x20, 0x71, 0x00, 0x00, 0x00, 0x10, 0x31, 0x80, 0x00, 0x00, 0x18, 0x00, 
	0xc0, 0x00, 0x00, 0x08, 0x00, 0x60, 0x00, 0x00, 0x0c, 0x00, 0x20, 0x00, 0x00, 0x08, 0x00, 0x30, 
	0x00, 0x00, 0x18, 0x61, 0x98, 0x00, 0x00, 0x18, 0x04, 0x08, 0x00, 0x00, 0x10, 0x0a, 0x08, 0x00, 
	0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 
	0x18, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x30, 0x00, 0x00, 0x20, 
	0x00, 0x10, 0x00, 0x00, 0x60, 0x00, 0x10, 0x00, 0x01, 0xe0, 0x00, 0x10, 0x00, 0x03, 0x60, 0x00, 
	0x10, 0x00, 0x03, 0x01, 0x84, 0x90, 0x00, 0x03, 0x01, 0xe4, 0x90, 0x00, 0x01, 0x80, 0x24, 0xd8, 
	0x00, 0x00, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'LAPIN03', 39x34px
const unsigned char epd_bitmap_LAPIN03 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x0c, 0xc6, 0x00, 0x00, 
	0x00, 0x1f, 0x82, 0x00, 0x00, 0x00, 0x21, 0x83, 0x00, 0x00, 0x00, 0x60, 0x81, 0x00, 0x00, 0x00, 
	0x40, 0xc1, 0x00, 0x00, 0x00, 0x40, 0x41, 0x00, 0x00, 0x00, 0x60, 0x41, 0x00, 0x00, 0x00, 0x20, 
	0x41, 0x00, 0x00, 0x00, 0x20, 0x71, 0x00, 0x00, 0x00, 0x10, 0x31, 0x80, 0x00, 0x00, 0x18, 0x00, 
	0xc0, 0x00, 0x00, 0x08, 0x00, 0x60, 0x00, 0x00, 0x0c, 0x00, 0x20, 0x00, 0x00, 0x08, 0x61, 0xb0, 
	0x00, 0x00, 0x18, 0x61, 0x98, 0x00, 0x00, 0x18, 0x04, 0x08, 0x00, 0x00, 0x10, 0x0e, 0x08, 0x00, 
	0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 
	0x18, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x30, 0x00, 0x00, 0x20, 
	0x00, 0x10, 0x00, 0x00, 0x60, 0x00, 0x10, 0x00, 0x21, 0xe0, 0x00, 0x10, 0x00, 0x03, 0x60, 0x00, 
	0x10, 0x00, 0x3b, 0x01, 0x84, 0x90, 0x00, 0x03, 0x01, 0xe4, 0x90, 0x00, 0x01, 0x80, 0x24, 0xd8, 
	0x00, 0x00, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'LAPIN04', 39x34px
const unsigned char epd_bitmap_LAPIN04 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x0c, 0xc6, 0x00, 0x00, 
	0x00, 0x1f, 0x82, 0x00, 0x00, 0x00, 0x21, 0x83, 0x00, 0x00, 0x00, 0x60, 0x81, 0x00, 0x00, 0x00, 
	0x40, 0xc1, 0x00, 0x00, 0x00, 0x40, 0x41, 0x00, 0x00, 0x00, 0x60, 0x41, 0x00, 0x00, 0x00, 0x20, 
	0x41, 0x00, 0x00, 0x00, 0x20, 0x71, 0x00, 0x00, 0x00, 0x10, 0x31, 0x80, 0x00, 0x00, 0x18, 0x00, 
	0xc0, 0x00, 0x00, 0x08, 0x00, 0x60, 0x00, 0x00, 0x0c, 0x00, 0x20, 0x00, 0x00, 0x08, 0x61, 0xb0, 
	0x00, 0x00, 0x18, 0x61, 0x98, 0x00, 0x00, 0x18, 0x04, 0x08, 0x00, 0x00, 0x10, 0x0e, 0x08, 0x00, 
	0x00, 0x10, 0x00, 0x08, 0x08, 0x00, 0x10, 0x00, 0x08, 0x0c, 0x00, 0x18, 0x00, 0x18, 0x05, 0x00, 
	0x18, 0x00, 0x30, 0x00, 0x80, 0x30, 0x00, 0x20, 0x01, 0x00, 0x20, 0x00, 0x30, 0x01, 0x00, 0x20, 
	0x00, 0x10, 0x00, 0x00, 0x60, 0x00, 0x10, 0x00, 0x01, 0xe0, 0x00, 0x10, 0x00, 0x03, 0x60, 0x00, 
	0x10, 0x00, 0x03, 0x01, 0x84, 0x90, 0x00, 0x03, 0x01, 0xe4, 0x90, 0x00, 0x01, 0x80, 0x24, 0xd8, 
	0x00, 0x00, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'LAPIN05', 39x34px
const unsigned char epd_bitmap_LAPIN05 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x10, 0x0c, 0xc6, 0x00, 0x00, 
	0x20, 0x1f, 0x82, 0x00, 0x00, 0x00, 0x21, 0x83, 0x00, 0x00, 0x00, 0x60, 0x81, 0x00, 0x00, 0x00, 
	0x40, 0xc1, 0x00, 0x10, 0x00, 0x40, 0x41, 0x00, 0x08, 0x00, 0x60, 0x41, 0x00, 0x00, 0x00, 0x20, 
	0x41, 0x00, 0x00, 0x00, 0x20, 0x71, 0x00, 0x00, 0x00, 0x10, 0x31, 0x80, 0x08, 0x00, 0x18, 0x00, 
	0xc0, 0x00, 0x80, 0x08, 0x00, 0x60, 0x00, 0x00, 0x0c, 0x00, 0x20, 0x00, 0x80, 0x08, 0x61, 0xb0, 
	0x00, 0x80, 0x18, 0x61, 0x98, 0x01, 0x00, 0x18, 0x04, 0x08, 0x01, 0x00, 0x10, 0x0e, 0x08, 0x00, 
	0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 
	0x18, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x30, 0x00, 0x00, 0x20, 
	0x00, 0x10, 0x00, 0x00, 0x60, 0x00, 0x10, 0x00, 0x01, 0xe0, 0x00, 0x10, 0x00, 0x03, 0x60, 0x00, 
	0x10, 0x00, 0x03, 0x01, 0x84, 0x90, 0x00, 0x03, 0x01, 0xe4, 0x90, 0x00, 0x01, 0x80, 0x24, 0xd8, 
	0x00, 0x00, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'DRAGON01', 39x34px
const unsigned char epd_bitmap_DRAGON01 [] PROGMEM = {
	0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xdf, 0xf3, 0x3f, 0xfe, 0xff, 0xcf, 0xf5, 0x5f, 0xfa, 0xff, 
	0xd7, 0xf6, 0xdf, 0xf2, 0xff, 0xdb, 0xf7, 0xef, 0xea, 0xff, 0xdc, 0xe0, 0xe3, 0xca, 0xff, 0xee, 
	0x4f, 0x6c, 0x9a, 0xff, 0xef, 0x9f, 0xb6, 0x32, 0xff, 0xf7, 0xcf, 0xcf, 0x36, 0xff, 0xfb, 0xef, 
	0xff, 0xa6, 0xff, 0xfd, 0xef, 0xff, 0x8e, 0xff, 0xfe, 0x1c, 0xfe, 0xde, 0xff, 0xff, 0x70, 0x7c, 
	0x5e, 0xff, 0xfe, 0x72, 0x3a, 0x1e, 0xff, 0xfe, 0xf2, 0x3a, 0x5e, 0xfe, 0xfe, 0xf0, 0x38, 0x5e, 
	0xfe, 0x1e, 0xf8, 0x3c, 0x5e, 0xff, 0x0e, 0x7c, 0x7e, 0xde, 0xff, 0xcf, 0x7f, 0xe3, 0xde, 0xff, 
	0xcf, 0xbf, 0xf7, 0x9e, 0xff, 0xcf, 0xdf, 0xff, 0xbe, 0xff, 0xaf, 0xcf, 0xfe, 0x7e, 0xff, 0x2f, 
	0xe0, 0x00, 0xfe, 0xff, 0x5f, 0xfd, 0xb7, 0xfe, 0xfe, 0x5f, 0xfb, 0xbb, 0xfe, 0xfe, 0xcf, 0xe3, 
	0xdc, 0x7e, 0xfe, 0xe7, 0xc0, 0xed, 0x8e, 0xff, 0x70, 0x1e, 0x65, 0xe6, 0xff, 0x7f, 0xbf, 0x01, 
	0xf6, 0xff, 0x9f, 0x3c, 0x0d, 0xf6, 0xff, 0xcf, 0x3e, 0xbd, 0xe6, 0xff, 0xf1, 0x9f, 0xb0, 0xce, 
	0xff, 0xfc, 0x00, 0x06, 0x1e, 0xff, 0xff, 0xff, 0xff, 0xfe
};
// 'DRAGON02', 39x34px
const unsigned char epd_bitmap_DRAGON02 [] PROGMEM = {
	0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xdf, 0xf3, 0x3f, 0xfe, 0xff, 0xcf, 0xf5, 0x5f, 0xfa, 0xff, 
	0xd7, 0xf6, 0xdf, 0xf2, 0xff, 0xdb, 0xf7, 0xef, 0xea, 0xff, 0xdc, 0xe0, 0xe3, 0xca, 0xff, 0xee, 
	0x4f, 0x6c, 0x9a, 0xff, 0xef, 0x9f, 0xb6, 0x32, 0xff, 0xf7, 0xcf, 0xcf, 0x36, 0xff, 0xfb, 0xef, 
	0xff, 0xa6, 0xff, 0xfd, 0xef, 0xff, 0xce, 0xff, 0xfe, 0x1f, 0xff, 0xde, 0xff, 0xff, 0x7f, 0xff, 
	0xde, 0xff, 0xfe, 0x7f, 0xff, 0xde, 0xff, 0xfe, 0xff, 0xff, 0xde, 0xfe, 0xfe, 0xf3, 0xfb, 0xde, 
	0xfe, 0x1e, 0xf8, 0x3c, 0x5e, 0xff, 0x0e, 0x7c, 0x7e, 0xde, 0xff, 0xcf, 0x7f, 0xe3, 0xde, 0xff, 
	0xcf, 0xbf, 0xf7, 0x9e, 0xff, 0xcf, 0xdf, 0xff, 0xbe, 0xff, 0xaf, 0xcf, 0xfe, 0x7e, 0xff, 0x2f, 
	0xe0, 0x00, 0xfe, 0xff, 0x5f, 0xfd, 0xb7, 0xfe, 0xfe, 0x5f, 0xfb, 0xbb, 0xfe, 0xfe, 0xcf, 0xe3, 
	0xdc, 0x7e, 0xfe, 0xe7, 0xc0, 0xed, 0x8e, 0xff, 0x70, 0x1e, 0x65, 0xe6, 0xff, 0x7f, 0xbf, 0x01, 
	0xf6, 0xff, 0x9f, 0x3c, 0x0d, 0xf6, 0xff, 0xcf, 0x3e, 0xbd, 0xe6, 0xff, 0xf1, 0x9f, 0xb0, 0xce, 
	0xff, 0xfc, 0x00, 0x06, 0x1e, 0xff, 0xff, 0xff, 0xff, 0xfe
};
// 'DRAGON03', 39x34px
const unsigned char epd_bitmap_DRAGON03 [] PROGMEM = {
	0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xdf, 0xf3, 0x3f, 0xfe, 0xff, 0xcf, 0xf5, 0x5f, 0xfa, 0xff, 
	0xd7, 0xf6, 0xdf, 0xf2, 0xff, 0xdb, 0xf7, 0xef, 0xea, 0xff, 0xdc, 0xe0, 0xe3, 0xca, 0xff, 0xee, 
	0x4f, 0x6c, 0x9a, 0xff, 0xef, 0x9f, 0xb6, 0x32, 0xff, 0xf7, 0xcf, 0xcf, 0x36, 0xff, 0xfb, 0xef, 
	0xff, 0xa6, 0xff, 0xfd, 0xef, 0xff, 0x8e, 0xff, 0xfe, 0x1c, 0xfe, 0xde, 0xff, 0xff, 0x70, 0x7c, 
	0x5e, 0xff, 0xfe, 0x72, 0x3a, 0x1e, 0xff, 0xfe, 0xf2, 0x3a, 0x5e, 0xfe, 0xfe, 0xf0, 0x38, 0x5e, 
	0xfe, 0x1e, 0xf8, 0x3c, 0x5e, 0xff, 0x0e, 0x7c, 0x7e, 0xde, 0xff, 0xcf, 0x7f, 0xe3, 0xde, 0xff, 
	0xcf, 0xbf, 0xf7, 0x9e, 0xff, 0xcf, 0xdf, 0xff, 0xbe, 0xff, 0xaf, 0xcf, 0xfe, 0x7e, 0xff, 0x2f, 
	0xe0, 0x00, 0xfe, 0xff, 0x5f, 0xfd, 0xb7, 0xfe, 0xfe, 0x5f, 0xfb, 0xbb, 0xfe, 0xfe, 0xcf, 0xe3, 
	0xdc, 0x7e, 0x9e, 0xe7, 0xc0, 0xed, 0x8e, 0x9f, 0x70, 0x1e, 0x65, 0xe6, 0xef, 0x7f, 0xbf, 0x01, 
	0xf6, 0xef, 0x9f, 0x3c, 0x0d, 0xf6, 0xff, 0xcf, 0x3e, 0xbd, 0xe6, 0xfc, 0xf1, 0x9f, 0xb0, 0xce, 
	0xff, 0xfc, 0x00, 0x06, 0x1e, 0xff, 0xff, 0xff, 0xff, 0xfe
};
// 'DRAGON04', 39x34px
const unsigned char epd_bitmap_DRAGON04 [] PROGMEM = {
	0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xdf, 0xf3, 0x3f, 0xfe, 0xff, 0xcf, 0xf5, 0x5f, 0xfa, 0xff, 
	0xd7, 0xf6, 0xdf, 0xf2, 0xff, 0xdb, 0xf7, 0xef, 0xea, 0xff, 0xdc, 0xe0, 0xe3, 0xca, 0xff, 0xee, 
	0x4f, 0x6c, 0x9a, 0xff, 0xef, 0x9f, 0xb6, 0x32, 0xff, 0xf7, 0xcf, 0xcf, 0x36, 0xff, 0xfb, 0xef, 
	0xff, 0xa6, 0xff, 0xfd, 0xef, 0xff, 0x8e, 0x3f, 0xfe, 0x1c, 0xfe, 0xde, 0xff, 0xff, 0x70, 0x7c, 
	0x5e, 0xbf, 0xfe, 0x72, 0x3a, 0x1e, 0xff, 0xfe, 0xf2, 0x3a, 0x5e, 0xf6, 0xfe, 0xf0, 0x38, 0x5e, 
	0xa6, 0x1e, 0xf8, 0x3c, 0x5e, 0x27, 0x0e, 0x7c, 0x7e, 0xde, 0xf1, 0xcf, 0x7f, 0xe3, 0xde, 0xe3, 
	0xcf, 0xbf, 0xf7, 0x9e, 0xe7, 0xcf, 0xdf, 0xff, 0xbe, 0xe7, 0xaf, 0xcf, 0xfe, 0x7e, 0xef, 0x2f, 
	0xe0, 0x00, 0xfe, 0xff, 0x5f, 0xfd, 0xb7, 0xfe, 0xbe, 0x5f, 0xfb, 0xbb, 0xfe, 0xf6, 0xcf, 0xe3, 
	0xdc, 0x7e, 0xf6, 0xe7, 0xc0, 0xed, 0x8e, 0xff, 0x70, 0x1e, 0x65, 0xe6, 0xff, 0x7f, 0xbf, 0x01, 
	0xf6, 0xff, 0x9f, 0x3c, 0x0d, 0xf6, 0xff, 0xcf, 0x3e, 0xbd, 0xe6, 0xff, 0xf1, 0x9f, 0xb0, 0xce, 
	0xff, 0xfc, 0x00, 0x06, 0x1e, 0xff, 0xff, 0xff, 0xff, 0xfe
};
// 'DRAGON05', 39x34px
const unsigned char epd_bitmap_DRAGON05 [] PROGMEM = {
	0xee, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xdf, 0xf3, 0x3f, 0xfe, 0x7d, 0xcf, 0xf5, 0x5f, 0xfa, 0xbd, 
	0xd7, 0xf6, 0xdf, 0xf2, 0xdf, 0xdb, 0xf7, 0xef, 0xea, 0xff, 0xdc, 0xe0, 0xe3, 0xca, 0xf3, 0xee, 
	0x4f, 0x6c, 0x9a, 0xb7, 0xef, 0x9f, 0xb6, 0x32, 0xdd, 0xf7, 0xcf, 0xcf, 0x36, 0xfd, 0xfb, 0xef, 
	0xff, 0xa6, 0xff, 0xfd, 0xef, 0xff, 0x8e, 0x6f, 0xfe, 0x1c, 0xfe, 0xde, 0xf3, 0xff, 0x70, 0x7c, 
	0x5e, 0xf7, 0xfe, 0x72, 0x3a, 0x1e, 0xff, 0xfe, 0xf2, 0x3a, 0x5e, 0xf6, 0xfe, 0xf0, 0x38, 0x5e, 
	0xfe, 0x1e, 0xf8, 0x3c, 0x5e, 0xff, 0x0e, 0x7c, 0x7e, 0xde, 0xff, 0xcf, 0x7f, 0xe3, 0xde, 0xff, 
	0xcf, 0xbf, 0xf7, 0x9e, 0xff, 0xcf, 0xdf, 0xff, 0xbe, 0xff, 0xaf, 0xcf, 0xfe, 0x7e, 0xff, 0x2f, 
	0xe0, 0x00, 0xfe, 0xff, 0x5f, 0xfd, 0xb7, 0xfe, 0xfe, 0x5f, 0xfb, 0xbb, 0xfe, 0xfe, 0xcf, 0xe3, 
	0xdc, 0x7e, 0xfe, 0xe7, 0xc0, 0xed, 0x8e, 0xff, 0x70, 0x1e, 0x65, 0xe6, 0xff, 0x7f, 0xbf, 0x01, 
	0xf6, 0xff, 0x9f, 0x3c, 0x0d, 0xf6, 0xff, 0xcf, 0x3e, 0xbd, 0xe6, 0xff, 0xf1, 0x9f, 0xb0, 0xce, 
	0xff, 0xfc, 0x00, 0x06, 0x1e, 0xff, 0xff, 0xff, 0xff, 0xfe
};

// 'MORT01', 39x34px
const unsigned char epd_bitmap_MORT01 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x03, 0xff, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x0f, 0xfe, 0x70, 0x00, 0x00, 0x1f, 
	0xff, 0x18, 0x00, 0x00, 0x1f, 0xff, 0xd8, 0x00, 0x00, 0x3f, 0xff, 0xd8, 0x00, 0x00, 0x30, 0xff, 
	0xd8, 0x00, 0x00, 0x36, 0xd0, 0xd8, 0x00, 0x00, 0x36, 0xd6, 0x58, 0x00, 0x00, 0x30, 0xd6, 0x58, 
	0x00, 0x00, 0x35, 0xd0, 0xd8, 0x00, 0x00, 0x35, 0xd7, 0xd8, 0x00, 0x00, 0x34, 0xd7, 0xd8, 0x00, 
	0x00, 0x3f, 0xd7, 0xd8, 0x00, 0x00, 0x3f, 0xf7, 0xd8, 0x00, 0x00, 0x3f, 0xff, 0xd8, 0x00, 0x00, 
	0x3f, 0xff, 0xd8, 0x00, 0x00, 0x3f, 0xff, 0xd8, 0x48, 0x80, 0xbf, 0xff, 0xd8, 0x4a, 0xa2, 0xbf, 
	0xff, 0xda, 0x5b, 0xb7, 0xbf, 0xff, 0xfa, 0x79, 0xbf, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 
	0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 
	0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe
};
// 'MORT02', 39x34px
const unsigned char epd_bitmap_MORT02 [] PROGMEM = {
	0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 
	0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 
	0xfc, 0x00, 0xfe, 0xff, 0xff, 0xf0, 0x00, 0x3e, 0xff, 0xff, 0xf0, 0x01, 0x8e, 0xff, 0xff, 0xe0, 
	0x00, 0xe6, 0xff, 0xff, 0xe0, 0x00, 0x26, 0xff, 0xff, 0xc0, 0x00, 0x26, 0xff, 0xff, 0xcf, 0x00, 
	0x26, 0xff, 0xff, 0xc9, 0x2f, 0x26, 0xff, 0xff, 0xc9, 0x29, 0xa6, 0xff, 0xff, 0xcf, 0x29, 0xa6, 
	0xff, 0xff, 0xca, 0x2f, 0x26, 0xff, 0xff, 0xca, 0x28, 0x26, 0xff, 0xff, 0xcb, 0x28, 0x26, 0xff, 
	0xff, 0xc0, 0x28, 0x26, 0xff, 0xff, 0xc0, 0x08, 0x26, 0xff, 0xff, 0xc0, 0x00, 0x26, 0xff, 0xff, 
	0xc0, 0x00, 0x26, 0xff, 0xff, 0xc0, 0x00, 0x26, 0xb7, 0x7f, 0x40, 0x00, 0x26, 0xb5, 0x5d, 0x40, 
	0x00, 0x24, 0xa4, 0x48, 0x40, 0x00, 0x04, 0x86, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
void setup()   {
  // inversion des couleur à l'écran
  display.invertDisplay(true);
  // Allumage du rétroéclairage de l'écran
  pinMode(broche_LED, OUTPUT);
  digitalWrite(broche_LED, HIGH);
  Serial.begin(9600);
  //Initialisation de l'écran Display
  display.begin();
  // 57 valeur de base du contraste ok
  display.setContrast(57);
  // Rafraichissement de l'écran
  display.clearDisplay();
  display.invertDisplay(true);//false pour écran normal fond blanc + dessin noir
  // ANIMATION INTRO
  for (int i = 48 ; i > 14 ; i--) {
  display.clearDisplay();
  display.setTextSize(1);
  display.setCursor(4,i);
  display.print("PROUT-O-METRE");
  display.drawRoundRect(0, i+9, 84, 1, 0, 1);
  display.setTextSize(1);
  display.setCursor(7,i+12);
  display.print("made for all");
  display.display();// Validation affichage
  delay(50);
   }
  // Lecture des deux notes à la fin de l'animation INTRO
  tone(buzzer, NOTE_A, 200);
  delay(220);
  tone(buzzer, NOTE_A, 100);
  delay(110);
  tone(buzzer, NOTE_A, 100);
  delay(1000);
  display.clearDisplay();
  display.display();// Validation affichage
  delay(500);
  // Correction : inversion couleur écran
  display.invertDisplay(false);//false pour écran normal fond blanc + dessin noir
  //Affichage des cadres
  display.drawRoundRect(0, 0, 84, 11, 0, 1); // cadre haut (positionX, positionY, largeur, hauteur, chanfrein, epaisseur)
  display.drawRoundRect(0, 12, 41, 36, 0, 1); // cadre gauche (positionX, positionY, largeur, hauteur, chanfrein, epaisseur)
  display.drawRoundRect(43, 12, 41, 36, 0, 1); //cadre droit (positionX, positionY, largeur, hauteur, chanfrein, epaisseur)
  display.display(); // Validation affichage
  }

void loop() { 
  //SCORE ECRIT
  mesure = analogRead(A0); // définition de la valeur "mesure" = sortie port A0
  Serial.println(mesure);  // ?
  display.setTextSize(2);
  display.setCursor(46,32); // Position du curseur pour écriture "mesure"
  display.fillRect(46, 32, 36, 15, 0); //Effacement avant écriture valeur de mesure (posX,posY,largX,htY,noir ou blanc)
  display.print(mesure); // Ecriture mesure
  display.display();
  delay(1000);

if (mesure < 100 ) { 
 // NIVEAU 01
  //TEXTE CADRE TITRE
  display.setTextSize(1);
  display.setCursor(2,2);
  display.fillRect(1, 1, 82, 9, 0);//Recouvrement commentaire cadre haut (0=blanc,1=noir)
  //display.print("1234567891234");
  display.print("Petite  brise");
  display.display(); // Validation affichage
  display.fillRect(46, 14, 36, 15, 0);//Recouvrement score barre (posX,posY,largX,htY,noir ou blanc)
  display.fillRect(46, 26, 5, 3, 1);// Barre niveau 01 colorée
  display.drawRoundRect(52, 23, 5,  6, 0, 1); // Barre niveau 02
  display.drawRoundRect(58, 20, 5,  9, 0, 1); // Barre niveau 03
  display.drawRoundRect(64, 17, 5, 12, 0, 1); // Barre niveau 04
  display.drawRoundRect(70, 16, 5, 13, 0, 1); // Barre niveau 05
  display.drawRoundRect(76, 14, 5, 15, 0, 1); // Barre niveau 06
  display.display(); // Validation affichage
  // Affichage animation POISSSON
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_POISSON01, 39, 34, 1);
  display.display();
  delay(1000);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_POISSON02, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_POISSON03, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_POISSON04, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_POISSON05, 39, 34, 1);
  display.display();
  delay(300);
  }  
  else
  if (mesure < 200 ) { 
  // NIVEAU 02
  //TEXTE CADRE TITRE
  display.setTextSize(1);
  display.setCursor(2,2);
  display.fillRect(1, 1, 82, 9, 0);
  display.print("Faut ventiler");
  display.display(); // Validation affichage
  display.fillRect(46, 14, 36, 15, 0);//Effacement avant écriture score barre (posX,posY,largX,htY,noir ou blanc)
  display.fillRect(46, 26, 5, 3, 1);// Barre niveau 01 colorée
  display.fillRect(52, 23, 5,  6, 1);// Barre niveau 02 colorée
  display.drawRoundRect(58, 20, 5,  9, 0, 1); // Barre niveau 03
  display.drawRoundRect(64, 17, 5, 12, 0, 1); // Barre niveau 04
  display.drawRoundRect(70, 16, 5, 13, 0, 1); // Barre niveau 05 
  display.drawRoundRect(76, 14, 5, 15, 0, 1); // Barre niveau 06
  display.display(); // Validation affichage
  // Affichage animation OISEAU
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_OISEAU01, 39, 34, 1);
  display.display();
  delay(1000);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_OISEAU02, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_OISEAU03, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_OISEAU04, 39, 34, 1);
  display.display();
  delay(300);
  }
  else
  if (mesure < 300 ) { 
  // NIVEAU 03
  //TEXTE CADRE TITRE
  display.setTextSize(1);
  display.setCursor(2,2);
  display.fillRect(1, 1, 82, 9, 0);
  display.print("Sage puanteur");
  display.display(); // Validation affichage
  display.fillRect(46, 14, 36, 15, 0);//Effacement avant écriture score barre (posX,posY,largX,htY,noir ou blanc)
  display.fillRect(46, 26, 5, 3, 1);// Barre niveau 01 colorée
  display.fillRect(52, 23, 5,  6, 1);// Barre niveau 02 colorée
  display.fillRect(58, 20, 5,  9, 1);// Barre niveau 03 colorée
  display.drawRoundRect(64, 17, 5, 12, 0, 1); // Barre niveau 04
  display.drawRoundRect(70, 16, 5, 13, 0, 1); // Barre niveau 05 
  display.drawRoundRect(76, 14, 5, 15, 0, 1); // Barre niveau 06
  display.display(); // Validation affichage
   // Affichage animation LAPIN
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_LAPIN01, 39, 34, 1);
  display.display();
  delay(1000);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_LAPIN02, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_LAPIN03, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_LAPIN04, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_LAPIN05, 39, 34, 1);
  display.display();
  delay(300);
  }
  else
  if (mesure < 400 ) { 
  // NIVEAU 04
  //TEXTE CADRE TITRE
  display.setTextSize(1);
  display.setCursor(2,2);
  display.fillRect(1, 1, 82, 9, 0);
  display.print("Puanteur  max");
  display.display(); // Validation affichage
  display.fillRect(46, 14, 36, 15, 0);//Effacement avant écriture score barre (posX,posY,largX,htY,noir ou blanc)
  display.fillRect(46, 26, 5, 3, 1);// Barre niveau 01 coloré
  display.fillRect(52, 23, 5,  6, 1);// Barre niveau 02 coloré
  display.fillRect(58, 20, 5,  9, 1);// Barre niveau 03 coloré
  display.fillRect(64, 17, 5, 12, 1);// Barre niveau 04 coloré
  display.drawRoundRect(70, 16, 5, 13, 0, 1); // Barre niveau 05 
  display.drawRoundRect(76, 14, 5, 15, 0, 1); // Barre niveau 06
  display.display(); // Validation affichage
  }
  else
  if (mesure < 500 ) { 
  // NIVEAU 05
  //TEXTE CADRE TITRE
  display.setTextSize(1);
  display.setCursor(2,2);
  display.fillRect(1, 1, 82, 9, 0);
  display.print("Puanteur  max");
  display.display(); // Validation affichage
  display.fillRect(46, 14, 36, 15, 0);//Effacement avant écriture score barre (posX,posY,largX,htY,noir ou blanc)
  display.fillRect(46, 26, 5, 3, 1);// Barre niveau 01 coloré
  display.fillRect(52, 23, 5,  6, 1);// Barre niveau 02 coloré
  display.fillRect(58, 20, 5,  9, 1);// Barre niveau 03 coloré
  display.fillRect(64, 17, 5, 12, 1);// Barre niveau 04 coloré
  display.fillRect(70, 16, 5, 13, 1);// Barre niveau 05 coloré
  display.drawRoundRect(76, 14, 5, 15, 0, 1); // Barre niveau 06
  display.display(); // Validation affichage
  // Affichage animation DRAGON
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_DRAGON01, 39, 34, 1);
  display.display();
  delay(1000);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_DRAGON02, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_DRAGON03, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_DRAGON04, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_DRAGON05, 39, 34, 1);
  display.display();
  delay(300);
  }
  else { 
  // NIVEAU 06
  //TEXTE CADRE TITRE
  display.setTextSize(1);
  display.setCursor(2,2);
  display.fillRect(1, 1, 82, 9, 0);
  display.print("Cadavre moisi");
  display.display(); // Validation affichage
  display.fillRect(46, 14, 36, 15, 0);//Effacement avant écriture score barre (posX,posY,largX,htY,noir ou blanc)
  display.fillRect(46, 26, 5, 3, 1);// Barre niveau 01 coloré
  display.fillRect(52, 23, 5,  6, 1);// Barre niveau 02 coloré
  display.fillRect(58, 20, 5,  9, 1);// Barre niveau 03 coloré
  display.fillRect(64, 17, 5, 12, 1);// Barre niveau 04 coloré
  display.fillRect(70, 16, 5, 13, 1);// Barre niveau 05 coloré
  display.fillRect(76, 14, 5, 15, 1);// Barre niveau 06 coloré
  display.display(); // Validation affichage
   // Affichage animation MORT
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_MORT01, 39, 34, 1);
  display.display();
  delay(1000);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_MORT02, 39, 34, 1);
  display.display();
  delay(100);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_MORT01, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_MORT02, 39, 34, 1);
  display.display();
  delay(100);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_MORT01, 39, 34, 1);
  display.display();
  delay(300);
  }
  }

Je pense devoir modifier le chapitre "//SCORE ECRIT" mais pour le moment je n'ai rien trouvé de probant.

Et voici une animation de l'écran :
WhatsApp GIF 2024-11-21 at 18.27.11

Post mis dans la mauvaise section, on parle anglais dans les forums généraux, je viens de déplacer le post dans la section francophone.

Merci de prendre en compte les recommandations listées dans "Les bonnes pratiques du Forum Francophone".

Merci beaucoup @pert !

1 Like

Bonjour
il est peut être suffisant de faire un lissage avec un coef a déterminer

Val_lissee = ((Val_lissee * Coef_lissage) + Valeur_lue) / (Coef_lissage +1) ;

avec un coef 10 il faut pas mal de passage pour revenir a la valeur lue

on trouve aussi (mais nécessite un calcule en virgule flottante)

valeur = (1.0 - coef) * valeur + coef * valeurInstantannee;

Ce type de filtrage ("filtre passe-bas" / "filtre exponentiel"). Il s'agit d'un filtre à rétroaction où la nouvelle valeur lissée est une combinaison de la valeur lissée précédente et de la valeur instantanée, avec un coefficient coef déterminant le poids de la valeur instantanée dans le calcul.

le coefficient coef sera dans l'intervalle ]0, 1].
➜ S'il vaut 1, il n'y a pas de lissage (100% de la nouvelle valeur)
➜ S'il est proche de 0, par exemple 0.01 on ne prend que 1% de la nouvelle valeur

On affine le coefficient en fonction de la vitesse à laquelle on veut évoluer (plus proche de 1 = moins d'amortissement des variations, plus proche de 0 = grosse inertie)

si on veut travailler en calcul entier, il vaut mieux écrire la formule sous la forme mathématiquement équivalente

Val_lissee = (Val_lissee * Coef_lissage + Valeur_lue * (Coef_lissage + 1)) / (Coef_lissage + 1);

qui permet de garder la stabilité des résultats tout en effectuant le calcul entièrement en nombres entiers (mais ce n'est pas exactement pondéré pour faire du filtre exponentiel)

Merci beaucoup @jfs59 et @J-M-L,

Je ne pensais pas obtenir de réponse si rapidement et surtout si qualitative : MERCI !
Le résultat après différents tests n'est pas encore concluant car la réactivité des valeurs mesurées montantes n'est plus et pourtant j'y compte beaucoup.

Pour être plus précis, l'objectif serait d'avantage et uniquement de ralentir les valeurs mesurées descendantes ; mais à vous lire et avoir testé vos pistes, je doute que ce soit possible.

Parfait débutant en arduino, je découvre tout au fur et à mesure. Ce forum est une mine d'or !

si c'est possible , il suffit d'appliquer un coefficient différent en fonction du sens de variation perçu

➜ Si valeurInstantannee est croissante (par rapport à valeur), utilisez un coefficient très élevé, proche de 1, pour que la nouvelle valeur soit suivie rapidement.
➜ Si valeurInstantannee est décroissante, utilisez un coefficient plus faible, proche de 0, pour amortir la descente.

voici un exemple avec un potentiomètre et un échantillonnage à 50Hz environ

quand vous tirez le potentiomètre vers la droite vous verrez que la valeur qui s'affiche dans le terminal série suit très vite. C'est parce qu'on utilise le coefficient 0.95, mais quand vous le décalez vers la gauche ensuite et vous le lâchez, vous verrez que les valeurs mettent super longtemps pour arriver à la valeur choisie. C'est parce qu'on utilise le coefficient 0.01.

le code
const byte potPin = A0;
float valeurLissee;
float coefficientDescente = 0.01; // on amortit fort
float coefficientMontee = 0.95;   // on amortit peu

float filtreAsymetrique(float valeur, float valeurInstantannee, float coefMin, float coefMax) {
  float coef = (valeurInstantannee > valeur) ? coefMax : coefMin;
  return (1.0 - coef) * valeur + coef * valeurInstantannee;
}

void setup () {
  Serial.begin (115200);
}

void loop () {
  valeurLissee = filtreAsymetrique(valeurLissee, analogRead (potPin), coefficientDescente, coefficientMontee);
  Serial.println (valeurLissee);
  delay(20);
}
1 Like

La pondération est effectivement opérationnelle et différente sur les valeurs montantes et descendantes MAIS la valeur pondérée ne se mets plus à jour et reste sur une valeur médiane.
Aurais-je mal rédiger une partie de du code ?

#include <SPI.h>
#include <Wire.h> 
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
#define BLACK 1 //< Black pixel
#define WHITE 0 //< White pixel
#define broche_LED 6 // Définition rétro-éclairage écran 5110
#define LED_verte 4 // Définition sortie led verte
#define LED_jaune 12 // Définition sortie led jaune
#define LED_rouge 13 // Définition sortie led rouge


// Adafruit_PCD8544(CLK,DIN,D/C,CE,RST) définition des ports arduino vers écran 5110
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 8, 9, 10, 11);
//6 éclairage écran led 5110
//7 CLK
//8 DIN ou DN<MOSI
//9 D/C
//10 SCE ou CE
//11 RST ou reset

// Définition port du buzzer
const int buzzer=5;

//definition valeur de "mesure"
int mesure;
int Val_lissee; 
int Coef_lissage;

//definition valeur de "mesure" lissée
const byte potPin = A0;
float valeurLissee;
float coefficientDescente = 0.8; // 0.01 on amortit très fort
float coefficientMontee = 1;   // 0.99 on amortit très peu

float filtreAsymetrique(float Val_lissee, float mesure, float coefMin, float coefMax) {
  float coef = (mesure > Val_lissee) ? coefMax : coefMin;
  return (1.0 - coef) * Val_lissee + coef * mesure;
  }

// Définition de chaque note de musique 
#define NOTE_A 19.4//8372//2093
#define NOTE_B 311//5587//3520
#define NOTE_C 740//7458//3729

// 'POISSON01', 39x34px
const unsigned char epd_bitmap_POISSON01 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x00, 
	0x18, 0xc0, 0x00, 0x00, 0x00, 0x30, 0x60, 0x00, 0x00, 0x00, 0x61, 0xe0, 0x00, 0x00, 0x00, 0xcf, 
	0x3c, 0x00, 0x00, 0x00, 0xb8, 0x07, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x80, 0x00, 0x01, 0x80, 0x00, 
	0xc0, 0x00, 0x03, 0x00, 0x00, 0x60, 0x03, 0xe2, 0x00, 0x00, 0x30, 0x02, 0x36, 0x00, 0x00, 0x10, 
	0x02, 0x1c, 0x00, 0x00, 0x18, 0x02, 0x0c, 0x00, 0x00, 0x08, 0x03, 0x00, 0x00, 0x00, 0x08, 0x01, 
	0x80, 0x01, 0xc0, 0x48, 0x00, 0x80, 0x03, 0x80, 0xe8, 0x01, 0x00, 0x03, 0xe0, 0xe8, 0x03, 0x0c, 
	0x03, 0xc0, 0xc8, 0x02, 0x1c, 0x03, 0x0e, 0x68, 0x02, 0x36, 0x01, 0xc6, 0x08, 0x03, 0xe3, 0xc0, 
	0x04, 0x08, 0x00, 0x01, 0x80, 0x00, 0x18, 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, 0x01, 0xee, 0x00, 
	0x60, 0x00, 0x00, 0x38, 0x83, 0xc0, 0x00, 0x00, 0x21, 0xff, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 
	0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'POISSON02', 39x34px
const unsigned char epd_bitmap_POISSON02 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x00, 
	0x18, 0xc0, 0x00, 0x00, 0x00, 0x30, 0x60, 0x00, 0x00, 0x00, 0x61, 0xe0, 0x00, 0x00, 0x00, 0xcf, 
	0x3c, 0x00, 0x00, 0x00, 0xb8, 0x07, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x80, 0x00, 0x01, 0x80, 0x00, 
	0xc0, 0x00, 0x03, 0x00, 0x00, 0x60, 0x03, 0xe2, 0x00, 0x00, 0x30, 0x02, 0x36, 0x00, 0x00, 0x10, 
	0x02, 0x1c, 0x00, 0x00, 0x18, 0x02, 0x0c, 0x00, 0x00, 0x08, 0x03, 0x00, 0x00, 0x00, 0x08, 0x01, 
	0x80, 0x00, 0x00, 0x08, 0x00, 0x80, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0xe8, 0x03, 0x0c, 
	0x03, 0xc0, 0xc8, 0x02, 0x1c, 0x03, 0x0e, 0x68, 0x02, 0x36, 0x01, 0xc0, 0x08, 0x03, 0xe3, 0xc0, 
	0x00, 0x08, 0x00, 0x01, 0x80, 0x00, 0x18, 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, 0x01, 0xee, 0x00, 
	0x60, 0x00, 0x00, 0x38, 0x83, 0xc0, 0x00, 0x00, 0x21, 0xff, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 
	0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'POISSON04', 39x34px
const unsigned char epd_bitmap_POISSON04 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x00, 
	0x18, 0xc0, 0x00, 0x00, 0x00, 0x30, 0x60, 0x00, 0x00, 0x00, 0x61, 0xe0, 0x00, 0x00, 0x00, 0xcf, 
	0x3c, 0x00, 0x30, 0x00, 0xb8, 0x07, 0x00, 0x48, 0x00, 0xe0, 0x01, 0x80, 0x84, 0x01, 0x80, 0x00, 
	0xc0, 0x84, 0x03, 0x00, 0x00, 0x60, 0x4b, 0xe2, 0x00, 0x00, 0x30, 0x32, 0x36, 0x00, 0x00, 0x10, 
	0x02, 0x1c, 0x00, 0x00, 0x18, 0x12, 0x0c, 0x00, 0x00, 0x08, 0x2b, 0x00, 0x00, 0x00, 0x08, 0x29, 
	0x80, 0x01, 0xc0, 0x48, 0x10, 0x80, 0x03, 0x80, 0xe8, 0x01, 0x00, 0x03, 0xe0, 0xe8, 0x03, 0x0c, 
	0x03, 0xc0, 0xc8, 0x02, 0x1c, 0x03, 0x0e, 0x68, 0x02, 0x36, 0x01, 0xc6, 0x08, 0x03, 0xe3, 0xc0, 
	0x04, 0x08, 0x00, 0x01, 0x80, 0x00, 0x18, 0x04, 0x03, 0x00, 0x00, 0x30, 0x00, 0x01, 0xee, 0x00, 
	0x60, 0x00, 0x00, 0x38, 0x83, 0xc0, 0x00, 0x00, 0x21, 0xff, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 
	0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'POISSON03', 39x34px
const unsigned char epd_bitmap_POISSON03 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x00, 
	0x18, 0xc0, 0x00, 0x00, 0x00, 0x30, 0x60, 0x00, 0x00, 0x00, 0x61, 0xe0, 0x00, 0x00, 0x00, 0xcf, 
	0x3c, 0x00, 0x00, 0x00, 0xb8, 0x07, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x80, 0x00, 0x01, 0x80, 0x00, 
	0xc0, 0x00, 0x03, 0x00, 0x00, 0x60, 0x03, 0xe2, 0x00, 0x00, 0x30, 0x02, 0x36, 0x00, 0x00, 0x10, 
	0x02, 0x1c, 0x00, 0x00, 0x18, 0x02, 0x0c, 0x00, 0x00, 0x08, 0x03, 0x00, 0x00, 0x00, 0x08, 0x01, 
	0x80, 0x01, 0xc0, 0x48, 0x00, 0x80, 0x03, 0x80, 0xe8, 0x01, 0x00, 0x03, 0xe0, 0xe8, 0x03, 0x0c, 
	0x03, 0xc0, 0xc8, 0x02, 0x1c, 0x03, 0x0e, 0x68, 0x02, 0x36, 0x01, 0xc6, 0x08, 0x03, 0xe3, 0xc0, 
	0x04, 0x08, 0x00, 0x01, 0x80, 0x00, 0x18, 0x00, 0x8b, 0x00, 0x00, 0x30, 0x01, 0x41, 0xee, 0x00, 
	0x60, 0x02, 0x20, 0x38, 0x83, 0xc0, 0x01, 0x40, 0x21, 0xff, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 
	0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'POISSON05', 39x34px
const unsigned char epd_bitmap_POISSON05 [] PROGMEM = {
	0x80, 0x80, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x08, 
	0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x0f, 0x80, 0x00, 0x20, 0x00, 
	0x18, 0xc0, 0x00, 0x20, 0x00, 0x30, 0x60, 0x00, 0x20, 0x40, 0x61, 0xe0, 0x00, 0x40, 0x00, 0xcf, 
	0x3c, 0x00, 0x80, 0x00, 0xb8, 0x07, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x80, 0x00, 0x01, 0x80, 0x00, 
	0xc0, 0x00, 0x03, 0x00, 0x00, 0x60, 0x03, 0xe2, 0x00, 0x00, 0x30, 0x02, 0x36, 0x00, 0x00, 0x10, 
	0x12, 0x1c, 0x00, 0x00, 0x18, 0x02, 0x0c, 0x00, 0x00, 0x08, 0x03, 0x00, 0x00, 0x00, 0x08, 0x01, 
	0x80, 0x01, 0xc0, 0x48, 0x00, 0x80, 0x03, 0x80, 0xe8, 0x01, 0x00, 0x03, 0xe0, 0xe8, 0x03, 0x0c, 
	0x03, 0xc0, 0xc8, 0x02, 0x1c, 0x03, 0x0e, 0x68, 0x02, 0x36, 0x01, 0xc6, 0x08, 0x03, 0xe3, 0xc0, 
	0x04, 0x08, 0x00, 0x01, 0x80, 0x00, 0x18, 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, 0x01, 0xee, 0x00, 
	0x60, 0x00, 0x00, 0x38, 0x83, 0xc0, 0x00, 0x00, 0x21, 0xff, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 
	0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'OISEAU01', 39x34px
const unsigned char epd_bitmap_OISEAU01 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xe0, 0x00, 0x00, 
	0x01, 0xe0, 0x38, 0x00, 0x00, 0x00, 0x80, 0x0e, 0x00, 0x00, 0x01, 0x80, 0x03, 0x00, 0x00, 0x03, 
	0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0x80, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x0c, 0x00, 
	0x00, 0x60, 0x00, 0x08, 0x00, 0x01, 0x20, 0x07, 0x08, 0x00, 0x01, 0xa0, 0x05, 0x98, 0x00, 0xce, 
	0x20, 0x04, 0xf0, 0x00, 0x49, 0x20, 0x06, 0x52, 0x00, 0x0b, 0x20, 0x03, 0x3e, 0x00, 0x04, 0x30, 
	0x03, 0x98, 0x01, 0x00, 0x38, 0x06, 0xf0, 0xc1, 0x00, 0x2c, 0x04, 0x31, 0x81, 0x80, 0x24, 0x06, 
	0x1e, 0x01, 0x80, 0x24, 0x03, 0xf9, 0x81, 0x80, 0x24, 0x00, 0x8e, 0x23, 0x00, 0x2c, 0x00, 0xd8, 
	0x66, 0x00, 0x78, 0x00, 0x7f, 0xfc, 0x00, 0xe0, 0x00, 0x18, 0x30, 0x01, 0x80, 0x00, 0x0c, 0x00, 
	0x03, 0x00, 0x00, 0x03, 0x00, 0x0e, 0x00, 0x00, 0x01, 0xc0, 0x38, 0x00, 0x00, 0x00, 0x7f, 0xe0, 
	0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, 0x0e, 0xe0, 0x00, 0x00, 0x00, 0x0a, 0xa0, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'OISEAU03', 39x34px
const unsigned char epd_bitmap_OISEAU03 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xe0, 0x00, 0x00, 
	0x01, 0xe0, 0x38, 0x00, 0x00, 0x00, 0x80, 0x0e, 0x00, 0x00, 0x01, 0x80, 0x03, 0x00, 0x00, 0x03, 
	0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0x80, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x0c, 0x00, 
	0x00, 0x60, 0x00, 0x08, 0x00, 0x01, 0x20, 0x07, 0x08, 0x00, 0x01, 0xa0, 0x05, 0x98, 0x00, 0xce, 
	0x20, 0x04, 0xf0, 0x00, 0x49, 0x20, 0x06, 0x52, 0x00, 0x0b, 0x20, 0x03, 0x3e, 0x00, 0x04, 0x30, 
	0x03, 0x98, 0x01, 0x00, 0x38, 0x06, 0xf0, 0xc1, 0x00, 0x2c, 0x04, 0x31, 0x81, 0x80, 0x24, 0x06, 
	0x1e, 0x01, 0x80, 0x24, 0x03, 0xf9, 0x81, 0x80, 0x24, 0x00, 0x8e, 0x23, 0x00, 0x2c, 0x00, 0xd8, 
	0x66, 0x00, 0x78, 0x00, 0x7f, 0xfc, 0x00, 0xe0, 0x00, 0x18, 0x30, 0x01, 0x80, 0x00, 0x0c, 0x00, 
	0x03, 0x00, 0x00, 0x23, 0x00, 0x0e, 0x00, 0x01, 0x81, 0xc0, 0x38, 0x00, 0x00, 0x00, 0x7f, 0xe0, 
	0x00, 0x00, 0x40, 0x08, 0x80, 0x00, 0x00, 0x00, 0x0e, 0xe0, 0x00, 0x00, 0x00, 0x0a, 0xa0, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'OISEAU04', 39x34px
const unsigned char epd_bitmap_OISEAU04 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xe0, 0x00, 0x00, 
	0x01, 0xe0, 0x38, 0x00, 0x00, 0x00, 0x80, 0x0e, 0x00, 0x00, 0x01, 0x80, 0x03, 0x00, 0x00, 0x03, 
	0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0x80, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x0c, 0x00, 
	0x00, 0x60, 0x00, 0x08, 0x00, 0x01, 0x20, 0x07, 0x08, 0x00, 0x01, 0xa0, 0x05, 0x98, 0x00, 0xce, 
	0x20, 0x04, 0xf0, 0x00, 0x49, 0x20, 0x06, 0x52, 0x00, 0x0b, 0x20, 0x03, 0x3e, 0x00, 0x04, 0x30, 
	0x03, 0x98, 0x01, 0x00, 0x38, 0x06, 0xf0, 0xc1, 0x00, 0x2c, 0x04, 0x31, 0x81, 0x80, 0x24, 0x06, 
	0x1e, 0x01, 0x80, 0x24, 0x03, 0xf9, 0x81, 0x80, 0x24, 0x00, 0x8e, 0x23, 0x00, 0x2c, 0x00, 0xd8, 
	0x66, 0x00, 0x78, 0x00, 0x7f, 0xfc, 0x00, 0xe0, 0x00, 0x18, 0x30, 0x01, 0x80, 0x00, 0x0c, 0x00, 
	0x03, 0x00, 0x28, 0x03, 0x00, 0x0e, 0x00, 0x10, 0x81, 0xc0, 0x38, 0x00, 0x01, 0x00, 0x7f, 0xe0, 
	0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, 0x0e, 0xe0, 0x00, 0x03, 0x00, 0x0a, 0xa0, 0x00, 
	0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'OISEAU02', 39x34px
const unsigned char epd_bitmap_OISEAU02 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xe0, 0x00, 0x00, 
	0x01, 0xe0, 0x38, 0x00, 0x00, 0x00, 0x80, 0x0e, 0x00, 0x00, 0x01, 0x80, 0x03, 0x00, 0x00, 0x03, 
	0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0x80, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x0c, 0x00, 
	0x01, 0xe0, 0x00, 0x08, 0x00, 0x03, 0x20, 0x07, 0x08, 0x00, 0x60, 0x20, 0x05, 0x98, 0x00, 0xce, 
	0x20, 0x04, 0xf0, 0x00, 0x09, 0x20, 0x06, 0x52, 0x00, 0x0b, 0x20, 0x03, 0x3e, 0x00, 0x04, 0x30, 
	0x03, 0x98, 0x01, 0x00, 0x38, 0x06, 0xf0, 0xc1, 0x00, 0x2c, 0x04, 0x31, 0x81, 0x80, 0x24, 0x06, 
	0x1e, 0x01, 0x80, 0x24, 0x03, 0xf9, 0x81, 0x80, 0x24, 0x00, 0x8e, 0x23, 0x00, 0x2c, 0x00, 0xd8, 
	0x66, 0x00, 0x78, 0x00, 0x7f, 0xfc, 0x00, 0xe0, 0x00, 0x18, 0x30, 0x01, 0x80, 0x00, 0x0c, 0x00, 
	0x03, 0x00, 0x00, 0x03, 0x00, 0x0e, 0x00, 0x00, 0x01, 0xc0, 0x38, 0x00, 0x00, 0x00, 0x7f, 0xe0, 
	0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, 0x0e, 0xe0, 0x00, 0x00, 0x00, 0x0a, 0xa0, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

// 'LAPIN01', 39x34px
const unsigned char epd_bitmap_LAPIN01 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x0c, 0xc6, 0x00, 0x00, 
	0x00, 0x1f, 0x82, 0x00, 0x00, 0x00, 0x21, 0x83, 0x00, 0x00, 0x00, 0x60, 0x81, 0x00, 0x00, 0x00, 
	0x40, 0xc1, 0x00, 0x00, 0x00, 0x40, 0x41, 0x00, 0x00, 0x00, 0x60, 0x41, 0x00, 0x00, 0x00, 0x20, 
	0x41, 0x00, 0x00, 0x00, 0x20, 0x71, 0x00, 0x00, 0x00, 0x10, 0x31, 0x80, 0x00, 0x00, 0x18, 0x00, 
	0xc0, 0x00, 0x00, 0x08, 0x00, 0x60, 0x00, 0x00, 0x0c, 0x00, 0x20, 0x00, 0x00, 0x08, 0x61, 0xb0, 
	0x00, 0x00, 0x18, 0x61, 0x98, 0x00, 0x00, 0x18, 0x04, 0x08, 0x00, 0x00, 0x10, 0x0e, 0x08, 0x00, 
	0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 
	0x18, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x30, 0x00, 0x00, 0x20, 
	0x00, 0x10, 0x00, 0x00, 0x60, 0x00, 0x10, 0x00, 0x01, 0xe0, 0x00, 0x10, 0x00, 0x03, 0x60, 0x00, 
	0x10, 0x00, 0x03, 0x01, 0x84, 0x90, 0x00, 0x03, 0x01, 0xe4, 0x90, 0x00, 0x01, 0x80, 0x24, 0xd8, 
	0x00, 0x00, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'LAPIN02', 39x34px
const unsigned char epd_bitmap_LAPIN02 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x0c, 0xc6, 0x00, 0x00, 
	0x00, 0x1f, 0x82, 0x00, 0x00, 0x00, 0x21, 0x83, 0x00, 0x00, 0x00, 0x60, 0x81, 0x00, 0x00, 0x00, 
	0x40, 0xc1, 0x00, 0x00, 0x00, 0x40, 0x41, 0x00, 0x00, 0x00, 0x60, 0x41, 0x00, 0x00, 0x00, 0x20, 
	0x41, 0x00, 0x00, 0x00, 0x20, 0x71, 0x00, 0x00, 0x00, 0x10, 0x31, 0x80, 0x00, 0x00, 0x18, 0x00, 
	0xc0, 0x00, 0x00, 0x08, 0x00, 0x60, 0x00, 0x00, 0x0c, 0x00, 0x20, 0x00, 0x00, 0x08, 0x00, 0x30, 
	0x00, 0x00, 0x18, 0x61, 0x98, 0x00, 0x00, 0x18, 0x04, 0x08, 0x00, 0x00, 0x10, 0x0a, 0x08, 0x00, 
	0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 
	0x18, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x30, 0x00, 0x00, 0x20, 
	0x00, 0x10, 0x00, 0x00, 0x60, 0x00, 0x10, 0x00, 0x01, 0xe0, 0x00, 0x10, 0x00, 0x03, 0x60, 0x00, 
	0x10, 0x00, 0x03, 0x01, 0x84, 0x90, 0x00, 0x03, 0x01, 0xe4, 0x90, 0x00, 0x01, 0x80, 0x24, 0xd8, 
	0x00, 0x00, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'LAPIN03', 39x34px
const unsigned char epd_bitmap_LAPIN03 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x0c, 0xc6, 0x00, 0x00, 
	0x00, 0x1f, 0x82, 0x00, 0x00, 0x00, 0x21, 0x83, 0x00, 0x00, 0x00, 0x60, 0x81, 0x00, 0x00, 0x00, 
	0x40, 0xc1, 0x00, 0x00, 0x00, 0x40, 0x41, 0x00, 0x00, 0x00, 0x60, 0x41, 0x00, 0x00, 0x00, 0x20, 
	0x41, 0x00, 0x00, 0x00, 0x20, 0x71, 0x00, 0x00, 0x00, 0x10, 0x31, 0x80, 0x00, 0x00, 0x18, 0x00, 
	0xc0, 0x00, 0x00, 0x08, 0x00, 0x60, 0x00, 0x00, 0x0c, 0x00, 0x20, 0x00, 0x00, 0x08, 0x61, 0xb0, 
	0x00, 0x00, 0x18, 0x61, 0x98, 0x00, 0x00, 0x18, 0x04, 0x08, 0x00, 0x00, 0x10, 0x0e, 0x08, 0x00, 
	0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 
	0x18, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x30, 0x00, 0x00, 0x20, 
	0x00, 0x10, 0x00, 0x00, 0x60, 0x00, 0x10, 0x00, 0x21, 0xe0, 0x00, 0x10, 0x00, 0x03, 0x60, 0x00, 
	0x10, 0x00, 0x3b, 0x01, 0x84, 0x90, 0x00, 0x03, 0x01, 0xe4, 0x90, 0x00, 0x01, 0x80, 0x24, 0xd8, 
	0x00, 0x00, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'LAPIN04', 39x34px
const unsigned char epd_bitmap_LAPIN04 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x0c, 0xc6, 0x00, 0x00, 
	0x00, 0x1f, 0x82, 0x00, 0x00, 0x00, 0x21, 0x83, 0x00, 0x00, 0x00, 0x60, 0x81, 0x00, 0x00, 0x00, 
	0x40, 0xc1, 0x00, 0x00, 0x00, 0x40, 0x41, 0x00, 0x00, 0x00, 0x60, 0x41, 0x00, 0x00, 0x00, 0x20, 
	0x41, 0x00, 0x00, 0x00, 0x20, 0x71, 0x00, 0x00, 0x00, 0x10, 0x31, 0x80, 0x00, 0x00, 0x18, 0x00, 
	0xc0, 0x00, 0x00, 0x08, 0x00, 0x60, 0x00, 0x00, 0x0c, 0x00, 0x20, 0x00, 0x00, 0x08, 0x61, 0xb0, 
	0x00, 0x00, 0x18, 0x61, 0x98, 0x00, 0x00, 0x18, 0x04, 0x08, 0x00, 0x00, 0x10, 0x0e, 0x08, 0x00, 
	0x00, 0x10, 0x00, 0x08, 0x08, 0x00, 0x10, 0x00, 0x08, 0x0c, 0x00, 0x18, 0x00, 0x18, 0x05, 0x00, 
	0x18, 0x00, 0x30, 0x00, 0x80, 0x30, 0x00, 0x20, 0x01, 0x00, 0x20, 0x00, 0x30, 0x01, 0x00, 0x20, 
	0x00, 0x10, 0x00, 0x00, 0x60, 0x00, 0x10, 0x00, 0x01, 0xe0, 0x00, 0x10, 0x00, 0x03, 0x60, 0x00, 
	0x10, 0x00, 0x03, 0x01, 0x84, 0x90, 0x00, 0x03, 0x01, 0xe4, 0x90, 0x00, 0x01, 0x80, 0x24, 0xd8, 
	0x00, 0x00, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'LAPIN05', 39x34px
const unsigned char epd_bitmap_LAPIN05 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x10, 0x0c, 0xc6, 0x00, 0x00, 
	0x20, 0x1f, 0x82, 0x00, 0x00, 0x00, 0x21, 0x83, 0x00, 0x00, 0x00, 0x60, 0x81, 0x00, 0x00, 0x00, 
	0x40, 0xc1, 0x00, 0x10, 0x00, 0x40, 0x41, 0x00, 0x08, 0x00, 0x60, 0x41, 0x00, 0x00, 0x00, 0x20, 
	0x41, 0x00, 0x00, 0x00, 0x20, 0x71, 0x00, 0x00, 0x00, 0x10, 0x31, 0x80, 0x08, 0x00, 0x18, 0x00, 
	0xc0, 0x00, 0x80, 0x08, 0x00, 0x60, 0x00, 0x00, 0x0c, 0x00, 0x20, 0x00, 0x80, 0x08, 0x61, 0xb0, 
	0x00, 0x80, 0x18, 0x61, 0x98, 0x01, 0x00, 0x18, 0x04, 0x08, 0x01, 0x00, 0x10, 0x0e, 0x08, 0x00, 
	0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 
	0x18, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x30, 0x00, 0x00, 0x20, 
	0x00, 0x10, 0x00, 0x00, 0x60, 0x00, 0x10, 0x00, 0x01, 0xe0, 0x00, 0x10, 0x00, 0x03, 0x60, 0x00, 
	0x10, 0x00, 0x03, 0x01, 0x84, 0x90, 0x00, 0x03, 0x01, 0xe4, 0x90, 0x00, 0x01, 0x80, 0x24, 0xd8, 
	0x00, 0x00, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'DRAGON01', 39x34px
const unsigned char epd_bitmap_DRAGON01 [] PROGMEM = {
	0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xdf, 0xf3, 0x3f, 0xfe, 0xff, 0xcf, 0xf5, 0x5f, 0xfa, 0xff, 
	0xd7, 0xf6, 0xdf, 0xf2, 0xff, 0xdb, 0xf7, 0xef, 0xea, 0xff, 0xdc, 0xe0, 0xe3, 0xca, 0xff, 0xee, 
	0x4f, 0x6c, 0x9a, 0xff, 0xef, 0x9f, 0xb6, 0x32, 0xff, 0xf7, 0xcf, 0xcf, 0x36, 0xff, 0xfb, 0xef, 
	0xff, 0xa6, 0xff, 0xfd, 0xef, 0xff, 0x8e, 0xff, 0xfe, 0x1c, 0xfe, 0xde, 0xff, 0xff, 0x70, 0x7c, 
	0x5e, 0xff, 0xfe, 0x72, 0x3a, 0x1e, 0xff, 0xfe, 0xf2, 0x3a, 0x5e, 0xfe, 0xfe, 0xf0, 0x38, 0x5e, 
	0xfe, 0x1e, 0xf8, 0x3c, 0x5e, 0xff, 0x0e, 0x7c, 0x7e, 0xde, 0xff, 0xcf, 0x7f, 0xe3, 0xde, 0xff, 
	0xcf, 0xbf, 0xf7, 0x9e, 0xff, 0xcf, 0xdf, 0xff, 0xbe, 0xff, 0xaf, 0xcf, 0xfe, 0x7e, 0xff, 0x2f, 
	0xe0, 0x00, 0xfe, 0xff, 0x5f, 0xfd, 0xb7, 0xfe, 0xfe, 0x5f, 0xfb, 0xbb, 0xfe, 0xfe, 0xcf, 0xe3, 
	0xdc, 0x7e, 0xfe, 0xe7, 0xc0, 0xed, 0x8e, 0xff, 0x70, 0x1e, 0x65, 0xe6, 0xff, 0x7f, 0xbf, 0x01, 
	0xf6, 0xff, 0x9f, 0x3c, 0x0d, 0xf6, 0xff, 0xcf, 0x3e, 0xbd, 0xe6, 0xff, 0xf1, 0x9f, 0xb0, 0xce, 
	0xff, 0xfc, 0x00, 0x06, 0x1e, 0xff, 0xff, 0xff, 0xff, 0xfe
};
// 'DRAGON02', 39x34px
const unsigned char epd_bitmap_DRAGON02 [] PROGMEM = {
	0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xdf, 0xf3, 0x3f, 0xfe, 0xff, 0xcf, 0xf5, 0x5f, 0xfa, 0xff, 
	0xd7, 0xf6, 0xdf, 0xf2, 0xff, 0xdb, 0xf7, 0xef, 0xea, 0xff, 0xdc, 0xe0, 0xe3, 0xca, 0xff, 0xee, 
	0x4f, 0x6c, 0x9a, 0xff, 0xef, 0x9f, 0xb6, 0x32, 0xff, 0xf7, 0xcf, 0xcf, 0x36, 0xff, 0xfb, 0xef, 
	0xff, 0xa6, 0xff, 0xfd, 0xef, 0xff, 0xce, 0xff, 0xfe, 0x1f, 0xff, 0xde, 0xff, 0xff, 0x7f, 0xff, 
	0xde, 0xff, 0xfe, 0x7f, 0xff, 0xde, 0xff, 0xfe, 0xff, 0xff, 0xde, 0xfe, 0xfe, 0xf3, 0xfb, 0xde, 
	0xfe, 0x1e, 0xf8, 0x3c, 0x5e, 0xff, 0x0e, 0x7c, 0x7e, 0xde, 0xff, 0xcf, 0x7f, 0xe3, 0xde, 0xff, 
	0xcf, 0xbf, 0xf7, 0x9e, 0xff, 0xcf, 0xdf, 0xff, 0xbe, 0xff, 0xaf, 0xcf, 0xfe, 0x7e, 0xff, 0x2f, 
	0xe0, 0x00, 0xfe, 0xff, 0x5f, 0xfd, 0xb7, 0xfe, 0xfe, 0x5f, 0xfb, 0xbb, 0xfe, 0xfe, 0xcf, 0xe3, 
	0xdc, 0x7e, 0xfe, 0xe7, 0xc0, 0xed, 0x8e, 0xff, 0x70, 0x1e, 0x65, 0xe6, 0xff, 0x7f, 0xbf, 0x01, 
	0xf6, 0xff, 0x9f, 0x3c, 0x0d, 0xf6, 0xff, 0xcf, 0x3e, 0xbd, 0xe6, 0xff, 0xf1, 0x9f, 0xb0, 0xce, 
	0xff, 0xfc, 0x00, 0x06, 0x1e, 0xff, 0xff, 0xff, 0xff, 0xfe
};
// 'DRAGON03', 39x34px
const unsigned char epd_bitmap_DRAGON03 [] PROGMEM = {
	0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xdf, 0xf3, 0x3f, 0xfe, 0xff, 0xcf, 0xf5, 0x5f, 0xfa, 0xff, 
	0xd7, 0xf6, 0xdf, 0xf2, 0xff, 0xdb, 0xf7, 0xef, 0xea, 0xff, 0xdc, 0xe0, 0xe3, 0xca, 0xff, 0xee, 
	0x4f, 0x6c, 0x9a, 0xff, 0xef, 0x9f, 0xb6, 0x32, 0xff, 0xf7, 0xcf, 0xcf, 0x36, 0xff, 0xfb, 0xef, 
	0xff, 0xa6, 0xff, 0xfd, 0xef, 0xff, 0x8e, 0xff, 0xfe, 0x1c, 0xfe, 0xde, 0xff, 0xff, 0x70, 0x7c, 
	0x5e, 0xff, 0xfe, 0x72, 0x3a, 0x1e, 0xff, 0xfe, 0xf2, 0x3a, 0x5e, 0xfe, 0xfe, 0xf0, 0x38, 0x5e, 
	0xfe, 0x1e, 0xf8, 0x3c, 0x5e, 0xff, 0x0e, 0x7c, 0x7e, 0xde, 0xff, 0xcf, 0x7f, 0xe3, 0xde, 0xff, 
	0xcf, 0xbf, 0xf7, 0x9e, 0xff, 0xcf, 0xdf, 0xff, 0xbe, 0xff, 0xaf, 0xcf, 0xfe, 0x7e, 0xff, 0x2f, 
	0xe0, 0x00, 0xfe, 0xff, 0x5f, 0xfd, 0xb7, 0xfe, 0xfe, 0x5f, 0xfb, 0xbb, 0xfe, 0xfe, 0xcf, 0xe3, 
	0xdc, 0x7e, 0x9e, 0xe7, 0xc0, 0xed, 0x8e, 0x9f, 0x70, 0x1e, 0x65, 0xe6, 0xef, 0x7f, 0xbf, 0x01, 
	0xf6, 0xef, 0x9f, 0x3c, 0x0d, 0xf6, 0xff, 0xcf, 0x3e, 0xbd, 0xe6, 0xfc, 0xf1, 0x9f, 0xb0, 0xce, 
	0xff, 0xfc, 0x00, 0x06, 0x1e, 0xff, 0xff, 0xff, 0xff, 0xfe
};
// 'DRAGON04', 39x34px
const unsigned char epd_bitmap_DRAGON04 [] PROGMEM = {
	0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xdf, 0xf3, 0x3f, 0xfe, 0xff, 0xcf, 0xf5, 0x5f, 0xfa, 0xff, 
	0xd7, 0xf6, 0xdf, 0xf2, 0xff, 0xdb, 0xf7, 0xef, 0xea, 0xff, 0xdc, 0xe0, 0xe3, 0xca, 0xff, 0xee, 
	0x4f, 0x6c, 0x9a, 0xff, 0xef, 0x9f, 0xb6, 0x32, 0xff, 0xf7, 0xcf, 0xcf, 0x36, 0xff, 0xfb, 0xef, 
	0xff, 0xa6, 0xff, 0xfd, 0xef, 0xff, 0x8e, 0x3f, 0xfe, 0x1c, 0xfe, 0xde, 0xff, 0xff, 0x70, 0x7c, 
	0x5e, 0xbf, 0xfe, 0x72, 0x3a, 0x1e, 0xff, 0xfe, 0xf2, 0x3a, 0x5e, 0xf6, 0xfe, 0xf0, 0x38, 0x5e, 
	0xa6, 0x1e, 0xf8, 0x3c, 0x5e, 0x27, 0x0e, 0x7c, 0x7e, 0xde, 0xf1, 0xcf, 0x7f, 0xe3, 0xde, 0xe3, 
	0xcf, 0xbf, 0xf7, 0x9e, 0xe7, 0xcf, 0xdf, 0xff, 0xbe, 0xe7, 0xaf, 0xcf, 0xfe, 0x7e, 0xef, 0x2f, 
	0xe0, 0x00, 0xfe, 0xff, 0x5f, 0xfd, 0xb7, 0xfe, 0xbe, 0x5f, 0xfb, 0xbb, 0xfe, 0xf6, 0xcf, 0xe3, 
	0xdc, 0x7e, 0xf6, 0xe7, 0xc0, 0xed, 0x8e, 0xff, 0x70, 0x1e, 0x65, 0xe6, 0xff, 0x7f, 0xbf, 0x01, 
	0xf6, 0xff, 0x9f, 0x3c, 0x0d, 0xf6, 0xff, 0xcf, 0x3e, 0xbd, 0xe6, 0xff, 0xf1, 0x9f, 0xb0, 0xce, 
	0xff, 0xfc, 0x00, 0x06, 0x1e, 0xff, 0xff, 0xff, 0xff, 0xfe
};
// 'DRAGON05', 39x34px
const unsigned char epd_bitmap_DRAGON05 [] PROGMEM = {
	0xee, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xdf, 0xf3, 0x3f, 0xfe, 0x7d, 0xcf, 0xf5, 0x5f, 0xfa, 0xbd, 
	0xd7, 0xf6, 0xdf, 0xf2, 0xdf, 0xdb, 0xf7, 0xef, 0xea, 0xff, 0xdc, 0xe0, 0xe3, 0xca, 0xf3, 0xee, 
	0x4f, 0x6c, 0x9a, 0xb7, 0xef, 0x9f, 0xb6, 0x32, 0xdd, 0xf7, 0xcf, 0xcf, 0x36, 0xfd, 0xfb, 0xef, 
	0xff, 0xa6, 0xff, 0xfd, 0xef, 0xff, 0x8e, 0x6f, 0xfe, 0x1c, 0xfe, 0xde, 0xf3, 0xff, 0x70, 0x7c, 
	0x5e, 0xf7, 0xfe, 0x72, 0x3a, 0x1e, 0xff, 0xfe, 0xf2, 0x3a, 0x5e, 0xf6, 0xfe, 0xf0, 0x38, 0x5e, 
	0xfe, 0x1e, 0xf8, 0x3c, 0x5e, 0xff, 0x0e, 0x7c, 0x7e, 0xde, 0xff, 0xcf, 0x7f, 0xe3, 0xde, 0xff, 
	0xcf, 0xbf, 0xf7, 0x9e, 0xff, 0xcf, 0xdf, 0xff, 0xbe, 0xff, 0xaf, 0xcf, 0xfe, 0x7e, 0xff, 0x2f, 
	0xe0, 0x00, 0xfe, 0xff, 0x5f, 0xfd, 0xb7, 0xfe, 0xfe, 0x5f, 0xfb, 0xbb, 0xfe, 0xfe, 0xcf, 0xe3, 
	0xdc, 0x7e, 0xfe, 0xe7, 0xc0, 0xed, 0x8e, 0xff, 0x70, 0x1e, 0x65, 0xe6, 0xff, 0x7f, 0xbf, 0x01, 
	0xf6, 0xff, 0x9f, 0x3c, 0x0d, 0xf6, 0xff, 0xcf, 0x3e, 0xbd, 0xe6, 0xff, 0xf1, 0x9f, 0xb0, 0xce, 
	0xff, 0xfc, 0x00, 0x06, 0x1e, 0xff, 0xff, 0xff, 0xff, 0xfe
};

// 'MORT01', 39x34px
const unsigned char epd_bitmap_MORT01 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x03, 0xff, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x0f, 0xfe, 0x70, 0x00, 0x00, 0x1f, 
	0xff, 0x18, 0x00, 0x00, 0x1f, 0xff, 0xd8, 0x00, 0x00, 0x3f, 0xff, 0xd8, 0x00, 0x00, 0x30, 0xff, 
	0xd8, 0x00, 0x00, 0x36, 0xd0, 0xd8, 0x00, 0x00, 0x36, 0xd6, 0x58, 0x00, 0x00, 0x30, 0xd6, 0x58, 
	0x00, 0x00, 0x35, 0xd0, 0xd8, 0x00, 0x00, 0x35, 0xd7, 0xd8, 0x00, 0x00, 0x34, 0xd7, 0xd8, 0x00, 
	0x00, 0x3f, 0xd7, 0xd8, 0x00, 0x00, 0x3f, 0xf7, 0xd8, 0x00, 0x00, 0x3f, 0xff, 0xd8, 0x00, 0x00, 
	0x3f, 0xff, 0xd8, 0x00, 0x00, 0x3f, 0xff, 0xd8, 0x48, 0x80, 0xbf, 0xff, 0xd8, 0x4a, 0xa2, 0xbf, 
	0xff, 0xda, 0x5b, 0xb7, 0xbf, 0xff, 0xfa, 0x79, 0xbf, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 
	0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 
	0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe
};
// 'MORT02', 39x34px
const unsigned char epd_bitmap_MORT02 [] PROGMEM = {
	0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 
	0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 
	0xfc, 0x00, 0xfe, 0xff, 0xff, 0xf0, 0x00, 0x3e, 0xff, 0xff, 0xf0, 0x01, 0x8e, 0xff, 0xff, 0xe0, 
	0x00, 0xe6, 0xff, 0xff, 0xe0, 0x00, 0x26, 0xff, 0xff, 0xc0, 0x00, 0x26, 0xff, 0xff, 0xcf, 0x00, 
	0x26, 0xff, 0xff, 0xc9, 0x2f, 0x26, 0xff, 0xff, 0xc9, 0x29, 0xa6, 0xff, 0xff, 0xcf, 0x29, 0xa6, 
	0xff, 0xff, 0xca, 0x2f, 0x26, 0xff, 0xff, 0xca, 0x28, 0x26, 0xff, 0xff, 0xcb, 0x28, 0x26, 0xff, 
	0xff, 0xc0, 0x28, 0x26, 0xff, 0xff, 0xc0, 0x08, 0x26, 0xff, 0xff, 0xc0, 0x00, 0x26, 0xff, 0xff, 
	0xc0, 0x00, 0x26, 0xff, 0xff, 0xc0, 0x00, 0x26, 0xb7, 0x7f, 0x40, 0x00, 0x26, 0xb5, 0x5d, 0x40, 
	0x00, 0x24, 0xa4, 0x48, 0x40, 0x00, 0x04, 0x86, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
void setup() {
  //ETATS INITIAUX des 3 sorties LED et du BUZZER
  digitalWrite(5, LOW);//BUZZER
  digitalWrite(2, LOW);//VERT
  digitalWrite(12, LOW);//JAUNE
  digitalWrite(13, LOW);//ROUGE
  // inversion des couleur à l'écran
  display.invertDisplay(true);
  // Allumage du rétroéclairage de l'écran
  pinMode(broche_LED, OUTPUT);
  digitalWrite(broche_LED, HIGH);
  Serial.begin(9600);//ou 115200 pour plus rapide à priori
  //Initialisation de l'écran Display
  display.begin();
  // 57 valeur de base du contraste ok
  display.setContrast(57);
  // Rafraichissement de l'écran
  display.clearDisplay();
  display.invertDisplay(true);//false pour écran normal fond blanc + dessin noir
  // ANIMATION INTRO
  for (int i = 48 ; i > 14 ; i--) {
  display.clearDisplay();
  display.setTextSize(1);
  display.setCursor(4,i);
  display.print("PROUT-O-METRE");
  display.drawRoundRect(0, i+9, 84, 1, 0, 1);
  display.setTextSize(1);
  display.setCursor(7,i+12);
  display.print("made for all");
  display.display();// Validation affichage
  delay(50);
   }
  // Lecture des notes à la fin de l'animation INTRO
  tone(buzzer, NOTE_A, 200);
  delay(220);
  tone(buzzer, NOTE_A, 100);
  delay(110);
  tone(buzzer, NOTE_A, 100);
  delay(1000);
  display.clearDisplay();
  display.display();// Validation affichage
  delay(500);
  // Correction : inversion couleur écran
  display.invertDisplay(false);//false pour écran normal fond blanc + dessin noir
  //Affichage des cadres
  display.drawRoundRect(0, 0, 84, 11, 0, 1); // cadre haut (positionX, positionY, largeur, hauteur, chanfrein, epaisseur)
  display.drawRoundRect(0, 12, 41, 36, 0, 1); // cadre gauche (positionX, positionY, largeur, hauteur, chanfrein, epaisseur)
  display.drawRoundRect(43, 12, 41, 36, 0, 1); //cadre droit (positionX, positionY, largeur, hauteur, chanfrein, epaisseur)
  display.display(); // Validation affichage
  digitalWrite(4, HIGH);//VERT
  delay(1000);
  digitalWrite(4, LOW);//VERT
  }


void loop() { 
// SCORE ECRIT
  mesure = analogRead(A0); // définition de la valeur "mesure" = sortie port A0
  Serial.println (mesure);  // avant il était écrit "mesure" au lieu de "valeurLissee"
  valeurLissee = filtreAsymetrique(valeurLissee, analogRead (potPin), coefficientDescente, coefficientMontee);
  Serial.println (valeurLissee);
  delay(100);
  display.setTextSize(2);
  display.setCursor(46, 32); // Position (en haut à gauche) du curseur pour écriture "mesure"
  display.fillRect(46, 32, 36, 15, 0); // Recouvrement avant écriture valeur de mesure (posX,posY,largX,htY,noir ou blanc)
  display.display();
  display.print(valeurLissee); // Ecriture mesure
  display.display();
  delay(100);


if (valeurLissee < 100 ) { 
 // NIVEAU 01
  //LED & BUZZER
  digitalWrite(5, LOW);//BUZZER
  digitalWrite(4, HIGH);//VERT
  digitalWrite(12, LOW);//JAUNE
  digitalWrite(13, LOW);//ROUGE
  //TEXTE CADRE TITRE
  display.fillRect(70, 32, 12, 14, 0); // Recouvrement correctif à droite des valeur inf. à zero
  display.display();
  display.setTextSize(1);
  display.setCursor(2,2);
  display.fillRect(1, 1, 82, 9, 0);//Recouvrement commentaire cadre haut (0=blanc,1=noir)
  //display.print("1234567891234");
  display.print("Petite  brise");
  display.display(); // Validation affichage
  display.fillRect(46, 14, 36, 15, 0);//Recouvrement score barre (posX,posY,largX,htY,noir ou blanc)
  display.fillRect(46, 26, 5, 3, 1);// Barre niveau 01 colorée
  display.drawRoundRect(52, 23, 5,  6, 0, 1); // Barre niveau 02
  display.drawRoundRect(58, 20, 5,  9, 0, 1); // Barre niveau 03
  display.drawRoundRect(64, 17, 5, 12, 0, 1); // Barre niveau 04
  display.drawRoundRect(70, 16, 5, 13, 0, 1); // Barre niveau 05
  display.drawRoundRect(76, 14, 5, 15, 0, 1); // Barre niveau 06
  display.display(); // Validation affichage
  // Affichage animation POISSSON
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_POISSON01, 39, 34, 1);
  display.display();
  delay(1000);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_POISSON02, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_POISSON03, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_POISSON04, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_POISSON05, 39, 34, 1);
  display.display();
  delay(300);
  }  
  else
  if (valeurLissee < 200 ) { 
  // NIVEAU 02
  //TEXTE CADRE TITRE
  display.setTextSize(1);
  display.setCursor(2,2);
  display.fillRect(1, 1, 82, 9, 0);
  display.print("Faut ventiler");
  display.display(); // Validation affichage
  display.fillRect(46, 14, 36, 15, 0);//Effacement avant écriture score barre (posX,posY,largX,htY,noir ou blanc)
  display.fillRect(46, 26, 5, 3, 1);// Barre niveau 01 colorée
  display.fillRect(52, 23, 5,  6, 1);// Barre niveau 02 colorée
  display.drawRoundRect(58, 20, 5,  9, 0, 1); // Barre niveau 03
  display.drawRoundRect(64, 17, 5, 12, 0, 1); // Barre niveau 04
  display.drawRoundRect(70, 16, 5, 13, 0, 1); // Barre niveau 05 
  display.drawRoundRect(76, 14, 5, 15, 0, 1); // Barre niveau 06
  display.display(); // Validation affichage
  // Affichage animation OISEAU
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_OISEAU01, 39, 34, 1);
  display.display();
  delay(1000);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_OISEAU02, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_OISEAU03, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_OISEAU04, 39, 34, 1);
  display.display();
  delay(300);
  }
  else
  if (valeurLissee < 300 ) { 
  // NIVEAU 03
  //TEXTE CADRE TITRE
  display.setTextSize(1);
  display.setCursor(2,2);
  display.fillRect(1, 1, 82, 9, 0);
  display.print("Sage puanteur");
  display.display(); // Validation affichage
  display.fillRect(46, 14, 36, 15, 0);//Effacement avant écriture score barre (posX,posY,largX,htY,noir ou blanc)
  display.fillRect(46, 26, 5, 3, 1);// Barre niveau 01 colorée
  display.fillRect(52, 23, 5,  6, 1);// Barre niveau 02 colorée
  display.fillRect(58, 20, 5,  9, 1);// Barre niveau 03 colorée
  display.drawRoundRect(64, 17, 5, 12, 0, 1); // Barre niveau 04
  display.drawRoundRect(70, 16, 5, 13, 0, 1); // Barre niveau 05 
  display.drawRoundRect(76, 14, 5, 15, 0, 1); // Barre niveau 06
  display.display(); // Validation affichage
   // Affichage animation LAPIN
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_LAPIN01, 39, 34, 1);
  display.display();
  delay(1000);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_LAPIN02, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_LAPIN03, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_LAPIN04, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_LAPIN05, 39, 34, 1);
  display.display();
  delay(300);
  }
  else
  if (valeurLissee < 400 ) { 
  // NIVEAU 04
  //TEXTE CADRE TITRE
  display.setTextSize(1);
  display.setCursor(2,2);
  display.fillRect(1, 1, 82, 9, 0);
  display.print("Puanteur  max");
  display.display(); // Validation affichage
  display.fillRect(46, 14, 36, 15, 0);//Effacement avant écriture score barre (posX,posY,largX,htY,noir ou blanc)
  display.fillRect(46, 26, 5, 3, 1);// Barre niveau 01 coloré
  display.fillRect(52, 23, 5,  6, 1);// Barre niveau 02 coloré
  display.fillRect(58, 20, 5,  9, 1);// Barre niveau 03 coloré
  display.fillRect(64, 17, 5, 12, 1);// Barre niveau 04 coloré
  display.drawRoundRect(70, 16, 5, 13, 0, 1); // Barre niveau 05 
  display.drawRoundRect(76, 14, 5, 15, 0, 1); // Barre niveau 06
  display.display(); // Validation affichage
  }
  else
  if (valeurLissee < 500 ) { 
  // NIVEAU 05
  //TEXTE CADRE TITRE
  display.setTextSize(1);
  display.setCursor(2,2);
  display.fillRect(1, 1, 82, 9, 0);
  display.print("Puanteur  max");
  display.display(); // Validation affichage
  display.fillRect(46, 14, 36, 15, 0);//Effacement avant écriture score barre (posX,posY,largX,htY,noir ou blanc)
  display.fillRect(46, 26, 5, 3, 1);// Barre niveau 01 coloré
  display.fillRect(52, 23, 5,  6, 1);// Barre niveau 02 coloré
  display.fillRect(58, 20, 5,  9, 1);// Barre niveau 03 coloré
  display.fillRect(64, 17, 5, 12, 1);// Barre niveau 04 coloré
  display.fillRect(70, 16, 5, 13, 1);// Barre niveau 05 coloré
  display.drawRoundRect(76, 14, 5, 15, 0, 1); // Barre niveau 06
  display.display(); // Validation affichage
  // Affichage animation DRAGON
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_DRAGON01, 39, 34, 1);
  display.display();
  delay(1000);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_DRAGON02, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_DRAGON03, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_DRAGON04, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_DRAGON05, 39, 34, 1);
  display.display();
  delay(300);
  }
  else { 
  // NIVEAU 06
  //TEXTE CADRE TITRE
  display.setTextSize(1);
  display.setCursor(2,2);
  display.fillRect(1, 1, 82, 9, 0);
  display.print("Cadavre moisi");
  display.display(); // Validation affichage
  display.fillRect(46, 14, 36, 15, 0);//Effacement avant écriture score barre (posX,posY,largX,htY,noir ou blanc)
  display.fillRect(46, 26, 5, 3, 1);// Barre niveau 01 coloré
  display.fillRect(52, 23, 5,  6, 1);// Barre niveau 02 coloré
  display.fillRect(58, 20, 5,  9, 1);// Barre niveau 03 coloré
  display.fillRect(64, 17, 5, 12, 1);// Barre niveau 04 coloré
  display.fillRect(70, 16, 5, 13, 1);// Barre niveau 05 coloré
  display.fillRect(76, 14, 5, 15, 1);// Barre niveau 06 coloré
  display.display(); // Validation affichage
   // Affichage animation MORT
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_MORT01, 39, 34, 1);
  display.display();
  delay(1000);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_MORT02, 39, 34, 1);
  display.display();
  delay(100);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_MORT01, 39, 34, 1);
  display.display();
  delay(300);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_MORT02, 39, 34, 1);
  display.display();
  delay(100);
  display.fillRect(1, 13, 39, 34, 0);//Recouvrement animation (0=blanc,1=noir)
  display.drawBitmap(1, 13, epd_bitmap_MORT01, 39, 34, 1);
  display.display();
  delay(300);
  }
  }
  

vos coefficients ne sont pas très différents et la montée est instantanée si vous mettez 1

float coefficientDescente = 0.8;  // 0.01 on amortit très fort
float coefficientMontee = 1;      // 0.99 on amortit très peu

il suffit donc d'une petite instabilité de la lecture analogique pour que vous ayez un gros coup de boost

sinon vous effectuez deux fois la lecture analogique, une fois vous la mettez dans mesure puis vous relisez la valeur et n'utilisez pas mesure dans l'appel à filtreAsymetrique()

  mesure = analogRead(A0);  // définition de la valeur "mesure" = sortie port A0
  Serial.println(mesure);   // avant il était écrit "mesure" au lieu de "valeurLissee"
  valeurLissee = filtreAsymetrique(valeurLissee, analogRead(potPin), coefficientDescente, coefficientMontee);

essayez avec

float coefficientDescente = 0.2;
float coefficientMontee = 0.95;

et

  mesure = analogRead(potPin);  // définition de la valeur "mesure" = sortie port A0
  Serial.println(mesure);   // avant il était écrit "mesure" au lieu de "valeurLissee"
  valeurLissee = filtreAsymetrique(valeurLissee, mesure, coefficientDescente, coefficientMontee);

Merci @J-M-L le résultat est beaucoup plus en adéquation avec ce que je cherchais ! Si je suis encore incapable de tout comprendre, ce code est LA solution que je cherchais !

A noter que lors de mon dernier post, j'alimentais le capteur mq135 en 3,3V comme le reste de mon installation ; sauf que le mq135 préfère le 5V !

Encore merci @J-M-L

Bientôt je posterai par ici le résultat final de mon projet.

Bonne continuation

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.