Arduino初初教程10——溫溼度傳感器

這裏使用的溫溼度傳感器是 SHT1X溫溼度傳感器
如圖
DFR0066-2-240x240  
SHT1x溫溼度傳感器是瑞士Sensirion公司推出的單片數字溫溼度集成傳感器。採用CMOS過程微加工專利技術(CMOSens technology),確保產品具備極高的可靠性和出色的長期穩定性。該傳感器由1個電容式聚合體測溼元件和1個能隙式測溫元件組成,並與1個14位A/D轉換器以及1個2-wire數字接口在單芯片中無縫結合,使得該產品具備功耗低、反應快、抗干擾能力強等優勢。在對環境溫度與溼度測量要求高的狀況下使用,該產品具備極高的可靠性和出色的穩定性。其技術規格以下:
q所有校準,數字輸出;
q接口簡單(2-wire),響應速度快;
q超低功耗,自動休眠;
q出色的長期穩定性;
q超小體積(表面貼裝);
q溼度範圍0—100%RH,溫度範圍-40℃—128.8℃
q測溼精度±4.5%RH,測溫精度±0.5℃(25℃)
q模塊尺寸:32X17mm
傳感器採用2-wire接口,數字輸出,因此須要佔用兩個數字口
舉個應用的例子:(例子中佔用Arduino的數字口9(接SHT1x溫溼度傳感器的SCK)和數字口10(接SHT1x溫溼度傳感器的DATA))
代碼以下:
#include <SHT1x.h>
#define dataPin  10
#define clockPin 9
//定義SHT1x類的對象sht1x
SHT1x sht1x(dataPin, clockPin);
void setup()
{
Serial.begin(9600);                 // 波特率9600 bps
}
void loop()
{
           float temp_c;                             //定義溫度值變量
           float humidity;                           //定義溼度值變量
           // 讀取溫溼度值
            temp_c =  sht1x.readTemperatureC() ;
            humidity =  sht1x.readHumidity() ;
           //經過串口輸出溫度值
           Serial.print("Temperature: ");
           Serial.print(temp_c);
            //經過串口輸出溼度值
           Serial.print("     Humidity: ");
           Serial.print(humidity);
           Serial.println("%");
           //2秒採樣一次
           delay(2000);
}
///////////////////////////////////////////////////////////////////////////////////////////////////////
須要定義一個 SHT1x的對象 sht1x。
獲取溫度值使用函數   sht1x.readTemperatureC()
獲取溼度值使用函數   sht1x.readHumidity()
另外還能夠直接獲取華式溫度,使用函數   sht1x.readTemperatureF()
相關文章
相關標籤/搜索