[就是要DIY] Arduino版自製JetSOVI舒肥機-1

[前言]

因為自己資訊工作已經N年…加上閒閒沒事(~有嗎~)喜歡東搞搞西搞搞…最近又常在FB不時看到舒肥機的廣告…好奇心Google了一下.. 哇..原來這東西感覺還蠻神奇的..但仔細看一下內容..它基本上就是一個有控溫和計時的電湯匙嘛..
又看到另一個台灣團隊也做出了一台直接把大同電鍋變成舒肥機的東西..又仔細看了一下..咦..只是電湯匙變成大同電鍋而已..

那..大家的價格為什麼都那麼的貴呢? 於是有了DIY的念頭…

翻翻文章..Google一下.. 其實DIY的人很多… 不過大都使用傳統的控溫器再加上幫浦來讓水溫平均, 這裡要對想到要用大同電鍋來加熱的團隊掌聲一下..和電湯匙相比..大同電鍋的加熱更平均..基本上就不用再加幫浦了..

那我也想DIY..但卻不想用傳統的控溫器..感覺線路很雜.. 再加上近年來物聯網很流行..什麼都要上個網..手機操控什麼的..因此決定使用.. Arduino 來做..

說到Arduino, 還真的沒接觸過..只用過它做出來的3D印表機而已.. 但對於電子科+資訊工程出身的我來說..應該不複雜. 又想到1年多前玩空拍機時有買過一塊Arduino Nano版子來串接設定空拍機的OSD, 就在櫃子的深處把它找了出來..

插在麵包板上, 接上PC, 上了Arduino網站下載了 開發IDE環境..測試了一個最簡單的LED一閃一閃的程式..成功..好吧..那就開始了.

[功能]

剛有說過..要做就要做一點不同的..那麼…加個Wifi模組好了..因為我自己有網站..搞不好可以把加熱資訊丟到資料庫以後可以參考..有Wifi就可以用手機連(本來想用藍牙, 但有朋友說..藍牙距離不能太遠..), 有Wifi就可以用網頁控制..酷吧!! 我的煮水器可以用網頁控制開關耶(實用性怎樣不管..有酷就好)

所以我對JetSOVI(你看..連名字都有了..有團隊想加碼投資嗎? 請打下面專線謝謝)的功能要有:

1. 有1個插座可以插電湯匙或大同電鍋, 這個插座可由系統控制開關.
2. 有1條感溫線可以泡在水裡.
3. 有Wifi可以讓手機連上線..或讓JetSOVI連上IP分享器.
4. 可以用APP(當然要自己寫), 網頁(也要自己做..真命苦)來控制, 設定及啟動 JetSOVI.
5. JetSOVI上要有很酷的小型OLED顯示器(比那些大廠只用LED7段要酷的太多了吧!), 有LED燈號, 有嗡鳴器時間到會叫
這樣應該就夠了..
其實還想到要不要把語音加進去, 再加個麥克風模組可以用語音控制, 對它叫.. 阿肥..用55度煮4小時, 超酷的啦, 後來想到自己現階段Arduino只寫過讓LED一閃一閃的程式而已(還不是自己寫, 直接從範例複製貼上再改的). 就放棄了這個酷酷的念頭了.

[開始做]

於是..開始收集零件..這裡買買..那裡買買..網路也買買..也沒花多少錢..就開始學習寫Arduino程式的路程了!!

這個就是塵封已久的 Arduino Nano, USB接頭都生鏽了..XD

剛好手上有紅外線接收器..拿來實驗一下(和舒肥機無關..只是學一下Arduino程式而已)

拿到OLED實際測試了一下…看到顯示出想要的內容還真的蠻激動的, 照片左上方的就是沒有用到的藍牙模組(看來再做一個藍牙版也不錯)

左下角那個Wifi圖樣是用小畫家一點一點畫出來的..

計時和溫度也都測試完成..

系統運作時的畫面..左邊是設定的溫度和時間..右邊則是即時溫度和時間.. 因為溫度測定還蠻吃CPU時間的(會影響TCP Server運作)所以設計用5秒檢查溫度一次..


為了方便用APP或網頁控制.. 也在裡面寫了一個簡單的Web Server, 直接用網址下命令給JetSOVI..

/FUNC/Version/ 會回應機器版本及機器序號

/FUNC/Reset/ 會中止加熱並重置時間, 回應20是代表動作成功

/FUNC/Start/ 開始計時及加熱, 再呼叫一次會暫停時計並停止加熱, 同樣的回應20代表動作完成, 若回應50則代表舒肥程序已結束

/FUNC/Status/ JetSOVI會用JSON格式傳回目前狀態,

依序為 溫度, 時間, 是否加熱中, 是否完成, 是否暫停, 是否進行程序

/FUNC/LinkAP/SSID/密碼/ 把JetSOVI連上無線分享器

/FUNC/MyAP/ 傳回目前已經連上線的IP分享器名稱, 若沒連上線則回應90

/FUNC/MyIP/ 傳回目前JetSOVI 的IP狀態(會有Client/AP 兩個IP), JetSOVI同時有兩種模式,
一種AP模式, 可以讓手機直接連上JetSOVI, 直接操作或作設定使用
另一種Client模式, 可以讓JetSOVI連上IP分享器, 這樣手機可以同時上網也可以操作JetSOVI, 也可以透過網頁來操作JetSOVI
如果沒連上IP分享器的話, 則前面的IP會回應 0.0.0.0 (OLED顯示器上的Wifi圖案也會被畫叉)

/FUNC/Temp/溫度/ 設定目標溫度(25-85), 設定後會直接取代目前目標溫度, 如果程序進行中不會中斷, 成功設定會回應20

/FUNC/Timer/分鐘數/ 設定定時時間, 以分鐘為單位, 設定後機器會重置, 停止程序進行, 成功設定會回應20

設定溫度或時間..如果不加後面的溫度或分鐘數..則會傳回目前JetSOVI的目標溫度和定時時間

當然為了方便使用起見..用簡單的MIT Appinventor2寫了一個可以操作的APP.


當然..也用萬用板先焊了一張初號機.

.

剛好有個小電鍋..接上去後..用蛋來測試一下.. 設定63度45分鐘.

結果令人滿意啊..那個蛋白吃起來就像奶油一樣入口即化..

蛋黃香而滑順…(不過我覺得63度高了點..下次改用60度試看看)

目前程式還在優化中…加熱的邏輯也還在修改當中..希望可以更完美..

但我想有了它之後..套個時事梗…我想一切都會變好的…

本來只是肥..會變成好肥..


[相關連結]

[就是要DIY] Arduino版自製JetSOVI舒肥機-2
[就是要DIY] Arduino版自製JetSOVI舒肥機-3
[就是要DIY] Arduino版自製JetSOVI舒肥機-4
[就是要DIY] Arduino版自製JetSOVI舒肥機-5

JetSOVI舒肥機蝦皮賣場