Тема: Модернизация скетча DS18B20 (Arduino)
На сайте http://rcl-radio.ru/?p=45886 очень понравился скетч на два термодатчика с выводом на индикатор LCD 1602 .
Что сделал я , подключил к Уно два индикатора по шине айтуси , предварительно на задней стороне которых заперемычил площадки, дабы адреса разные были при сканировании, подключил дополнительно еще два датчика DS18B20. Программу естественно переделал методом копипаста. Вкючил и работает!!! Самолеты могут садиться в тумане !)
Вот скетч.
#include <OneWire.h>
#include <DallasTemperature.h>
OneWire oneWire(A0);// вход для датчиков 18b20
DallasTemperature t(&oneWire);
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd (0x26, 16, 2); //объявляем первый экран
LiquidCrystal_I2C lcd2(0x25, 16, 2); //объявляем второй экран
void setup() {
lcd.init(); // инициалищируем первый экран
lcd2.init(); // инициалищируем второй экран
lcd.backlight(); //подсвктка первого экрана
lcd2.backlight(); //подсвктка второго экрана
t.begin();
}
void loop() {
t.requestTemperatures();
lcd.setCursor(1,0);lcd.print("t1 = ");
lcd.print(t.getTempCByIndex(0)); // датчик № 1
lcd.print(char(223)); lcd.print("C");
lcd.setCursor(1,1);lcd.print("t2 = ");
lcd.print(t.getTempCByIndex(1)); // датчик № 2
lcd.print(char(223)); lcd.print("C");
lcd2.setCursor(1,0);lcd2.print("t3 = ");
lcd2.print(t.getTempCByIndex(2)); // датчик № 3
lcd2.print(char(223)); lcd2.print("C");
lcd2.setCursor(1,1);lcd2.print("t4 = ");
lcd2.print(t.getTempCByIndex(3)); // датчик № 4
lcd2.print(char(223)); lcd2.print("C");
delay(1000);
}