#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <Adafruit_SSD1306.h>
#include <Wire.h>
#define DHTPIN 4 // Pin yang digunakan untuk sensor DHT22
#define DHTTYPE DHT22 // Jenis sensor DHT (DHT22)
#define NTC_PIN 14 // Pin yang digunakan untuk sensor NTC
#define SERIES_RESISTOR 10000 // Nilai resistor seri NTC
#define NOMINAL_RESISTANCE 10000 // Nilai resistor NTC pada 25°C
#define NOMINAL_TEMPERATURE 24 // Suhu referensi NTC (25°C)
#define B_COEFFICIENT 3950 // Koefisien Beta NTC
DHT dht(DHTPIN, DHTTYPE);
Adafruit_SSD1306 display(128, 64, &Wire, -1);
void setup() {
Serial.begin(115200);
dht.begin();
//display.begin(SSD1306_I2C_ADDRESS, SDA, SCL);
//display.display();
delay(2000);
}
void loop() {
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
float rawADC = analogRead(NTC_PIN);
float resistance = SERIES_RESISTOR / (4095.0 / rawADC - 1.0);
float tempK = 1.0 / (1.0 / (NOMINAL_TEMPERATURE + 273.15) + log(resistance / NOMINAL_RESISTANCE) / B_COEFFICIENT);
float tempC = tempK - 273.15;
Serial.print("Temperature (DHT22): ");
Serial.print(temperature);
Serial.println(" °C");
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.println(" %");
Serial.print("Temperature (NTC): ");
Serial.print(tempC);
Serial.println(" °C");
delay(5000); // Tunggu 5 detik sebelum membaca data lagi
}