#include <Adafruit_SSD1306.h>
#define nombreDePixelsEnLargeur 128 // Taille de l'écran OLED, en pixel, au niveau de sa largeur
#define nombreDePixelsEnHauteur 64 // Taille de l'écran OLED, en pixel, au niveau de sa hauteur
#define brocheResetOLED -1 // Reset de l'OLED partagé avec l'Arduino (d'où la valeur à -1, et non un numéro de pin)
#define adresseI2CecranOLED 0x3C // Adresse de "mon" écran OLED sur le bus i2c (généralement égal à 0x3C ou 0x3D)
long plateaumax = 621;
int compteur =1;
Adafruit_SSD1306 ecranoled(nombreDePixelsEnLargeur, nombreDePixelsEnHauteur, &Wire, brocheResetOLED);
void setup()
{
Serial.begin(9600);
ecranoled.begin(SSD1306_SWITCHCAPVCC, adresseI2CecranOLED); //Démarrage de l'écran OLED
ecranoled.clearDisplay();
ecranoled.setTextColor(SSD1306_WHITE);
}
void loop()
{
ecran1();
delay(3000);
ecran2();
delay(3000);
ecran3();
delay(3000);
ecran31();
delay(3000);
ecran4();
delay(3000);
ecran5();
delay(3000);
ecran6();
delay(3000);
ecran7();
delay(3000);
}
void ecran1()
{
ecranoled.clearDisplay();
ecranoled.drawRect(0, 0, 128, 64, SSD1306_WHITE);
ecranoled.setTextSize(1);
ecranoled.setCursor(2, 2);
ecranoled.print("systeme sous tension");
ecranoled.display();
}
void ecran2()
{
ecranoled.clearDisplay();
ecranoled.setCursor(2, 2);
ecranoled.println("mettre en place le systeme à siliconer puis appuyer 2 secondes sur bp1 et bp2");
ecranoled.display();
}
void ecran3()
{
ecranoled.clearDisplay();
ecranoled.setCursor(2, 2);
ecranoled.print("systeme pret a demarrer");
ecranoled.setCursor(2, 20);
ecranoled.print("nombre de plateaux siliconer:");
ecranoled.print(plateaumax);
ecranoled.display();
}
void ecran31()
{
ecranoled.clearDisplay();
ecranoled.setTextSize(2);
ecranoled.setCursor(1,15);
ecranoled.print("Demarrage");
ecranoled.display();
}
void ecran4()
{
ecranoled.fillRect(0,0,128,40, SSD1306_BLACK);
ecranoled.setTextSize(2);
ecranoled.setCursor(1,12);
ecranoled.print(compteur);
ecranoled.display();
}
void ecran5()
{
ecranoled.setTextSize(1);
ecranoled.clearDisplay();
delay(100);
ecranoled.setCursor(2,2);
ecranoled.print("siliconage terminer");
ecranoled.setCursor(2,11);
ecranoled.print("relancer un cycle : bp1");
ecranoled.setCursor(2,30);
ecranoled.print("arreter le systeme : bp2");
ecranoled.display();
}
void ecran6()
{
ecranoled.setTextSize(2);
ecranoled.setCursor(2,15);
ecranoled.clearDisplay();
ecranoled.print("Arret du systeme");
ecranoled.display();
}
void ecran7()
{
ecranoled.clearDisplay();
ecranoled.setTextSize(2);
ecranoled.print("default niveau silicone :");
ecranoled.display();
}
void etat0()
{
ecranoled.clearDisplay();
digitalWrite(1, HIGH);
//Serial.println("attente de démarrage");
ecranoled.setTextSize(1);
ecranoled.setCursor(1,15);
ecranoled.print("Appuyer sur le bouton marche");
ecranoled.display();
}