В прошлом эксперименте мы научились подключать и получать данные из цифрового датчика температуры DS18B20. Добавим функцию вывода температуры на дисплей, чтобы получить функционально законченное устройство — цифровой термометр.
import time import onewire import ds18x20 from machine import I2C, Pin from esp8266_i2c_lcd import I2cLcd _init() DEFAULT_I2C_ADDR = 0x3F # Или 0x27 в зависимости от модели микросхемы на плате i2c = I2C(scl=Pin(5), sda=Pin(4), freq=400000) lcd = I2cLcd(i2c, DEFAULT_I2C_ADDR, 2, 16) lcd.backlight_on() def print_lcd(data): lcd.clear() lcd.putstr('Temp: ' + str(data)) ow = onewire.OneWire(Pin(12)) ds = ds18x20.DS18X20(ow) roms = ds.scan() while True: ds.convert_temp() time.sleep(2) for rom in roms: print_lcd(ds.read_temp(rom))