Initial commit

This commit is contained in:
Aurélie Delhaie
2021-12-10 18:44:19 +01:00
commit e196cc3067
2 changed files with 75 additions and 0 deletions

10
README.md Normal file
View File

@@ -0,0 +1,10 @@
# Arduino Temperature/Humidity station
## Components
- OLED Screen SH1106 (128X64)
- DHT22
- a button
## Libraries
- u8g2
- DHT (from https://github.com/markruys/arduino-DHT)

65
arduino_temp_oled.ino Normal file
View File

@@ -0,0 +1,65 @@
#include <Arduino.h>
#include <U8g2lib.h>
#include <Wire.h>
#include <DHT.h>
U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE);
DHT dht;
byte i = 0;
void setup(void) {
u8g2.begin();
u8g2.enableUTF8Print();
u8g2.setFontDirection(0);
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_luRS08_tf); // choose a suitable font
u8g2.drawStr(40,35,"Welcome !");
u8g2.sendBuffer();
pinMode(2, INPUT);
dht.setup(6);
delay(1500);
}
void loop(void) {
if (i > 5) {
u8g2.clearBuffer();
u8g2.sendBuffer();
if (digitalRead(2) == HIGH) {
powerScreen();
}
delay(50);
} else {
u8g2.clearBuffer();
u8g2.drawLine(74, 0, 74, 64);
printTemp();
printHumidity();
u8g2.sendBuffer();
delay(3000);
i++;
}
}
void printTemp() {
u8g2.setFont(u8g2_font_luRS08_tf);
u8g2.drawStr(5,10,"Temp");
u8g2.setFont(u8g2_font_luRS14_tf);
u8g2.setCursor(5, 60);
u8g2.print(dht.getTemperature(),1);
u8g2.print("°C");
}
void printHumidity() {
u8g2.setFont(u8g2_font_luRS08_tf); // choose a suitable font
u8g2.drawStr(80,10,"Humidity");
u8g2.setFont(u8g2_font_logisoso22_tf);
u8g2.setCursor(80, 60);
u8g2.print(int(dht.getHumidity()));
u8g2.print("%");
}
void powerScreen() {
i = 0;
}