Temperature logger
- wyświetlacz - odczyt temepratury - RTC
This commit is contained in:
159
ESP32/TempHumLoggerHomeKit/TempHumLoggerHomeKit.ino
Normal file
159
ESP32/TempHumLoggerHomeKit/TempHumLoggerHomeKit.ino
Normal file
@@ -0,0 +1,159 @@
|
||||
#include <SPI.h>
|
||||
#include <Wire.h>
|
||||
#include <Adafruit_GFX.h>
|
||||
#include <Adafruit_SSD1306.h>
|
||||
#include "DHT.h"
|
||||
#include "RTClib.h"
|
||||
|
||||
#define Version "rtc: 0.7"
|
||||
#define WIRE Wire
|
||||
#define DHTTYPE DHT22
|
||||
#define DHTPIN 4
|
||||
|
||||
Adafruit_SSD1306 display = Adafruit_SSD1306(128, 32, &WIRE);
|
||||
DHT dht(DHTPIN, DHTTYPE);
|
||||
RTC_DS3231 rtc; // Obiekt dla DS3231
|
||||
|
||||
|
||||
float hum;
|
||||
float temp;
|
||||
float heat_idx;
|
||||
|
||||
|
||||
int mins;
|
||||
int secs;
|
||||
int hourss;
|
||||
int dayss;
|
||||
int months;
|
||||
int years;
|
||||
char dateString[21];
|
||||
void setup() {
|
||||
|
||||
Serial.begin(115200);
|
||||
Wire.begin(21, 22);
|
||||
if (!rtc.begin()) {
|
||||
Serial.println("Nie znaleziono DS3231 RTC!");
|
||||
while (1); // Zatrzymaj program, jeśli RTC nie jest dostępny
|
||||
}
|
||||
|
||||
//Ustawianie daty i godziny:
|
||||
// rtc.adjust(DateTime(2025, 2, 10, 20, 35, 30));
|
||||
|
||||
|
||||
|
||||
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // Address 0x3C for 128x32
|
||||
display.setTextSize(1);
|
||||
display.setTextColor(SSD1306_WHITE);
|
||||
display.clearDisplay();
|
||||
display.println("Version:");
|
||||
display.setCursor(0, 8);
|
||||
display.println(Version);
|
||||
display.setCursor(0, 16);
|
||||
display.println("DHT22");
|
||||
display.setCursor(0, 24);
|
||||
display.println("RTC: DS3231");
|
||||
|
||||
display.display();
|
||||
delay(1000);
|
||||
dht.begin();
|
||||
|
||||
|
||||
}
|
||||
|
||||
void loop() {
|
||||
delay(1000);
|
||||
|
||||
|
||||
hum = dht.readHumidity();
|
||||
temp = dht.readTemperature();
|
||||
// Compute heat index in Celsius (isFahreheit = false)
|
||||
heat_idx = dht.computeHeatIndex(temp, hum, false);
|
||||
|
||||
|
||||
//HUM&TEMP
|
||||
//#########################################
|
||||
display.clearDisplay();
|
||||
display.setCursor(0,0);
|
||||
display.println("Hum:");
|
||||
display.setCursor(60,0);
|
||||
display.println(hum);
|
||||
display.setCursor(95,0);
|
||||
display.println("%");
|
||||
|
||||
display.setCursor(0,8);
|
||||
display.println("Temp:");
|
||||
display.setCursor(60,8);
|
||||
display.println(temp);
|
||||
display.setCursor(95,8);
|
||||
display.println("C");
|
||||
|
||||
display.setCursor(0,16);
|
||||
display.println("Temp idx:");
|
||||
display.setCursor(60,16);
|
||||
display.println(heat_idx);
|
||||
display.setCursor(95,16);
|
||||
display.println("C");
|
||||
|
||||
|
||||
//dla indexu: Caution: > 27*C
|
||||
// Extreme Caution: > 32 *C
|
||||
// Danger: > 40 *C
|
||||
// Extreme Danger: > 52 *C
|
||||
//#########################################
|
||||
|
||||
DateTime now = rtc.now();
|
||||
|
||||
Serial.print(now.year(), DEC);
|
||||
Serial.print('/');
|
||||
Serial.print(now.month(), DEC);
|
||||
Serial.print('/');
|
||||
Serial.print(now.day(), DEC);
|
||||
Serial.print(" ");
|
||||
Serial.print(now.hour(), DEC);
|
||||
Serial.print(':');
|
||||
Serial.print(now.minute(), DEC);
|
||||
Serial.print(':');
|
||||
Serial.print(now.second(), DEC);
|
||||
Serial.println();
|
||||
years = now.year();
|
||||
months = now.month();
|
||||
dayss = now.day();
|
||||
hourss = now.hour();
|
||||
mins = now.minute();
|
||||
secs = now.second();
|
||||
|
||||
// display.setCursor(0,24);
|
||||
// display.println(dayss);
|
||||
// display.setCursor(13,24);
|
||||
// display.println("-");
|
||||
//display.setCursor(20,24);
|
||||
//display.println(months);
|
||||
//display.setCursor(31,24);
|
||||
//display.println("-");
|
||||
//display.setCursor(38,24);
|
||||
//display.println(years);
|
||||
//
|
||||
//
|
||||
// display.setCursor(75,24);
|
||||
// display.println(hourss);
|
||||
// display.setCursor(86,24);
|
||||
// display.println(":");
|
||||
// display.setCursor(92,24);
|
||||
// display.println(mins);
|
||||
// display.setCursor(104,24);
|
||||
// display.println(":");
|
||||
// display.setCursor(109,24);
|
||||
// display.println(secs);
|
||||
|
||||
|
||||
sprintf(dateString, "%02d/%02d/%4d %02d:%02d:%02d", now.day(), now.month(), now.year(), now.hour(), now.minute(), now.second());
|
||||
display.setCursor(0,24);
|
||||
display.println(dateString);
|
||||
|
||||
|
||||
display.display();
|
||||
|
||||
yield();
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user