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

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

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

如何使用DS18B20制作辦公室溫度計(jì)

454398 ? 來(lái)源:wv ? 2019-08-30 10:28 ? 次閱讀

步驟1:需要的硬件

DS18B20溫度傳感器

重力:帶有RGB背光顯示的I2C 16x2 Arduino LCD

DFRduino UNO R3(類(lèi)似于Arduino UNO)

重力:Arduino V7.1的IO擴(kuò)展屏蔽

步驟2:零件圖

步驟3:電路連接圖

步驟4:操作結(jié)果

當(dāng)室溫低于25°C時(shí),屏幕顯示綠色。這個(gè)溫度是否適合人們?

當(dāng)室溫超過(guò)25°C且低于30°C時(shí),屏幕顯示黃色。顏色表明溫度升高,現(xiàn)在可以使用風(fēng)扇。

當(dāng)室溫超過(guò)30°C時(shí),屏幕顯示紅色。風(fēng)扇對(duì)于如此炎熱的變暖沒(méi)有任何意義,只有空氣條件才能幫助你在夏天生存。我用3D打印機(jī)做了一個(gè)外殼,以保護(hù)和美化內(nèi)部零件。

步驟5:3D裝配圖

第6步:3D草圖設(shè)計(jì)

第7步:裝配圖像

如果你對(duì)此項(xiàng)目感興趣,您可以在最后一頁(yè)下載3D打印文件。你也可以設(shè)計(jì)自己的私人外殼。關(guān)于編程,你也可以添加時(shí)間顯示功能。所以它可以是溫度計(jì)和時(shí)鐘的組合。您的想法將不勝感激。

第8步:代碼

#include

#include

#include “DFRobot_RGBLCD.h”

int DS18S20_Pin = 2; //DS18S20 Signal pin on digital 2

DFRobot_RGBLCD lcd(16,2); //16 characters and 2 lines of show

//Temperature chip i/o

OneWire ds(DS18S20_Pin); // on digital pin 2

void setup(void)

{

Serial.begin(9600);

lcd.init();

lcd.setRGB(0, 255, 0);

lcd.setCursor(1, 0 );

lcd.print(“Tep: ”);

}

void loop(void)

{

float temperature = getTemp();

delay(1000);

lcd.setCursor(5,0);

lcd.print(temperature);

if(temperature《25)

{

lcd.setRGB(0, 255, 0);

}

else if (temperature《30)

{

lcd.setRGB(255, 215, 0);

}

else

{

lcd.setRGB(255, 0, 0);

}

lcd.setCursor(10, 0 );

lcd.write(0xdf); //display°

lcd.print(‘C’);

delay(100);

delay(100); //just here to slow down the output so it is easier to read

}

float getTemp()

{

//returns the temperature from one DS18S20 in DEG Celsius

byte data[12];

byte addr[8];

if ( !ds.search(addr)) {

//no more sensors on chain, reset search

ds.reset_search();

return -1000;

}

ds.reset();

ds.select(addr);

ds.write(0x44,1); // start conversion, with parasite power on at the end

byte present = ds.reset();

ds.select(addr);

ds.write(0xBE); // Read Scratchpad

for (int i = 0; i 《 9; i++) { // we need 9 bytes

data[i] = ds.read();

}

ds.reset_search();

byte MSB = data[1];

byte LSB = data[0];

float tempRead = ((MSB 《《 8) | LSB); //using two‘s compliment

float TemperatureSum = tempRead / 16;

return TemperatureSum;

}

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

    關(guān)注

    10

    文章

    779

    瀏覽量

    80943
  • 溫度計(jì)
    +關(guān)注

    關(guān)注

    6

    文章

    405

    瀏覽量

    78493
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    《DNESP32S3使用指南-IDF版_V1.6》第二十九章 DS18B20實(shí)驗(yàn)

    第二十九章 DS18B20實(shí)驗(yàn) 本章,我們將介紹ESP32-S3如何讀取外部溫度傳感器的溫度,來(lái)得到較為準(zhǔn)確的環(huán)境溫度。我們將學(xué)習(xí)單總線(xiàn)技術(shù),通過(guò)它來(lái)實(shí)現(xiàn)ESP32-S3和外部
    發(fā)表于 12-25 09:43

    CW32模塊使用 DS18B20溫度傳感器

    DS18B20數(shù)字溫度傳感器提供9位至12位精度的溫度測(cè)量,并具有非易失性用戶(hù)可編程上下觸發(fā)點(diǎn)報(bào)警功能。DS18B20通過(guò)單總線(xiàn)通信,根據(jù)定義,只需要一條數(shù)據(jù)線(xiàn)(和地線(xiàn))即可與單片機(jī)通
    的頭像 發(fā)表于 11-26 17:47 ?275次閱讀
    CW32模塊使用 <b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b>傳感器

    DS18B20溫度傳感器的工作原理和硬件設(shè)計(jì)

    通過(guò)本文可以了解DS18B20溫度傳感器工作原理、硬件設(shè)計(jì)、DS18B20單總線(xiàn)接口驅(qū)動(dòng)編寫(xiě)。
    的頭像 發(fā)表于 10-24 14:38 ?2854次閱讀
    <b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b>傳感器的工作原理和硬件設(shè)計(jì)

    ds18b20傳感器的使用方法

    DS18B20是一種廣泛使用的數(shù)字溫度傳感器,它基于1-Wire(單總線(xiàn))通信協(xié)議。這種傳感器因其高精度、易用性和低成本而受到歡迎。 DS18B20傳感器簡(jiǎn)介 DS18B20是由Max
    的頭像 發(fā)表于 10-18 14:52 ?949次閱讀

    ds18b20溫度傳感器怎么接線(xiàn)

    DS18B20是一種廣泛使用的數(shù)字溫度傳感器,它基于1-Wire(一線(xiàn))通信協(xié)議工作。這種傳感器因其高精度、易用性和低成本而受到歡迎。 DS18B20傳感器引腳介紹 DS18B20有三
    的頭像 發(fā)表于 10-18 14:50 ?1609次閱讀

    ds18b20溫度傳感器如何使用

    DS18B20是一款廣泛使用的數(shù)字溫度傳感器,它具有高精度、低功耗和易于使用的特點(diǎn)。 DS18B20溫度傳感器簡(jiǎn)介 DS18B20是由Max
    的頭像 發(fā)表于 09-03 16:51 ?721次閱讀

    ds18b20溫度傳感器是什么類(lèi)型

    DS18B20溫度傳感器是一種數(shù)字溫度傳感器,它屬于單總線(xiàn)(One-Wire)數(shù)字溫度傳感器類(lèi)型。這意味著它僅需要一根數(shù)據(jù)線(xiàn)(加上電源線(xiàn)和地線(xiàn),共三根線(xiàn))就能與微處理器或其他數(shù)字電路進(jìn)
    的頭像 發(fā)表于 09-03 16:46 ?1118次閱讀

    ds18b20溫度傳感器和dht11的區(qū)別

    DS18B20和DHT11都是常用的溫度和濕度傳感器,它們?cè)谠S多項(xiàng)目和應(yīng)用中都有廣泛的應(yīng)用。 1. 工作原理 DS18B20 DS18B20是一種數(shù)字
    的頭像 發(fā)表于 09-03 16:44 ?1858次閱讀

    STC32和STC8H驅(qū)動(dòng)DS18B20測(cè)溫串口發(fā)送數(shù)據(jù)

    STC32G12K128 和 STC8H8K64U 驅(qū)動(dòng) DS18B20 模塊,采集環(huán)境溫度并通過(guò)串口發(fā)送數(shù)據(jù)至電腦
    的頭像 發(fā)表于 06-27 16:27 ?930次閱讀
    STC32和STC8H驅(qū)動(dòng)<b class='flag-5'>DS18B20</b>測(cè)溫串口發(fā)送數(shù)據(jù)

    基于51單片機(jī)煙霧及DS18B20溫度檢測(cè)設(shè)計(jì)

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機(jī)煙霧及DS18B20溫度檢測(cè)設(shè)計(jì)包含了電路圖源文件(Altiumdesigner軟件打開(kāi))、C語(yǔ)言程序源代碼(keil軟件打開(kāi))、元件清單(excel
    發(fā)表于 06-27 11:33 ?0次下載

    基于51單片機(jī)DS18B20溫度采集1602液晶顯示報(bào)警設(shè)計(jì)

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機(jī)DS18B20溫度采集1602液晶顯示報(bào)警設(shè)計(jì)包含了電路圖源文件(Altiumdesigner軟件打開(kāi))、C語(yǔ)言程序源代碼(keil軟件打開(kāi))、元件
    發(fā)表于 06-25 10:16 ?0次下載

    DS18B20溫度傳感器工作原理

    ,DS18B20以其獨(dú)特的工作原理、卓越的技術(shù)參數(shù)和廣泛的應(yīng)用場(chǎng)景,成為了市場(chǎng)的明星產(chǎn)品。 深入了解DS18B20的工作原理 DS18B20溫度傳感器的工作原理基于熱敏電阻的特性和數(shù)字
    的頭像 發(fā)表于 06-19 16:01 ?1357次閱讀

    基于STC8H8K64U和DS18B20溫度采集和LabVIEW上位機(jī)顯示

    之前通過(guò) STC 單片機(jī)和 DS18B20 實(shí)現(xiàn)了環(huán)境溫度采集并串口顯示,后面進(jìn)一步想要實(shí)現(xiàn)溫度的實(shí)時(shí)監(jiān)測(cè)和數(shù)據(jù)記錄保存,因此編寫(xiě)了 LabVIEW 程序,修改了部分單片機(jī)程序代碼。經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證
    發(fā)表于 04-08 12:28

    DS18B20溫度傳感器的優(yōu)缺點(diǎn)

    可編程寄存器:DS18B20內(nèi)部具有可編程寄存器,允許用戶(hù)對(duì)其進(jìn)行配置和控制,以滿(mǎn)足不同的應(yīng)用需求。
    發(fā)表于 04-04 11:39 ?4619次閱讀

    基于51單片機(jī)的多點(diǎn)溫度檢測(cè)網(wǎng)絡(luò),DS18B20傳感器,代碼,仿真,原理圖等資料

    設(shè)計(jì)概述 基于DS18B20的多點(diǎn)溫度測(cè)量監(jiān)控系統(tǒng)設(shè)計(jì),以AT89C52單片機(jī)作為主控制器,不斷循環(huán)讀取4組DS18B20(T1、T2、T3和T4)溫度數(shù)據(jù),同時(shí)使用LCD1602液晶
    發(fā)表于 03-24 22:08