哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在樹莓派上使用DS18B20來獲取溫度讀數(shù)

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-12-02 15:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概述

Raspbian發(fā)行版包括對DS18B20 1線溫度傳感器的支持。這些傳感器采用晶體管等小的三引腳封裝,是精確的數(shù)字設(shè)備。

在本課程中,您將學(xué)習(xí)如何在Raspberry Pi上使用DS18B20來獲取溫度讀數(shù)。

從Raspberry開始Pi沒有ADC模數(shù)轉(zhuǎn)換器),它不能直接使用TMP36之類的模擬溫度傳感器,這使得DS18B20成為溫度傳感的理想選擇。

硬件

DS18B20晶體管外形尺寸(TO-92)部件和防水有線型號的面包板布局如下所示。我們提供了較舊的20針和現(xiàn)代40針Raspberry Pi連接器的示例。此設(shè)置將適用于已發(fā)布的所有Raspberry Pi型號,但不包含突破接頭的Pi計(jì)算模塊除外。

DS18B20“ 1-wire”傳感器可以并聯(lián)連接-與出售的幾乎所有其他傳感器不同!所有傳感器都應(yīng)共享相同的引腳,但是所有它們只需要一個(gè)4.7K電阻器

電阻器用作數(shù)據(jù)線的“上拉”,并且需要保持?jǐn)?shù)據(jù)傳輸?shù)姆€(wěn)定和快樂

請注意正確選擇DS18B20。彎曲的邊緣應(yīng)位于左側(cè),如下圖所示。如果使用錯(cuò)誤的方法,它將變熱然后破裂。

DS18B20 +都是溫度傳感器,但與TMP36完全不同。您不能在本教程中使用TMP36!

40針(A,B,B +和零)Cobbler Plus原理圖

-Pin(Raspberry Pi版本1和版本2)補(bǔ)鞋匠示意圖

防水40針[黑色]

如果您使用的是DS18B20的防水版本,則該設(shè)備具有三根引線,紅色,黑色和黃色。不需要連接的裸銅屏蔽線。

防水20針[黑色]

高溫防水[白色]

如果使用我們出售的DS18B20的“高溫”版本,將橙色條紋連接到3.3V,白色連接到地面,藍(lán)色條紋是數(shù)據(jù),引腳4。

您仍然需要?4.7K-10K從數(shù)據(jù)到3.3V的電阻

DS18B20

盡管DS18B20看起來像普通的晶體管,但實(shí)際上內(nèi)部有很多東西。

該芯片包括特殊的1有線串行接口以及控制邏輯和溫度傳感器本身。

其輸出引腳發(fā)送數(shù)字消息,而Raspbian包括讀取這些消息的接口。一旦我們在Raspberry Pi上使用“ raspi-config”工具啟用了1-Wire,將在隨后的重啟中加載正確的內(nèi)核模塊。

啟用1-Wire

下載:文件

復(fù)制代碼

sudo raspi-config sudo raspi-config

選擇接口選項(xiàng)

選擇 1-Wire 》

選擇是是是

退出raspi-config并重新啟動(dòng)Pi,以便加載1-wire內(nèi)核模塊。

下載:文件

復(fù)制代碼

sudo reboot sudo reboot

驗(yàn)證是否在下次啟動(dòng)時(shí)加載了1-Wire內(nèi)核模塊。運(yùn)行 lsmod 命令時(shí),您應(yīng)該會(huì)看到類似下面的輸出。

下載:文件

復(fù)制代碼

lsmod | grep -i w1_ lsmod | grep -i w1_

軟件

Python程序處理任何失敗的消息,并每秒報(bào)告攝氏度和華氏溫度。

下載:Project Zip 或 thermometer.py | 在Github上查看

復(fù)制代碼

import glob

import time

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)

import glob

import time

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)

接下來的三行,從中找到文件

下載:文件

復(fù)制代碼

def read_temp_raw():

catdata = subprocess.Popen([‘cat’,device_file], stdout=subprocess.PIPE, stderr=subprocess.PIPE)

out,err = catdata.communicate()

out_decode = out.decode(‘utf-8’)

lines = out_decode.split(‘ ’)

return lines def read_temp_raw():

catdata = subprocess.Popen([‘cat’,device_file], stdout=subprocess.PIPE, stderr=subprocess.PIPE)

out,err = catdata.communicate()

out_decode = out.decode(‘utf-8’)

lines = out_decode.split(‘ ’)

return lines

讀取溫度是通過兩個(gè)函數(shù)進(jìn)行的,read_temp_raw只是從接口獲取消息的兩行。 read_temp函數(shù)會(huì)對此進(jìn)行總結(jié),以檢查是否有錯(cuò)誤消息,然后重試直到收到第一行末尾帶有“ YES”的消息。該函數(shù)返回兩個(gè)值,第一個(gè)為攝氏度,第二個(gè)為華氏。

如果希望將這兩個(gè)值分開,如下例所示:

下載:文件

復(fù)制代碼

deg_c, deg_f = read_temp() deg_c, deg_f = read_temp()

程序的主循環(huán)只是循環(huán),讀取溫度并打印,然后睡眠一秒鐘。

要將程序上傳到Raspberry Pi上,可以使用 SSH連接到Pi ,使用以下行啟動(dòng)編輯器窗口:

下載:文件

復(fù)制代碼

nano thermometer.py nano thermometer.py

,然后粘貼上面的代碼,然后使用CTRL-保存文件x和Y。

配置和測試

該程序必須以超級用戶身份運(yùn)行,因此在終端中鍵入以下命令以啟動(dòng)該程序:

下載:文件

復(fù)制代碼

sudo python thermometer.py sudo python thermometer.py

如果一切順利,您將看到一系列讀數(shù),如下所示:

嘗試將手指放在傳感器上進(jìn)行加熱。

添加更多傳感器

您可以并行添加其他DS18B20傳感器-將所有傳感器的VCC,數(shù)據(jù)和接地引腳連接在一起。使用一個(gè)4.7K電阻。您將看到多個(gè) /sys/bus/w1/ devices/28-nnnnn 目錄,每個(gè)目錄都有唯一的序列號作為目錄名。 python示例代碼現(xiàn)在僅適用于一個(gè)傳感器,因此如果您希望一次從不同的傳感器讀取它,則必須對其進(jìn)行修改
責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • DS18B20
    +關(guān)注

    關(guān)注

    10

    文章

    782

    瀏覽量

    83511
  • 樹莓派
    +關(guān)注

    關(guān)注

    122

    文章

    2082

    瀏覽量

    110756
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    HJ18B20 數(shù)字單總線溫度傳感器

    一、概述 HJ18B20 是一款高精度的單總線溫度測量電路,溫度傳感器的測量范圍-55℃到+125℃。根據(jù)用戶 需要通過配置寄存器可以設(shè)定數(shù)字轉(zhuǎn)化精度和測溫速度。電路內(nèi)置 4byte 非易失性
    發(fā)表于 04-21 14:17

    一文看懂常用傳感器:溫度、光照、氣體全覆蓋

    對照各類傳感器。01溫度傳感器常用型號:DS18B20、LM35、NTC熱敏電阻工作原理:通過電阻或半導(dǎo)體材料隨溫度變化改變電壓或電流接口類型:模擬輸出、數(shù)字接口
    的頭像 發(fā)表于 01-09 19:03 ?1196次閱讀
    一文看懂常用傳感器:<b class='flag-5'>溫度</b>、光照、氣體全覆蓋

    要做一個(gè)DS18B20的讀取程序,單總線需要配置為輸入或者輸出,怎么配置好?

    目前要做一個(gè)DS18B20的讀取程序,單總線需要配置為輸入或者輸出。怎么配置好
    發(fā)表于 11-18 06:30

    使用18b20軟件包報(bào)錯(cuò)怎么解決?

    In file included from ../packages/ds18b20-latest/src/dallas_ds18b20_sensor_v1.c:12:0: C
    發(fā)表于 10-14 06:49

    何在樹莓派上安裝Ubuntu MATE ?

    ,而非GNOME。在本文中,我將介紹如何輕松地在樹莓派上安裝它。UbuntuMATE官方支持樹莓派,因此每發(fā)布一個(gè)新版本,都會(huì)為樹莓派發(fā)布一個(gè)鏡像。該鏡像可刷入S
    的頭像 發(fā)表于 08-12 18:56 ?3455次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>樹莓</b><b class='flag-5'>派上</b>安裝Ubuntu MATE ?

    技能+1!如何在樹莓派上使用C++控制GPIO?

    在使用樹莓派時(shí),你會(huì)發(fā)現(xiàn)Python和Scratch是許多任務(wù)(包括GPIO編程)中最常用的編程語言。但你知道嗎,你也可以使用C++進(jìn)行GPIO編程,而且這樣做還有不少好處。借助WiringPi
    的頭像 發(fā)表于 08-06 15:33 ?4492次閱讀
    技能+1!如<b class='flag-5'>何在</b><b class='flag-5'>樹莓</b><b class='flag-5'>派上</b>使用C++控制GPIO?

    這個(gè)套件讓樹莓派5運(yùn)行幾乎所有YOLO模型!Conda 與 Ultralytics!

    何在樹莓派上設(shè)置YOLO計(jì)算機(jī)視覺?Conda與Ultralytics在本指南中,我們將學(xué)習(xí)如何使用Conda在樹莓派上安裝Ultraly
    的頭像 發(fā)表于 07-31 11:51 ?5865次閱讀
    這個(gè)套件讓<b class='flag-5'>樹莓</b>派5運(yùn)行幾乎所有YOLO模型!Conda 與 Ultralytics!

    初學(xué)者指南:樹莓派上搭建虛擬環(huán)境!

    在這篇簡明扼要的指南中,我們將探討如何在樹莓派上設(shè)置和使用虛擬環(huán)境(或稱為Venv)——包括在終端和Thonny集成開發(fā)環(huán)境中。使用Bookworm操作系統(tǒng)或更高版本時(shí),或在嘗試安裝Python
    的頭像 發(fā)表于 07-27 13:24 ?1174次閱讀
    初學(xué)者指南:<b class='flag-5'>樹莓</b><b class='flag-5'>派上</b>搭建虛擬環(huán)境!

    何在樹莓派上設(shè)置并使用VNC?遠(yuǎn)程訪問完整指南!

    為什么要在樹莓派上使用VNC?使用VNC與樹莓派的主要優(yōu)勢在于其提供的靈活性。我們可以在“無頭模式”(無物理顯示器)下運(yùn)行樹莓派,同時(shí)仍能完全訪問其圖形用戶界面(GUI)。這減少了對額
    的頭像 發(fā)表于 07-26 20:42 ?6161次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>樹莓</b><b class='flag-5'>派上</b>設(shè)置并使用VNC?遠(yuǎn)程訪問完整指南!

    C++ 與 Python:樹莓派上哪種語言更優(yōu)?

    Python是樹莓派上的首選編程語言,我們的大部分教程都使用它。然而,C++在物聯(lián)網(wǎng)項(xiàng)目中同樣廣受歡迎且功能強(qiáng)大。那么,在樹莓派項(xiàng)目中選擇哪種語言更合適呢?Python因其簡潔性、豐富的庫和資源而被
    的頭像 發(fā)表于 07-24 15:32 ?1107次閱讀
    C++ 與 Python:<b class='flag-5'>樹莓</b><b class='flag-5'>派上</b>哪種語言更優(yōu)?

    樹莓派防火墻完整指南:如何在局域網(wǎng)中配置 IPFire ?

    如果你希望在樹莓派上配置IPFire,本指南將提供一種簡單而有效的方法加強(qiáng)你的網(wǎng)絡(luò)安全。在日益互聯(lián)的世界中,保護(hù)家庭或小型辦公室網(wǎng)絡(luò)免受外部威脅至關(guān)重要。一個(gè)有效的解決方案是部署防火墻——一種監(jiān)控
    的頭像 發(fā)表于 07-21 16:34 ?1462次閱讀
    <b class='flag-5'>樹莓</b>派防火墻完整指南:如<b class='flag-5'>何在</b>局域網(wǎng)中配置 IPFire ?

    完整教程:如何在樹莓派上配置防火墻?

    引言防火墻是任何網(wǎng)絡(luò)包括樹莓派網(wǎng)絡(luò)中必不可少的工具。本質(zhì)上,防火墻是內(nèi)部網(wǎng)絡(luò)(如樹莓派網(wǎng)絡(luò))與其他外部網(wǎng)絡(luò)(如互聯(lián)網(wǎng))之間的安全屏障。其主要目的是控制和過濾網(wǎng)絡(luò)流量,根據(jù)預(yù)定義的規(guī)則允許或阻止某些
    的頭像 發(fā)表于 07-07 16:30 ?1332次閱讀
    完整教程:如<b class='flag-5'>何在</b><b class='flag-5'>樹莓</b><b class='flag-5'>派上</b>配置防火墻?

    何在樹莓派上安裝并運(yùn)行 Arduino 集成開發(fā)環(huán)境!

    ,我們將介紹如何在樹莓派上安裝并運(yùn)行ArduinoIDE。所需物品要在樹莓派上運(yùn)行ArduinoIDE,你需要以下組件:配備適當(dāng)電源的
    的頭像 發(fā)表于 07-01 17:41 ?4565次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>樹莓</b><b class='flag-5'>派上</b>安裝并運(yùn)行 Arduino 集成開發(fā)環(huán)境!

    單片機(jī)實(shí)例項(xiàng)目:DS18B20溫度傳感器

    單片機(jī)實(shí)例項(xiàng)目:DS18B20溫度傳感器,推薦下載!
    發(fā)表于 06-03 20:59

    從初學(xué)到進(jìn)階:樹莓派上最適合你的代碼編輯器推薦!

    安裝樹莓派操作系統(tǒng)后,你就可以使用Python、Scratch、Java、C/C++等受Linux支持的多種編程語言進(jìn)行編程了。其中,Python是樹莓派上最受歡迎的編程語言。在樹莓
    的頭像 發(fā)表于 05-15 16:20 ?1401次閱讀
    從初學(xué)到進(jìn)階:<b class='flag-5'>樹莓</b><b class='flag-5'>派上</b>最適合你的代碼編輯器推薦!
    高台县| 菏泽市| 荆州市| 醴陵市| 绍兴市| 河间市| 都江堰市| 博湖县| 兴安县| 明溪县| 阜平县| 洛扎县| 海盐县| 房产| 南华县| 曲阜市| 临西县| 溆浦县| 凤台县| 施甸县| 磐安县| 凯里市| 永康市| 九寨沟县| 都昌县| 商南县| 巢湖市| 开远市| 阳原县| 三门峡市| 麻阳| 洛阳市| 清涧县| 泗洪县| 高要市| 平凉市| 闻喜县| 高淳县| 高要市| 临夏市| 辽宁省|