相關(guān)商品

























【產(chǎn)品評測】DS18B20溫度傳感器與Raspberry Pi控制器
編輯:neil2017-10-12 瀏覽次數(shù):1229
DS18B20 單線數(shù)字溫度傳感器,采用單總線的接口方式 與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與 DS18B20 的雙向通訊。DS18B20 具有體積更小、適用電壓寬、更經(jīng)濟、可選更小的封裝方式,更寬的電壓適用范圍,適合于構(gòu)建自己的經(jīng)濟的測溫系統(tǒng),因此現(xiàn)在使用的越來越廣泛。樹莓派3代控制器(Raspberry Pi 3)是目前很流行的一款開源嵌入式控制器,它板載wifi和藍牙,擴展 40 個 GPIO 接口,可以連接傳感器等設備,制作物聯(lián)網(wǎng)設備。那么樹莓派3代控制器與DS18B20如何結(jié)合使用呢?要如何配合樹莓派3的系統(tǒng)呢?這里就給大家介紹一下DS18B20溫度傳感器與Raspberry Pi 3控制器結(jié)合使用的方法。
首先我們需要準備需要使用的硬件,并啟動樹莓派3控制器
● 使用硬件
○ Raspberry Pi 3 觸摸液晶屏版套件
○ 杜邦線
○ DS18B20 溫度傳感器
● 按照下圖進行硬件連接
● 啟動 Raspberry Pi 系統(tǒng),通過 SSH 登陸到樹莓派控制器
○ 登陸方法參考教程:
樹莓派教程第5課——遠程圖形化顯示
http://www.makerspace.cn/forum.php?mod=viewthread&tid=5665&fromuid=10780
(出處: 中國創(chuàng)客空間聯(lián)盟-奧松機器人創(chuàng)客空間-Arduino中國社區(qū))
● 系統(tǒng)配置
○ config 文件修改
(1)使用下面命令,進入 config 文件的編輯狀態(tài)
sudo nano /boot/config.txt

加入語句后使用 Ctrl + X,然后輸入 Y,保存修改內(nèi)容
然后重新啟動樹莓派控制器,命令:sudo reboot

(3)切換到設備目錄,并使用 ls 來查看目錄中的文件夾和文件
命令:
cd /sys/bus/w1/devices
ls
(4)運行以下命令,通過 cd 進入目錄的編號文件夾(如果你有多個傳感器將有多個目錄),通過 ls 來查看文件夾中的內(nèi)容
命令:
cd 28-000007602ffa
ls
(5)使用命令將溫度數(shù)據(jù)顯示在終端
命令:
cat w1_slave
這里出現(xiàn)的數(shù)據(jù)并不是太好,不是我們常用的溫度值,需要使用一些數(shù)學計算來將這個數(shù)據(jù)轉(zhuǎn)換成可識別的溫度數(shù)值,可以編寫 Python 代碼來運行溫度傳感器并且輸出正常的數(shù)據(jù)。
● 使用 python 代碼讀取環(huán)境溫度
* 使用命令:
cd /home/pi/als (這里 als 文件夾是我在 pi 用戶下自己建立的,大家可以自行建立其他名稱的文件夾)
進入 als 目錄:
* 使用 nano 編譯器編寫 python 代碼:
nano DS18B20.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
return temp_c
while True:
print(read_temp())
time.sleep(1)
* 運行代碼:
命令:
sudo python DS18B20.py
效果如圖所示,在終端輸出的為當前環(huán)境的攝氏溫度
創(chuàng)造源創(chuàng)客,創(chuàng)意自奧松
-----------------------------------------------------------------------------------------------------------------------------------
奧松機器人官網(wǎng):www.robotbase.cn
秀創(chuàng)客教學視頻:supermaker.tv
微信號:奧松機器人
京東:alsrobot.jd.com
淘寶:robotbase.taobao.com
QQ群:16816196(討論,解惑)
新浪微博:@奧松機器人基地
用戶評價
暫時還沒有任何用戶評論