Hirdetés

Új hozzászólás Aktív témák

  • Pulsar

    veterán

    Én egy kis python help.
    találtam az adafruit-on egy program kódot, ami kiolvassa a DS18xx hőmérőből az értéket. Egyetlen bajom, hogy a végtelenségig fut, vagy amíg le nem állítom kézzel, és a világért sem tudom megfejteni, hogy hogyan tudnám azt megcsinálni, hogy az első érték után álljon meg.
    A kód:

    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)

Új hozzászólás Aktív témák