久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> STM32 >> 瀏覽文章

使用DS18B20溫度傳感器采集溫度

作者:未知   來源:會員上傳   點擊數:  更新時間:2014年05月20日   【字體:

  Rainbow開發(fā)包中已經封裝了DTH11溫濕度傳感器,按照我的想法,同類型的傳感器有了一種就可以了,本不想做DS18B20的封裝,但是前兩天有個朋友讓我給他做個項目,需要測液體的溫度,用DHT11個頭太大,主要用于測室溫,而DS18B20有用于測量液體溫度的封裝,非常方便使用。迫于無奈,今天就花了半天時間做了個小小的封裝,在Rainbow開發(fā)板上通過了測試。

 
    使用DS18B20非常簡單,和DHT11差不多,按照下列步驟:
    1、定義DS18B20對象,設定DS18B20的DQ數據線所使用的GPIO,如:DS18B20 ds(PC1);
    2、調用read()方法進行溫度采集,如果返回DS18B20::OK,表示采集成功,其它值表示失敗
    3、采集成功之后就可以使用對象的getCelsius()和getFahrenheit()分別獲取到攝氏溫度和華氏溫度
 
    我這次試驗選用了PC3與DS18B20的DQ管腳相連,這個管腳是用于DHT11數據采集,帶有一個4.7K上拉電阻,電路原理圖和實際接線圖如下:
 
    在軟件包的“Projects\DS18B20”文件夾包含了本文的完整工程,可以直接編譯、燒寫和調試。來看看main.cpp的代碼:
#include "WProgram.h"
#include "DS18B20.h"
 
//接到DHT11_DATA_PIN,通過4.7K電阻上拉
DS18B20 ds(DHT11_DATA_PIN);
 
void setup()
{
  //啟用默認串口,波特率9600
  Serial.start();
}
 
void loop()
{
  //數據采集成功
  if(ds.read() == DS18B20::OK)
  {
    Serial.print("Celsius:");
    Serial.println(ds.getCelsius());
    Serial.print("Fahrenheit:");
    Serial.println(ds.getFahrenheit());
    delay(5000);
  }
}
 
int main(void)
{
  //初始化開發(fā)板
  boardInit();
  setup();
 
  while(1) loop();
}
 
    程序非常簡單,就不再啰嗦,將USART3和USB-TTL模塊連接,在串口調試工具中可以看到運行效果:
關閉窗口
主站蜘蛛池模板: 亚洲第一天堂无码专区 | 亚洲毛片网站 | 久久精品无码一区二区三区 | 天天操天天射综合网 | 日本久久久影视 | 久久精品一区二区三区四区 | 日韩中文字幕一区二区 | 国产一区欧美 | 中文字幕日韩欧美 | www.一级片 | www.日本精品 | 国产日韩一区二区三区 | 免费观看羞羞视频网站 | 久久免费精品 | 中文字幕亚洲免费 | 日韩成人在线播放 | 欧美大片一区 | 日本午夜网站 | 91在线电影 | caoporn免费在线视频 | 99精品久久久国产一区二区三 | 精品国产一区二区国模嫣然 | 99色视频| 福利片在线观看 | 91视频网 | 亚洲高清电影 | 99久久精品免费看国产四区 | 国产美女一区二区 | 国产激情91久久精品导航 | 涩涩视频在线观看 | 久久躁日日躁aaaaxxxx | 精品视频免费 | 欧美视频一区二区三区 | 国产精品精品视频一区二区三区 | 欧美日韩一区二区视频在线观看 | 国产精品久久久久久中文字 | 久久免费精品 | 黄色一级特级片 | 日本天堂视频在线观看 | 嫩草懂你的影院入口 | www.日韩 |