資料介紹
通過 C++ Windows 運(yùn)行時組件在 C# 代碼中使用 DHT 溫度傳感器在 Windows 10 和 RPI2 上實(shí)現(xiàn)單線協(xié)議。
背景
DHT11 是一款 4 針(一個針未使用)溫度和濕度傳感器,能夠測量 20% - 90% 的相對濕度和 0 到 50 °C。該傳感器可以在 3 到 5.5V DC 之間運(yùn)行,并使用其自己的專有 OneWire 協(xié)議進(jìn)行通信。該協(xié)議需要非常精確的計(jì)時才能從傳感器獲取數(shù)據(jù)。LOW 和 HIGH 位根據(jù)信號為 HIGH 的時間長度在線路上編碼。讀取讀數(shù)的總時間最多為 23.4 毫秒。這包括啟動數(shù)據(jù)傳輸所需的 18 ms 延遲和長達(dá) 5.4 ms 的數(shù)據(jù)窗口。單個信號可以短至 20 μs,長至 80 μs。
當(dāng) Windows 10 IoT Core 首次可用時,我拿起我的 Raspberry Pi 2 和我的 DHT11 傳感器并在 C# 中進(jìn)行了試用。我很快發(fā)現(xiàn)它行不通。Windows 10 IoT Core 中 C# 的問題在于它的速度不夠快(至少現(xiàn)在不是)。
我創(chuàng)建的庫是對最初由 Microsoft 發(fā)布的代碼的簡單重構(gòu),因此我不認(rèn)為為獲得傳感器讀數(shù)所做的工作。
該庫在名稱空間Sensors.Dht中提供了一個名為Dht11的簡單類。在 C# 中創(chuàng)建一個新對象很簡單。
首先打開連接 DHT11 傳感器引腳的 GPIO 引腳。
然后將此引腳傳遞給Dht11類的構(gòu)造函數(shù)并指定 GPIO 引腳驅(qū)動模式。這使您可以決定是否添加自己的上拉電阻。
要從設(shè)備獲取讀數(shù),請使用GetReadingAsync方法。
存在允許指定最大重試值的重載。默認(rèn)值為 20。這指定在放棄和返回失敗讀數(shù)之前嘗試讀取傳感器的次數(shù)。
該 DhtReading結(jié)構(gòu)被定義為:
TimedOut(如果嘗試讀取超時則為真;否則為假)(如果讀數(shù)校驗(yàn)和正確則為真;否則為假)(以攝氏度為單位的溫度讀數(shù)。DHT11 僅支持整數(shù)值)(以百分比表示的濕度讀數(shù)。DHT11僅支持整數(shù)值)(嘗試讀取傳感器的次數(shù)) IsValidTemperatureHumidityRetryCount
觀察
即使傳感器在 C++ 中工作,它仍然不會每次都得到讀數(shù)。因此,類中需要重試選項(xiàng)(這實(shí)際上是 Microsoft 示例的一部分)。我認(rèn)為最好將其與其他平臺進(jìn)行比較以了解其性能。我在運(yùn)行 Raspbian 的 Raspberry Pi 2 和 Arduino Uno 上嘗試了代碼。我用于兩者的代碼已包含在 GitHub 存儲庫中。
本項(xiàng)目中包含的視頻將演示和比較每個平臺的輸出。
入門
為 Raspberry Pi 2 組裝電路
使用本指南組裝電路,同時使用位于頁面底部附近的圖表作為指南(請注意,電線的顏色是可選的,并且已被選擇以幫助在構(gòu)建電路時易于理解)。
- 將 T 形鞋匠放在半碼+板的左端(數(shù)字從 1 開始)。最左邊的兩個引腳將位于板上的E1和F1 中。最右邊的兩個引腳將在E20和F20
- 在A4和3V3之間放置 4.7K Ω 電阻
- 在B4和F28之間連接橙色公對公跳線?
- 在F29和3V3之間連接一個紅色公對公跳線
- 在F30和GND之間連接黑色公對公跳線
- 將 DHT11 傳感器放入J30 (-)、J29 (+) 和J28 (s)
- 將帶狀電纜插入鞋匠和樹莓派
為 Arduino 組裝電路
使用本指南組裝電路,同時使用位于頁面底部附近的圖表作為指南(請注意,電線的顏色是可選的,并且已被選擇以幫助在構(gòu)建電路時易于理解)。
- 在E12和E13之間放置 4.7K Ω 電阻?
- 在 Arduino 中的D13和Pin 5之間連接白色公對公跳線?
- 在D12和Arduino 中的5V引腳之間連接一個紅色公對公跳線?
- 在 Arduino 上的D11和GND之間將黑色公頭連接到公頭跳線?
- 將 DHT11 傳感器放入 A11 (-)、 ?A12 (+) 和 A13 (s)
- 將 USB 電纜從您的計(jì)算機(jī)插入您的 Arduino
下面是我建造的電路的照片。
啟動 Raspberry Pi 應(yīng)用程序
選擇調(diào)試、ARM 配置和遠(yuǎn)程機(jī)器。現(xiàn)在右鍵單擊該項(xiàng)目,然后選擇屬性,然后單擊調(diào)試標(biāo)記。接下來在遠(yuǎn)程機(jī)器字段中輸入 Raspberry Pi 2 IP 地址,并取消選中使用身份驗(yàn)證。
按F5 。應(yīng)用程序?qū)⒉渴鸬皆O(shè)備上,第一次可能需要幾分鐘時間。
啟動 Arduino 應(yīng)用程序
該項(xiàng)目的草圖在 GitHub 中名為Dht11_Speed的文件中可用。啟動 Arduino IDE 并打開草圖。將草圖上傳到 Arduino ( Ctrl U ) 然后啟動串行監(jiān)視器 ( Ctrl Shift M )
如果您不確定如何執(zhí)行此操作或不熟悉此環(huán)境,下面的視頻將演示如何執(zhí)行此操作。
啟動 Raspbian 應(yīng)用程序
Raspberry Pi 的 C 代碼可在 GitHub 中用于該項(xiàng)目的名為Dht11.c的文件中找到。需要將源代碼復(fù)制到 Raspberry Pi,然后在那里編譯。我喜歡用WinSCP來復(fù)制文件。如果您沒有此應(yīng)用程序,我建議您立即下載并安裝它。源代碼使用wiringPi ,必須在編譯應(yīng)用程序之前安裝它。
在樹莓派上編譯代碼的命令是:
要運(yùn)行應(yīng)用程序,請輸入以下命令:
其中 1000 指定 1000 毫秒(1 秒)的延遲,10 是要讀取的樣本數(shù)。
- 數(shù)字溫濕度傳感器DHT11產(chǎn)品手冊 77次下載
- LCD1602+AS608+DS1302指紋模塊+繼電器+水位檢測模塊+DHT11
- DHT11溫濕度+OLED顯示
- stm32獲取DHT11模塊溫濕度數(shù)據(jù)原理解析
- 溫濕度傳感器DHT11資料匯總 35次下載
- DHT11溫濕度傳感器使用手冊電子版下載 0次下載
- 使用Arduino實(shí)現(xiàn)DHT11溫濕度模塊的程序 22次下載
- 使用51單片機(jī)實(shí)現(xiàn)DHT11溫濕度檢測的代碼程序免費(fèi)下載 136次下載
- 使用51單片機(jī)進(jìn)行DHT11溫濕度檢測然后通過手機(jī)藍(lán)牙APP顯示的資料說明
- 使用STM32的dht11溫濕度檢測通過GSM模塊發(fā)送到手機(jī)的代碼免費(fèi)下載 5次下載
- 溫濕度DHT11資料 27次下載
- DHT11溫濕度檢測報(bào)警器 37次下載
- DHT11采集溫濕度源程序 171次下載
- 控?zé)?b class="flag-6" style="color: red">dht11溫濕度檢測程序 33次下載
- DHT11數(shù)字溫濕度傳感器產(chǎn)品介紹
- DHT11數(shù)字溫濕度傳感器主要參數(shù) 1.4w次閱讀
- 基于STM32的DHT11溫濕度數(shù)據(jù)采集仿真設(shè)計(jì) 1643次閱讀
- 基于STM32大棚DHT11溫濕度監(jiān)測protues仿真設(shè)計(jì) 1658次閱讀
- 溫濕度采集實(shí)驗(yàn) 1227次閱讀
- 【Renesas RA6M4開發(fā)板之DHT11溫濕度讀取】 1495次閱讀
- FPGA在OLED上顯示DHT11數(shù)據(jù) 1607次閱讀
- 基于STM32F103C8T6單片機(jī)的溫室監(jiān)測系統(tǒng)設(shè)計(jì) 3525次閱讀
- 溫濕度傳感器采集報(bào)警系統(tǒng)設(shè)計(jì)方案 1714次閱讀
- dfrobotDHT11溫濕度傳感器簡介 5073次閱讀
- STM32F103試用體驗(yàn):OLED顯示及DHT11溫濕度測量實(shí)驗(yàn) 1.4w次閱讀
- STM32F103試用體驗(yàn):LCD顯示與DHT11測量實(shí)驗(yàn) 1.1w次閱讀
- dht11溫濕度傳感器中文資料(dht11工作原理特性參數(shù)及應(yīng)用電路) 39.2w次閱讀
- 溫濕度傳感器DHT11驅(qū)動程序 5.3w次閱讀
- dht11的工作原理_dht11接線圖 23.5w次閱讀
- 基于arduino的dht11溫濕度傳感器的使用 4.4w次閱讀
下載排行
本周
- 1明緯S-50-24開關(guān)電源電路圖.pdf
- 0.10 MB | 3次下載 | 5 積分
- 2如何正確測試電源的紋波
- 0.36 MB | 2次下載 | 免費(fèi)
- 3Modbus測試工具
- 0.72 MB | 1次下載 | 2 積分
- 4550W充電機(jī)原理圖
- 0.13 MB | 1次下載 | 6 積分
- 5TMS320C54x DSP代數(shù)指令集參考集,第3卷
- 1.09MB | 次下載 | 免費(fèi)
- 6TPS7H4010EVM用戶指南
- 4.02MB | 次下載 | 免費(fèi)
- 7LMR23630DRREVM用戶指南
- 431.44KB | 次下載 | 免費(fèi)
- 8意大利薩頓高頻電刀輸出功率偏小分析與處理
- 0.09 MB | 次下載 | 5 積分
本月
- 1使用單片機(jī)實(shí)現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
- 2.96 MB | 44次下載 | 免費(fèi)
- 2美的電磁爐維修手冊大全
- 1.56 MB | 22次下載 | 5 積分
- 33314A函數(shù)發(fā)生器維修手冊
- 16.30 MB | 13次下載 | 免費(fèi)
- 4使用TL431設(shè)計(jì)電源
- 0.67 MB | 8次下載 | 免費(fèi)
- 5感應(yīng)筆電路圖
- 0.06 MB | 8次下載 | 免費(fèi)
- 6LZC3106G高性能諧振控制器中文手冊
- 1.29 MB | 7次下載 | 1 積分
- 7SMD LED選型手冊 貼片燈珠
- 5.47 MB | 5次下載 | 免費(fèi)
- 8萬用表UT58A原理圖
- 0.09 MB | 4次下載 | 5 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935119次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73807次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65987次下載 | 10 積分
評論
查看更多