前言
由於我給我弟弟(小學生)買了乙個樹莓派,so,需要乙個例子激發他的興趣(
正文開始--------
dth111.h
/*
2018-02-13 1.0
*/#ifndef __dth111_h__
#define __dth111_h__
#include #include #include typedef struct dth111 dth111;
int getdth111data(int gpio, dth111 *udth111);
#endif //__dth111_h__
dth111.c
#include "dth111.h"
int getdth111data(int gpio, dth111 * udth111)
usleep(80);//延時80微秒
musleep = 300000;
while(digitalread(gpio) == high && musleep--)
//開始接收資料
for (i = 31; i > -1; i--)
musleep = 300000;
gettimeofday(&tv_start, null);//開始計時
while (digitalread(gpio) == high && musleep--)
gettimeofday(&tv_stop, null);//結束計時
if ((tv_stop.tv_sec - tv_start.tv_sec) * 1000000 + (tv_stop.tv_usec - tv_start.tv_usec) > 30) }
//獲取效驗值
for (i = 7; i > -1; i--)
musleep = 300000;
gettimeofday(&tv_start, null);//開始計時
while (digitalread(gpio) == high && musleep--)
gettimeofday(&tv_stop, null);//結束計時
if ((tv_stop.tv_sec - tv_start.tv_sec) * 1000000 + (tv_stop.tv_usec - tv_start.tv_usec) > 30)
} //資料效驗
if (*(((char*)(&data)) + 3) + *(((char*)(&data)) + 2) + *(((char*)(&data)) + 1) + *(((char*)(&data)) + 0) != effective )
//填充資料
udth111->humidity = 1 + *((char *)(&data) + 3);
if (*((char *)(&data)) + 1 >= 10 )else
udth111->temperature = 1 + ((*((char *)(&data) + 1)) * 1.0) + udth111->temperature;
return 0;
}
器件選型 溫度感測器
溫度感測器是當今眾多產品應用中最常用的技術之一,比如應用在汽車 白電和工業類產品等中。為了進行可靠的溫度測量,選擇合適的溫度感測器十分重要。了解不同型別溫度感測器的優缺點有助於在測量前做出正確的選擇。熱電偶 熱敏電阻 ntc ptc 電阻溫度檢測器 rtd 和晶元型溫度感測器是測量中最常見的型別,它...
Arduino使用模擬溫度感測器
這也是37款感測器套件中的一款,感測器的樣式如下圖所示 測試 如下 用的就是商家資料中提供的 includedouble thermister int rawadc void setup void loop 本身比較簡單,應該沒有什麼問題,但是實際串列埠監視器中輸出的資料卻沒有變化,一直都是如下的資...
溫度感測器 熱電偶
什麼叫熱電偶?這就要從熱電偶測溫原理說起,熱電偶是一種感溫元件,是一次儀表,它直接測量溫度,並把溫度訊號轉換成熱電動勢訊號,通過電氣儀表 二次儀表 轉換成被測介質的溫度。熱電偶測溫的基本原理是兩種不同成份的材質導體 稱為熱電偶絲材或熱電極 組成閉合迴路,當接合點兩端的溫度不同,存在溫度梯度時,迴路中...