Failure indicator

This commit is contained in:
Aurélie Delhaie
2022-01-09 23:21:46 +01:00
parent e196cc3067
commit 7bffb0ef92

View File

@@ -1,65 +1,83 @@
#include <Arduino.h> #include <Arduino.h>
#include <U8g2lib.h> #include <U8g2lib.h>
#include <Wire.h> #include <Wire.h>
#include <DHT.h> #include <DHT.h>
U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE); #define VERSION "1.2.0"
DHT dht;
U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE);
byte i = 0; DHT dht;
void setup(void) { byte i = 0;
u8g2.begin();
u8g2.enableUTF8Print(); void setup(void) {
u8g2.begin();
u8g2.setFontDirection(0); u8g2.enableUTF8Print();
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_luRS08_tf); // choose a suitable font u8g2.setFontDirection(0);
u8g2.drawStr(40,35,"Welcome !"); printBoardInfo();
u8g2.sendBuffer();
pinMode(2, INPUT);
pinMode(2, INPUT); dht.setup(6);
dht.setup(6); }
delay(1500);
} void loop(void) {
if (i > 5) {
void loop(void) { u8g2.clearBuffer();
if (i > 5) { u8g2.sendBuffer();
u8g2.clearBuffer(); if (digitalRead(2) == HIGH) {
u8g2.sendBuffer(); powerScreen();
if (digitalRead(2) == HIGH) { }
powerScreen(); delay(50);
} } else {
delay(50); u8g2.clearBuffer();
} else { printTemp();
u8g2.clearBuffer(); printHumidity();
u8g2.drawLine(74, 0, 74, 64); u8g2.sendBuffer();
printTemp(); delay(3000);
printHumidity(); i++;
u8g2.sendBuffer(); }
delay(3000); }
i++;
} void printTemp() {
} u8g2.setFont(u8g2_font_luRS08_tf);
u8g2.drawUTF8(5, 10, "Température");
void printTemp() { u8g2.setFont(u8g2_font_luRS14_tf);
u8g2.setFont(u8g2_font_luRS08_tf); u8g2.setCursor(5, 27);
u8g2.drawStr(5,10,"Temp"); u8g2.print(dht.getTemperature(),1);
u8g2.setFont(u8g2_font_luRS14_tf); u8g2.print("°C");
u8g2.setCursor(5, 60); if(dht.getStatus() != 0) {
u8g2.print(dht.getTemperature(),1); u8g2.setFont(u8g2_font_luRS08_tf);
u8g2.print("°C"); u8g2.drawStr(80, 10, "[FAILED]");
} }
}
void printHumidity() {
u8g2.setFont(u8g2_font_luRS08_tf); // choose a suitable font void printHumidity() {
u8g2.drawStr(80,10,"Humidity"); u8g2.setFont(u8g2_font_luRS08_tf); // choose a suitable font
u8g2.setFont(u8g2_font_logisoso22_tf); u8g2.drawUTF8(5, 40, "Humidité");
u8g2.setCursor(80, 60); u8g2.setFont(u8g2_font_luRS14_tf);
u8g2.print(int(dht.getHumidity())); u8g2.setCursor(5, 58);
u8g2.print("%"); u8g2.print(int(dht.getHumidity()));
} u8g2.print("%");
if(dht.getStatus() != 0) {
void powerScreen() { u8g2.setFont(u8g2_font_luRS08_tf);
i = 0; u8g2.drawStr(80, 40, "[FAILED]");
} }
}
void powerScreen() {
i = 0;
}
void printBoardInfo() {
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_luRS08_tf); // choose a suitable font
u8g2.drawStr(5, 10, "Board: ATmega328P");
u8g2.drawStr(5, 25, "Arch: AVR (8-bit)");
u8g2.drawUTF8(5, 45, "by Aurélie");
u8g2.setCursor(5, 55);
u8g2.print("Version ");
u8g2.print(VERSION);
u8g2.sendBuffer();
delay(1200);
}