Эксперимент 40. Цифровой термометр с LCD дисплеем

В прошлом эксперименте мы научились подключать и получать данные из цифрового датчика температуры DS18B20. Добавим функцию вывода температуры на дисплей, чтобы получить функционально законченное устройство — цифровой термометр.

Схема эксперимента

Рисунок 1. Монтажная схема эксперимента

Программный код эксперимента

Exp40.ino
  1. #include <OneWire.h>
  2. #include <DallasTemperature.h>
  3. #include <LCDI2C_Multilingual.h>
  4.  
  5. #define BUS_PIN 12
  6. #define DEFAULT_I2C_ADDR 0x3F // Или 0x27 в зависимости от твоей платы IoT
  7.  
  8. OneWire oneWire(BUS_PIN);
  9. DallasTemperature sensors(&oneWire);
  10. LCDI2C_Generic lcd(DEFAULT_I2C_ADDR, 16, 2);
  11.  
  12. void setup() {
  13. sensors.begin();
  14. lcd.init();
  15. lcd.setBacklight(0);
  16. }
  17.  
  18. void loop() {
  19. sensors.requestTemperatures();
  20. float tempC = sensors.getTempCByIndex(0);
  21. lcd.clear();
  22. lcd.print("Temp ");
  23. lcd.print(tempC, 2);
  24. delay(1000);
  25. }