#include <Wire.h>
#include <OneWire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <DallasTemperature.h>
#define WIDTH_SCREEN 128
#define HEIGHT_SCREEN 64
#define RESET -1
#define TEMP 5
#define BUTT 6
Adafruit_SSD1306 screen(WIDTH_SCREEN, HEIGHT_SCREEN, &Wire, RESET);
OneWire datTEMP(TEMP);
DallasTemperature sensor(&datTEMP);
bool isINVERT = false;
bool lastBUTT = HIGH;
void setup() {
screen.begin(SSD1306_SWITCHCAPVCC, 0x3C);
screen.clearDisplay();
pinMode(BUTT, INPUT_PULLUP);
sensor.begin();
Serial.begin(9600);
}
void loop() {
sensor.requestTemperatures();
float temperature = sensor.getTempCByIndex(0);
bool tekBUTT = digitalRead(BUTT);
if (lastBUTT == HIGH && tekBUTT == LOW) {
isINVERT = !isINVERT;
screen.invertDisplay(isINVERT);
}
lastBUTT = tekBUTT;
screen.clearDisplay();
screen.setTextSize(2);
screen.setTextColor(SSD1306_WHITE);
screen.setCursor(0, 0);
screen.print("Temperature: ");
screen.print(temperature);
screen.display();
delay(300);
}Loading
ds18b20
ds18b20