顯示具有 Sous Vide 標籤的文章。 顯示所有文章
顯示具有 Sous Vide 標籤的文章。 顯示所有文章

2017年12月6日 星期三

SimpleDs18b20就是這麼簡單!

你看,這就是我釣的魚!


話說老鄭拿著一條魚向朋友炫耀,說是他自己釣回來的!
然而,朋友們都不相信,此時,老鄭的老婆剛好路過,看了一下魚
就說:「這魚確實是老鄭自己釣的!,因為,市場沒這麼小條的魚!」
老鄭:「再小.........也是魚呀!」

沒有張屠夫,還是得吃肉

標準的使用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&gt
//將連接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程式庫下載連結




掌握DS18B20就只要過9塊石 

自己寫程式庫很難嗎?說真的,對一個初學者而言,寫DS18B20真有點難!因為到後來,我才發覺,它的水有點深但還不會太深,摸著石頭過河後,回頭看看,喲!不多,要過DS18B20這條河,就只要過九塊石!想試試嗎?且待下回分曉!。

2017年11月29日 星期三

我吃故我在:我要煮出粉美的牛肉!

喫!是件大事!

吃飯,是人類進化史上最重要的一件事,進化的動力來自於「找吃」。生活於今日,吃飽已不太成問題。好吃到吃好,是人類的新挑戰

極致的牛排,重點在於肉品溫度的掌握

所有的故事,就是從買了幾片比臉大的牛肉開始,查了一下網路資料,依其方式試了幾回煎烤的方式,煎出來的牛排,不錯吃,但不夠好(如煎過頭五分變七分、肉片的厚薄變化導致口感的不均勻)。後來,從料理的科學中得知:極致的牛排,重點在於肉品溫度的掌握
資料來源:料理的科學

美味牛排三要素:內粉、外脆、肉嫩

以目前的技術而言,要真正的掌握肉類成品的溫度,「真空低溫烹調法」是比較適合外行人的方式,達到我心目中極致牛排的三要素:內粉、外脆、肉嫩
●肉粉:是牛排切開面的顏色,以五分熟而言,為牛肉55~60℃熟成區段 所呈現的顏色
●外脆:煎牛排時因高溫(150℃以上)所產生的美納反應,會讓外表呈現焦香、脆爽的口味,為牛排大大的加分
●肉嫩:牛排的水份的保有度越高,其口感越嫩

專用的Sous Vide機


不過想達成此目標,是要有專用的加熱設備,就是Sous Vide機,它可以精確的控制水溫(於±0.1℃),並長時間加熱,且能使用遠端控制。
現有市面之Sous Vide機器(圖片來源:sousvideguy.com)

自已來作一台Sous Vide

不過,這類的機器價格都不便宜,參考一下網路資料,使用Arduino,自已DIY是可行的,整理了一下,初期的想法架構如下:

如圖所示,整個系統是由六塊模組所組合而成
1.溫度感測:使用DS18B20作水溫感測元件
2.控制開關模組:包含控制加熱及水循環系統,使用PID控制
3.溫度設定:含工作溫度、溫度範圍、加熱時間設定等
4.顯示:加熱時間、既時溫度顯示,可能更換成TFT彩色或是觸控等方式
5.SD資料記錄:將資料存入SD卡中,可作事後的資料分析
6.WIFI遠端控制:狀況通知、基本資料的傳輸、遠端關機及溫度控制、提醒等功能

DIY Sous Vide的目標設定

這套系統,預計要具備三項功能:
1.溫控加熱40~80℃(±0.5℃)
2.WIFI遠端控制:高階機器才有
3.數據記錄:一般Sous Vide未提供此功能
第一步,就從Arduino最常用的DS18B20數位溫度感測器開始喲!