arduino ds18b20溫度傳感器,arduino使用模擬溫度傳感器
chanong
簡(jiǎn)介防水溫度傳感器是一款模擬量輸入模塊,型號(hào)為DS18B20(中間有詳細(xì)視頻講解)。
圖1:DS18B20模擬防水溫度傳感器
1、課前準(zhǔn)備本課請(qǐng)準(zhǔn)備Arduino UNO主板一塊、擴(kuò)展板一塊、防水溫度傳感器一個(gè)、USB方形數(shù)據(jù)線一根、Mixly(Misiqi,V0.998)。
圖2:課前準(zhǔn)備事項(xiàng)及編程軟件
2、模擬防水溫度傳感器簡(jiǎn)介DS18B20防水溫度傳感器支持“單總線”接口(1-Wire),測(cè)量溫度范圍為-55至125,精度為-10至850.5,F(xiàn)場(chǎng)溫度以“單總線”數(shù)字方式直接傳輸,大大提高了系統(tǒng)的抗干擾能力,適合惡劣環(huán)境下的現(xiàn)場(chǎng)測(cè)溫。 Arduino需要連接上拉電阻才能使用。
圖3 終端傳感器適配器
終端傳感器適配器的引入解決了前面提到的上拉電阻問(wèn)題,通過(guò)在AB和AC之間各增加一個(gè)10k的電阻,因此如果傳感器需要上拉或下拉電阻,則額外連接一個(gè)電阻是必要的,可實(shí)現(xiàn)輕松穩(wěn)定的連接。簡(jiǎn)而言之,該端子提供了一種將需要上拉/下拉電阻的開(kāi)關(guān)或模塊連接到Arduino UNO 板等微控制器的簡(jiǎn)單方法。
3. 模擬防水溫度傳感器外形尺寸溫度傳感器
鋼管:6*50mm
引線長(zhǎng)度:1m
終端傳感器適配器
終端傳感器適配器:
尺寸:22x34mm
螺絲安裝孔:M3 2個(gè)
4、模擬防水溫度傳感器電氣特性輸入電壓:DC3~5.5V(直流供電)
溫度檢測(cè)范圍:-55至+125(引線耐熱性最高約85)
轉(zhuǎn)換精度:9位至12位A/D
5、模擬防水溫度傳感器接口說(shuō)明將防水溫度傳感器連接至終端傳感器適配器
請(qǐng)注意色差
黑色負(fù)極連接C
紅色正極連接B
黃色數(shù)字信號(hào)連接A
接下來(lái),將終端傳感器連接到擴(kuò)展板的數(shù)字引腳2或模擬引腳A2(這個(gè)傳感器很特殊)。
這種傳感器非常特殊,可以獲取數(shù)字和模擬格式的溫度值。
黑色減連接G
紅色正極連接V
綠色信號(hào)連接S
注意:正負(fù)極不要接反。否則,傳感器會(huì)燒壞。
6、獲取模擬防水溫度傳感器的返回值由于AS-Block只有LM35溫度傳感器,沒(méi)有集成DS18B20模塊,且該傳感器的代碼相對(duì)重復(fù),所以本課僅使用米思奇進(jìn)行調(diào)試。具體采集方法請(qǐng)點(diǎn)擊“溫度傳感器視頻介紹”觀看視頻。
7、使用模擬防水溫度傳感器的注意事項(xiàng)雖然DS1820具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用接口線路少等優(yōu)點(diǎn),但在實(shí)際應(yīng)用中,還應(yīng)注意以下幾點(diǎn):
1)硬件開(kāi)銷(xiāo)小,需要相對(duì)復(fù)雜的軟件來(lái)補(bǔ)償DS1820與微處理器之間采用串行數(shù)據(jù)傳輸,因此在對(duì)DS1820進(jìn)行讀寫(xiě)編程時(shí),必須嚴(yán)格保證讀寫(xiě)時(shí)序。 讀取溫度測(cè)量結(jié)果。如果使用PL/M或C等高級(jí)語(yǔ)言進(jìn)行系統(tǒng)編程,匯編語(yǔ)言是實(shí)現(xiàn)DS1820操作部分的最佳方式。
2)DS1820相關(guān)信息沒(méi)有提到一條總線上可以連接多少個(gè)DS1820,導(dǎo)致您認(rèn)為可以連接任意數(shù)量的DS1820,但實(shí)際應(yīng)用中并非如此。當(dāng)單條總線上有超過(guò)8 個(gè)DS1820 時(shí),設(shè)計(jì)多點(diǎn)溫度測(cè)量系統(tǒng)時(shí)必須小心,因?yàn)楸仨毥鉀Q微處理器總線驅(qū)動(dòng)程序問(wèn)題。
3) 連接到DS1820 的總線電纜有長(zhǎng)度限制。測(cè)試中,如果使用普通信號(hào)線傳輸距離超過(guò)50m,則讀取的測(cè)溫?cái)?shù)據(jù)會(huì)出現(xiàn)錯(cuò)誤。如果將總線電纜改為雙絞屏蔽電纜,通信距離通常會(huì)達(dá)到150m,但如果使用每米絞數(shù)更多的雙絞屏蔽電纜,通信距離通常會(huì)更長(zhǎng)。這種情況主要是由于總線的分布電容導(dǎo)致信號(hào)波形失真造成的。因此,在使用DS1820設(shè)計(jì)遠(yuǎn)距離溫度測(cè)量系統(tǒng)時(shí),必須仔細(xì)考慮總線分布電容和阻抗匹配問(wèn)題。
4)在設(shè)計(jì)DS1820溫度測(cè)量程序時(shí),向DS1820發(fā)出溫度轉(zhuǎn)換命令后,程序始終等待DS1820的響應(yīng)信號(hào)。如果DS1820連接不好或者斷開(kāi),程序就會(huì)跑出DS1820,沒(méi)有返回信號(hào),程序就會(huì)進(jìn)入死循環(huán)。在設(shè)計(jì)DS1820 的硬件連接和軟件時(shí)也應(yīng)牢記這一點(diǎn)。
我們建議使用屏蔽4 線雙絞線作為溫度測(cè)量電纜。一組線連接地線和信號(hào)線,另一組線連接VCC和地線,屏蔽層一點(diǎn)接地。指向源端。
8. 擴(kuò)展您對(duì)模擬防水溫度傳感器的了解1. onewire(單總線)
Onewire(單總線)是DALLAS公司發(fā)布的一種外設(shè)串行擴(kuò)展總線技術(shù)總線,顧名思義,它使用單根信號(hào)線進(jìn)行通信,既傳輸時(shí)鐘信號(hào)又傳輸數(shù)據(jù),能夠進(jìn)行雙向通信,節(jié)省I/O。它具有線路和資源結(jié)構(gòu)簡(jiǎn)單、成本低、易于總線擴(kuò)容和維護(hù)等優(yōu)點(diǎn)。常用的單總線器件包括穩(wěn)定的傳感器、EEPROM 和獨(dú)特的序列號(hào)芯片,例如DS18B20 和DS2431。
在使用單總線時(shí),很少有CPU提供硬件單總線,大多數(shù)CPU都是根據(jù)單總線標(biāo)準(zhǔn)的時(shí)序圖,通過(guò)常規(guī)的IO翻轉(zhuǎn)模擬來(lái)實(shí)現(xiàn)單總線。模式實(shí)現(xiàn)時(shí)序圖流程需要根據(jù)CPU時(shí)鐘頻率等條件計(jì)算時(shí)序時(shí)間如果更換CPU,則必須重新計(jì)算時(shí)序時(shí)間時(shí)序代碼與設(shè)備外設(shè)控制代碼如果集成,應(yīng)比較代碼變化。或者,如果同一個(gè)CPU需要模擬多個(gè)單總線,傳統(tǒng)的“復(fù)制”方法使程序變得繁瑣,并且占用更多的ROM空間。因此,可以使用“函數(shù)指針”的方式來(lái)抽象時(shí)序部分,達(dá)到“復(fù)用”代碼的效果。
2.上拉電阻、下拉電阻
在數(shù)字邏輯電路中,信號(hào)要么是0,要么是1。這就是數(shù)字電路設(shè)計(jì)簡(jiǎn)單可靠的原因。通常,使用5V(或接近5V)的電壓來(lái)表示導(dǎo)通狀態(tài)。這代表高電平,對(duì)應(yīng)于狀態(tài)1。用0v(或接近0v)的電壓來(lái)表示關(guān)閉狀態(tài)。這代表低電平并對(duì)應(yīng)于狀態(tài)0。有些開(kāi)發(fā)板是基于3,3V的,所以就用3.3V作為高電平。如果線路上的電壓處于不確定狀態(tài)(例如,如果引腳未連接到任何其他電路),則該電壓被稱為浮動(dòng)電壓。它隨著時(shí)間的推移而變化并不斷跳躍。受外部環(huán)境影響。處于這種未定義狀態(tài)的電路被隨機(jī)解釋為高或低。這種現(xiàn)象也稱為電子噪聲。然而,程序必須嚴(yán)格準(zhǔn)確,因此電路設(shè)計(jì)必須避免線路電壓浮動(dòng)。上拉和下拉電阻可以用來(lái)保持電路電壓恒定,這就是上拉和下拉電阻的作用。
下拉電阻的作用是將未知電平下拉至穩(wěn)定的低電平。
上拉電阻的作用是將未知電平拉至穩(wěn)定的高電平。
9. 結(jié)論初始化工作室專(zhuān)注于“樂(lè)高、Scratch、Arduino學(xué)**與創(chuàng)造力、STEAM教育實(shí)踐”。如果您想了解更多相關(guān)課程,請(qǐng)“關(guān)注”我們。








