環境:Windows 10, Windows 10 Iot Core, Raspberry Pi, Visual Studio 2015
在「使用Raspberry + Arduino,來讀取 DHT22 的溫濕度資訊」中要讀取資料要透過 Arduino ,
本文介紹 使用 Raspberry Pi 2 /Windows IOT Core 讀取 DS18B20 的溫度資訊
之前讀取 DHT11/22 需要使用 micro-second timer ,所以透過 Arduino 來讀取。
如果要讀取 DS18B20 的溫度資訊,則可以透過 UART0 Rx/Tx 去轉讀到 1-Wire 的資訊。
Search 了一下 DS18B20 一支 70 元,測試時,可以放在冰水、熱水來測試,蠻方便的...。
依「1-Wire DS18B20 Sensor on Windows 10 Iot Core/Raspberry Pi 2」的方式,組合起來如下,
在「selomkofori/ds18b20_win10iot」的方案中,DS18B201WireLib 專案的 OneWire Class 負責幫我們透過 OneWire UART0 Rx/Tx 來讀取資料。
而 DS18B20_1WireBus 則是將讀到的 溫度 資訊顯示出來,如下,
我們可以在 Timer_Tick 加入判斷,如果溫度大於某個值,就讓 LED 燈亮起來(我是接在 GPIO 26),如下,
private async void Timer_Tick(object sender, object e)
{
if (!inprog)
{
inprog = true;
tempData.Temperature = await onewire.getTemperature(uartId);
if(tempData.Temperature > 26.0)
{
//大於 26 度,就 亮燈
GpioPinValue alert = tempData.Temperature > 20.0 ? GpioPinValue.Low : GpioPinValue.High;
ledPin.Write(alert);
}
inprog = false;
}
}
註: 特別感謝同事 Wright 的幫忙 ^_^
參考資料
1-Wire DS18B20 Sensor on Windows 10 Iot Core/Raspberry Pi 2
使用Raspberry + Arduino,來讀取 DHT22 的溫濕度資訊
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^