วันเสาร์ที่ 21 พฤษภาคม พ.ศ. 2559

Raspberry Pi Read Temperature DS18B20 python

Read Temperature DS18B20
การทดลองอ่านค่าอุณหภูมิ ด้วย DS18B20 sensor เพื่อรู้ว่าขณะนี้อุณหภูมิ 
ในที่ๆเราอยู่ตอนนี้ มีอุณหภูมิเป็นตัวเลขกี่องศา
อุปกรณ์
1.DS18B20 Sensor
2.Raspberry Pi Board
3.Resistor 10k

สามารถ ทำได้ตามการทดลองดังนี้

sudo apt-get update
sudo apt-get install python-dev
sudo apt-get install python-rpi.gpio

sudo nano /boot/config.txt

you will see some syntax like this.

dtparam=i2c0=on
dtparam=spi=on
dtparam=is2=on
dtoverlay=w1-gpio

ทำการทดสอบ Sensor เพื่อให้รู้ว่า Sensor ทำงานหรือไม่

sudo modprobe w1-gpio
sudo modprobe w1-therm
cd /sys/bus/w1/devices
ls
cd 28-xxxxxxxxxxxx
ls
cat w1_slave


เขียน code (ชื่อไฟล์).py

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"temperature = " + str(read_temp())
        time.sleep(0.3)


You Will See Result Below on Picture:
อ้างอิงจาก
ds3noob.org
matthewmoisen.com
Share:

0 ความคิดเห็น:

แสดงความคิดเห็น