Merhaba, daha önce yayınladığım Raspberry Pi ile I2C LCD modül kullanımı ve DS18B20 ile sıcaklık ölçümü sayfalarını inceleyebilirsiniz. Bu iki projenin birleşimi ile DS18B20 ile ölçtüğünüz sıcaklığı I2C modül ile kullandığınız LCD'de gösterebilirsiniz.
https://kendante.blogspot.com/2020/03/raspberry-pi-i2c-lcd.html
https://kendante.blogspot.com/2020/03/raspberry-pi-veds18b20-ile-sicaklik.html
Örnek Kod:
#LCD----------------------------
import RPi_I2C_driver
mylcd = RPi_I2C_driver.lcd()
#DS18B20------------------------
import os
import glob
import time
os.system('modprobe w1-gpio')
os.system('modprobe w1-therm')
base_dir = '/sys/bus/w1/devices/'
device_folder = glob.glob(base_dir + '28*')[0]
device_file = device_folder + '/w1_slave'
def read_temp_raw():
f = open(device_file, 'r')
lines = f.readlines()
f.close()
return lines
def read_temp():
lines = read_temp_raw()
while lines[0].strip()[-3:] != 'YES':
time.sleep(0.2)
lines = read_temp_raw()
equals_pos = lines[1].find('t=')
if equals_pos != -1:
temp_string = lines[1][equals_pos+2:]
temp_c = float(temp_string) / 1000.0
#temp_f = temp_c * 9.0 / 5.0 + 32.0
return temp_c#, temp_f
while True:
print(read_temp())
time.sleep(1)
mylcd.lcd_display_string("Temp: %.2f" %(read_temp())+ unichr(223) + "C", 1)
mylcd.lcd_display_string("Kendante", 2)
time.sleep(2) # 2 sec delay
Hiç yorum yok:
Yorum Gönder