#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
#define LED_PIN_1 21
#define LED_PIN_2 47
#define LED_PIN_3 48
#define LED_PIN_4 45
#define SENSOR_PIN 7
OneWire oneWire(SENSOR_PIN);
DallasTemperature sensor(&oneWire);
void setup() {
pinMode(LED_PIN_1, OUTPUT);
pinMode(LED_PIN_2, OUTPUT);
pinMode(LED_PIN_3, OUTPUT);
pinMode(LED_PIN_4, OUTPUT);
Serial.begin(9600);
Serial.println("Initializing...");
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.display();
sensor.begin();
delay(1000);
}
void loop() {
sensor.requestTemperatures();
float temperatureC = sensor.getTempCByIndex(0);
Serial.print("Temperature: ");
Serial.print(temperatureC);
Serial.println(" °C");
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0, 20);
display.print("Temp: ");
display.print(temperatureC);
display.println(" C");
display.display();
switchOffAllLEDs();
if (temperatureC <= 10) {
// Tidak melakukan apa-apa
}
else if (temperatureC < 20) {
switchOnLED(LED_PIN_1);
}
else if (temperatureC < 35) {
switchOnLED(LED_PIN_2);
}
else if (temperatureC < 40) {
switchOnLED(LED_PIN_3);
}
else {
switchOnLED(LED_PIN_4);
}
delay(1000);
}
void switchOnLED(int pin) {
digitalWrite(pin, HIGH);
delay(500);
digitalWrite(pin, LOW);
delay(500);
}
void switchOffAllLEDs() {
digitalWrite(LED_PIN_1, LOW);
digitalWrite(LED_PIN_2, LOW);
digitalWrite(LED_PIN_3, LOW);
digitalWrite(LED_PIN_4, LOW);
}
esp:0
esp:1
esp:2
esp:3
esp:4
esp:5
esp:6
esp:7
esp:8
esp:9
esp:10
esp:11
esp:12
esp:13
esp:14
esp:15
esp:16
esp:17
esp:18
esp:19
esp:20
esp:21
esp:35
esp:36
esp:37
esp:38
esp:39
esp:40
esp:41
esp:42
esp:45
esp:46
esp:47
esp:48
esp:3V3.1
esp:3V3.2
esp:RST
esp:5V
esp:GND.1
esp:GND.2
esp:TX
esp:RX
esp:GND.3
esp:GND.4
oled1:GND
oled1:VCC
oled1:SCL
oled1:SDA
led1:A
led1:C
led2:A
led2:C
led3:A
led3:C
led4:A
led4:C
temp1:GND
temp1:DQ
temp1:VCC
r1:1
r1:2