From 95e8c4a17d763d5e7f2f2c8f56933a4520b51e4f Mon Sep 17 00:00:00 2001 From: Mikey Sklar Date: Fri, 3 May 2019 16:07:13 -0600 Subject: [PATCH] original code runs with old python --- .../README.md | 4 +++ .../thermometer.py | 33 +++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 Raspberry_Pi_DS18B20_Temperature_Sensing/README.md create mode 100644 Raspberry_Pi_DS18B20_Temperature_Sensing/thermometer.py diff --git a/Raspberry_Pi_DS18B20_Temperature_Sensing/README.md b/Raspberry_Pi_DS18B20_Temperature_Sensing/README.md new file mode 100644 index 000000000..83b88c5d1 --- /dev/null +++ b/Raspberry_Pi_DS18B20_Temperature_Sensing/README.md @@ -0,0 +1,4 @@ +# Raspberry_Pi_DS18B20_Temperature_Sensing + +Code to accompany this tutorial: +https://learn.adafruit.com/adafruits-raspberry-pi-lesson-11-ds18b20-temperature-sensing diff --git a/Raspberry_Pi_DS18B20_Temperature_Sensing/thermometer.py b/Raspberry_Pi_DS18B20_Temperature_Sensing/thermometer.py new file mode 100644 index 000000000..f594fca34 --- /dev/null +++ b/Raspberry_Pi_DS18B20_Temperature_Sensing/thermometer.py @@ -0,0 +1,33 @@ +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) +