#include <U8g2lib.h>
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0);
const int ledPin = A3;
const int buzzerPin = 5;
const int buttonPin = 6;
const int potPin = A0;
int lumi;
int estimation;
int potVal;
int score;
void setup() {
u8g2.begin();
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
pinMode(buttonPin, INPUT);
randomSeed(analogRead(0));
lumi = random(0, 256);
analogWrite(ledPin, lumi);
score = 0;
}
void loop() {
potVal = analogRead(potPin);
estimation = map(potVal, 0, 1023, 0, 255);
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_profont12_tf);
u8g2.setCursor(0, 15);
u8g2.print("Trouve la luminosite!");
u8g2.setCursor(0, 30);
u8g2.print("ecart: 0-255");
u8g2.setCursor(0, 45);
u8g2.print("votre estimation: ");
u8g2.print(estimation);
u8g2.setCursor(0, 60);
u8g2.print("score: ");
u8g2.print(score);
u8g2.sendBuffer();
if (estimation == lumi) {
tone(buzzerPin, 1000, 500);
delay(1000);
noTone(buzzerPin);
lumi = random(0, 256);
analogWrite(ledPin, lumi);
score++;
} else if (estimation > lumi) {
noTone(buzzerPin);
} else {
tone(buzzerPin, 500, 500);
}
if (digitalRead(buttonPin) == LOW) {
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_profont12_tf);
u8g2.setCursor(0, 30);
u8g2.print("Jeu en cours de");
u8g2.setCursor(0, 45);
u8g2.print("redemarrage...");
u8g2.sendBuffer();
delay(1000);
lumi = random(0, 256);
analogWrite(ledPin, lumi);
noTone(buzzerPin);
score = 0;
}
delay(100);
}