16 Mart 2020 Pazartesi

Raspberry Pi I2C LCD Sıcaklık Gösterimi DS18B20 ile




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