Advertisement
Al_Ninyo

DS18B20 and LCD 1602

Oct 12th, 2016
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. #include <OneWire.h>
  2. #include <DallasTemperature.h>
  3. #define ONE_WIRE_BUS 2 // Датчик DS18B20 подключаем к 2 цифровому пину Ардуино
  4. OneWire oneWire(ONE_WIRE_BUS);
  5. DallasTemperature sensors(&oneWire);
  6. DeviceAddress insideThermometer;
  7.  
  8. #include <Wire.h>
  9. #include <LiquidCrystal_I2C.h>
  10.  
  11. LiquidCrystal_I2C lcd(0x3F,20,4); // подключаем экран. У некоторых экранов вместо 0x3F может быть другой адрес. У части моих было 0x27
  12.  
  13. // рисуем символ градуса
  14. byte gradus[8] = {
  15. 0b00110,
  16. 0b01001,
  17. 0b01001,
  18. 0b00110,
  19. 0b00000,
  20. 0b00000,
  21. 0b00000,
  22. 0b00000
  23. };
  24.  
  25. void setup() {
  26. lcd.init(); // включаем экран
  27. lcd.backlight(); // включаем подсветку экрана
  28. lcd.createChar(1, gradus);// создаем символ градуса
  29. sensors.begin(); // включаем датчик
  30. sensors.getAddress(insideThermometer, 0);
  31. sensors.setResolution(insideThermometer, 9); // устанавливаем разрешение датчика в 0.5 градуса
  32. }
  33.  
  34. void loop() {
  35. sensors.requestTemperatures(); // считываем данные с датчика
  36. float tempC = sensors.getTempC(insideThermometer); // переводим в градусы Цельсия полученные данные
  37. // выводим на экран строчку вида Temp = 25.00 °C
  38. lcd.setCursor(0,0);
  39. lcd.print("Temp = ");
  40. lcd.print(tempC);
  41. lcd.write(1);
  42. lcd.print("C");
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement