# Biblotheken für Display laden
from time import sleep_ms
from machine import I2C, Pin
from machine_i2c_lcd import I2cLcd
#Bibliotheken für Temperatursensor laden
from ds18x20 import DS18X20
from utime import sleep,sleep_ms
from onewire import OneWire
# Initaialisierung I2C
i2c = I2C(0, sda=Pin(20), scl=Pin(21), freq= 100000)
# Initialisierung LCD über I2C
lcd = I2cLcd(i2c, 0x27, 2 ,16)
# Initialisierung GIPO, OneWire, DS18X20
one_wire_bus = Pin(1)
sensor_ds = DS18X20(OneWire(one_wire_bus))
# One-Wire-Geräte ermitteln
devices = sensor_ds.scan()
print('Found DS Devices', devices)
# Methode für die DS18B20 Messung
def measure():
print('Method measure')
while True:
measure()
# Temperatur messen
sensor_ds.convert_temp()
# Warten: min. 750 ms
sleep_ms(750)
# Sensoren abfragen
for device in devices:
print('Sensor:', device)
value = sensor_ds.read_temp(device)
temp = str(value)
#print(temp, '°C')
# Display-Zeilen ausgeben
lcd.putstr(temp + "\337C")
sleep_ms(3000)
# Display-Inhalt löschen
lcd.clear()
sleep_ms(1000)
#print (zeile_oben)
#print (zeile_unten)*/
# Text in Zeilen
#zeile_oben = 'Temperatur';
#zeile_unten = (sensor_ds.read_temp(device), '°C')
# Position im Display
for zeile in range (0,2):
for spalte in range (0,16):
lcd.move_to(spalte, zeile)
lcd.putstr('.')
sleep_ms(500)
print("Hintergrundlicht aus")
lcd.backlight_off()
sleep_ms(3000)
print("Hintergrundlicht an")
lcd.backlight_on()
sleep_ms(3000)
print("Display aus")
lcd.display_off()
sleep_ms(3000)
print("Display an")
lcd.display_on()
sleep_ms(3000)