Arduino初初教程10——溫溼度傳感器
這裏使用的溫溼度傳感器是
SHT1X溫溼度傳感器
如圖
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()
歡迎關注本站公眾號,獲取更多信息