#include <OneWire.h>
#include <DallasTemperature.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // ширина
#define SCREEN_HEIGHT 64 // высота
Adafruit_SSD1306 display = Adafruit_SSD1306(128, 64, &Wire);
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Адрес экрана и его размер
LiquidCrystal_I2C lcd(0x27, 16, 2);
int photoresistorPin = A0;
int ledPin = 9;
OneWire oneWire(A1);
DallasTemperature DS18B20(&oneWire);
float tempC; // градусы в цельсиях
void setup() {
// oled
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.display();
display.clearDisplay();
Serial.begin(9600);
lcd.init(); // Инициализация дисплея 1602
lcd.backlight(); // Включение подсветки
lcd.setCursor(0, 0);
lcd.print("Temperature: ");
pinMode(ledPin, OUTPUT);
DS18B20.begin();
}
void loop() {
//датчик температуры
DS18B20.requestTemperatures();
tempC = DS18B20.getTempCByIndex(0);
int sensorValue = analogRead(photoresistorPin);
int brightness = map(sensorValue, 0, 1023, 0, 255);
analogWrite(ledPin, brightness);
//дисплей 1602
lcd.setCursor(0, 1);
lcd.setCursor(0, 1);
lcd.print(tempC);
//вывод яркости светодиода на олед
Serial.println(tempC);
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(0,20);
display.print("Brightness: ");
display.println(brightness);
display.display();
delay(100);
}