你看,這就是我釣的魚!
話說老鄭拿著一條魚向朋友炫耀,說是他自己釣回來的!
然而,朋友們都不相信,此時,老鄭的老婆剛好路過,看了一下魚
就說:「這魚確實是老鄭自己釣的!,因為,市場沒這麼小條的魚!」
老鄭:「再小.........也是魚呀!」
沒有張屠夫,還是得吃肉
標準的使用DS18B20要使用兩個程式庫, OneWire及DallasTemperature,前者是1-Wire通訊協定,後者是此元件的專用程式庫。品牌好且大家使用也沒問題,真是一好三公道,且將DS18B20的功能發揮到完美。不過, 各位有沒有想過,前面的溫度感測器DHT22、DS18B20、MAX6755等,我們最想要的其實就只是溫度值!
正如同,喝咖啡,你可以用這個頂級咖啡機來沖泡,大約18000美元,可以給你極致的美味咖啡!
圖片來源:https://shop.forfivecoffee.com/products/la-marzocco-strada-mp |
也可以用這個越南咖啡壺來沖泡,價格約10元(在越南的價格),也是咖啡!
http://oceanlinktravel.vn/news-travel-guide/cafe-sua-da-thuc-qua-rieng-cua-nguoi-sai-gon.html |
別人寫的出來,很好很強大,是否自己也可以寫一個試試!咱們要的也不多,不用功能齊全(什麼設定位元解析度、一線多元件的)!就設一個小目標:自己寫一個程式庫來就讀取溫度值。
是驢子?是馬?拉出來溜一溜就知道了!
對一個初學Arduino的人來說,這有點挑戰,但也還好,花了一點時間,摸著石頭過河,先參考現有的程式庫,不懂的就找Google、Datasheet,就這樣,一步一腳印的摸著石頭過了河,算是達到自己設定的目標-->程式庫名稱:SimpleDs18b20,功能:讀取DS18B20溫度值。程式庫的限制
【注意:這個程式庫只能於Arduino 1pin 接1個DS18B20的情況下使用】
使用條件:
1、Arduino 1pin 只能接1個DS18B20
2、外接電源模式
在滿足上述條件下,這個程式庫就能(也只能)讀取溫度值
※注意:當接線有問題或是DS18B20故障時,會出現"-127"異常值
STEP-1-零配件清單及接線圖
此圖依序為Datasheet上之外部接線圖、材料清單及零件示意圖此圖為Arduino與DS18B20接線圖及其局部放大,要注意的是DS18B20之接腳的接線:
1- GND 為電源地。
2- DQ 為數位資號輸入/輸出端。
3-VDD 為外接供電電源輸入端。
【注意:我使用的是Pin 7不是Pin 2喲!】
STEP-2- 程式碼說明
SimpleDs18b20既然是Simple,那就是Simple只有一個功能,就是讀取攝氏溫度值(Get Temperature)
所以只有一個函式GetTemperature()
範例程式的第15行:
Serial.println(ds01.GetTemperature());
讀取(GetTemperature)感測器物件(ds01)的溫度值,並將其值印出
STEP-3-程式碼及輸出
// 引用程式庫SimpleDs18b20
#include <SimpleDs18b20.h>
//將連接Pin腳設定於pin 7
uint8_t dq_pin=7;
//建立物件ds01(它是位於pin7的DS18B20)
SimpleDs18b20 ds01(dq_pin);
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print("Ds18B20's Temperature --> ");
// 使用GetTemperature()來讀取溫度值,並顯示
Serial.println(ds01.GetTemperature());
delay(1000);
}
輸出結果
STEP-4-下載/安裝程式庫(SimpleDs18b20)
有興趣的朋友,可以到以下的連結下載試用看看!內含接線圖、範例程式及程式庫!SimpleDs18b20程式庫下載連結
沒有留言:
張貼留言