#include <OneWire.h>
#include <DallasTemperature.h>
// Задаем пин для данных от датчиков
#define ONE_WIRE_BUS 2
// Определяем адреса датчиков на шине 1-Wire
// (введите здесь адреса ваших датчиков)
DeviceAddress sensor1 = {0x28, 0x16, 0x05, 0xE3, 0xF1, 0xA0};
DeviceAddress sensor2 = {0xC5, 0xB9, 0xD0, 0xC7, 0x68, 0x3B};
DeviceAddress sensor3 = {0xD5, 0xEE, 0xFF, 0xBB, 0xCB, 0x43};
// Создаем объект для работы с шиной 1-Wire
OneWire oneWire(ONE_WIRE_BUS);
Продолжи
// Инициализируем библиотеку для работы с DS18B20
DallasTemperature sensors(&oneWire);
void setup() {
// Инициализация LCD дисплея
Wire.begin();
Serial.begin(9600);
Serial.println(“DS18B20 Temperature Sensor Test”);
sensors.setResolution(sensor1, 10); // Устанавливаем разрешение датчика
sensors.setResolution(sensor2, 10);
sensors.setResolution(sensor3, 10);
}
void loop() {
float temp1 = 0;
float temp2 = 0;
float temp3 = 0;
if (sensors.requestTemperatures()) {
temp1 = sensors.getTempCByIndex(0); // Считываем температуру с первого датчика
temp2 = sensors.getTempCByIndex(1); // Считываем температуру со второго датчика
temp3 = sensors.getTempCByIndex(2); // Считываем температуру с третьего датчика
}
Продолжи
float averageTemp = (temp1 + temp2 + temp3) / 3; // Вычисляем среднее значение
// Вывод на LCD дисплей
lcd.clear();
lcd.print(“Temp:”);
lcd.setCursor(0,1);
lcd.print(averageTemp);
delay(5000); // Задержка для наглядности
}