SHARE
TWEET

DS18B20 and LCD 1602

Al_Ninyo Oct 12th, 2016 99 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top