วิดีโอพรีเซ้นต์งาน:
ก่อนอื่นต้องขอบคุณทีมงาน Arduino ที่ให้โอกาสได้เข้าร่วม Arduino Cloud Games 2022 นะฮะ มันเป็นแรงบันดาลใจชั้นดีให้ผมลงมือสร้าง "ตู้หมักแป้ง" ที่แฟนขอมาเป็นสองปีเต็ม...
บ้านผมความชื้นต่ำมาก การหมักแป้งทำขนมหรือพิซซ่ามันเลยยากตลอด เลยตัดสินใจส่งโปรเจกต์ตู้ควบคุมอุณหภูมิและความชื้นสำหรับหมักแป้งนี้เข้าไป แล้วก็ติดเลือกมาซะด้วย! ดีใจสุดๆ
ภาพรวมโปรเจกต์
"Bakerino" นี่คือการนำ Culinary Environmental Forensics และ IoT-Driven Thermal Orchestration มาปฏิบัติอย่างเคร่งครัดเลยนะฮะ ออกแบบมาสำหรับ #ArduinoCloudGames2022 โดยเฉพาะ หน้าที่ของมันคือสร้างสภาพแวดล้อมที่แม่นยำสำหรับการหมักยีสต์และสตาร์ทเตอร์โดว์ โดยการผสานเซ็นเซอร์วัดสภาพอากาศความแม่นยำสูงกับแอคชูเอเตอร์อัลตราโซนิก Bakerino จะรักษา "สภาพอากาศจิ๋ว" ไว้ในกรอบอุณหภูมิ 30°C พิเศษกว่านั้นคือระบบ Dough-Growth Analytics ที่ใช้การวินิจฉัยด้วยคลื่นอัลตราโซนิก ช่วยให้นักอบขนมสามารถติดตามการขยายตัวของก้อนแป้งแบบเรียลไทม์ผ่าน Arduino IoT Cloud ได้เลย
ลึกลงไปในรายละเอียดทางเทคนิค
แนวคิดหลักคือทำให้ภายในตู้อุ่นขึ้นด้วยสายไฟร้อน (heating cable) ที่วิ่งไปตามด้านหลังของผนังตู้ วัสดุอะลูมิเนียมจะช่วยกระจายความร้อนให้สม่ำเสมอ ในบ้านผมอุณหภูมิไม่เคยเกิน 28 องศา และการหมักแป้งต้องการสูงสุดแค่ 30 องศา เลยยังไม่ต้องมีระบบทำความเย็น แต่ถ้าอยากเพิ่มก็ทำได้นะ ด้วย Peltier และโค้ดอีกนิดหน่อย ส่วนการควบคุมความชื้นผมใช้อุปกรณ์สร้างไอน้ำอัลตราโซนิก (แบบที่เห็นในตะเกียงหินเกลือหรือเครื่องทำความชื้นน่ะ) หาซื้อได้ง่ายตามเน็ต ราคาไม่กี่ยูโร มันใช้คลื่นอัลตราโซนิกทำให้ของเหลวกลายเป็นไอ
- PID-Thermal & Humectant Forensics:
- The Atmospheric Pulse Diagnostics: เพื่อรักษาอุณหภูมิสำคัญสำหรับการหมักที่ $28-30^\circ\text{C}$ ระบบจะทำการตรวจสอบข้อมูลจากเซ็นเซอร์ DHT21 อย่างต่อเนื่อง กลไกควบคุมใช้ Hysteresis-Based Control Loop เพื่อสั่งงานให้สายไฟร้อนทำงานผ่านรีเลย์แรงดันสูง ส่วนการจัดการความชื้นจะดูแลโดยเครื่องสร้างไอน้ำอัลตราโซนิก ซึ่งใช้หลักการ piezoelectric cavitation เปลี่ยนของเหลวให้เป็นละอองฝอย ช่วยควบคุมค่าความชื้นสัมพัทธ์ $(\text{RH%})$ ได้แม่นยำโดยไม่เกิดหยดน้ำเกาะ
- Uniform Heat-Flux Orchestration: สายไฟร้อนจะถูกติดตั้งไว้ด้านหลังผนังอะลูมิเนียมด้านใน คุณสมบัติการนำความร้อนของอะลูมิเนียมช่วยให้การกระจายความร้อนทั่วตู้เป็นไปอย่างสม่ำเสมอ ป้องกันไม่ให้เกิดจุดร้อนเฉพาะที่ซึ่งอาจทำลายยีสต์ได้
- Ultrasonic Expansion Analytics:
- The Dough-Proximity Forensics: เซ็นเซอร์อัลตราโซนิก HC-SR04 จะถูกติดตั้งไว้ที่ด้านบนสุดของตู้เพื่อวัดระยะทาง $(d)$ ไปยังผิวหน้าของก้อนแป้ง เมื่อยืนยันการ "ใส่แป้งเข้าไปแล้ว" ระบบจะบันทึกค่าระยะทางเริ่มต้น $(d_{initial})$ ไว้ ในช่วงเวลา 2-6 ชั่วโมงของการหมัก ระบบวิเคราะห์จะคำนวณอัตราการขยายตัว $(\Delta d)$ และแสดงผลความคืบหน้าเป็นกราฟิกบนหน้าจอ Oplà IoT carrier และแดชบอร์ดบนคลาวด์ให้ดูได้จากที่ไหนก็ได้
ผมยังติดไฟ LED ไว้ด้านหลังเพื่อให้แสงสว่างภายในตู้ จะได้เห็นว่าการหมักเป็นยังไงบ้าง เซ็นเซอร์วัดความชื้นและอุณหภูมิภายในตู้ที่ใช้คือ DHT21
หลังจากใช้เวลาออกแบบในหัวและรอชุด Oplà Kit มาได้สักพัก ผมก็เริ่มลงมือสร้างตู้จริงจัง
วิศวกรรมและการติดตั้ง
หลังจากสร้างกล่องเสร็จ ก็ถึงเวลาจับเดินสาย! เดินสายเซ็นเซอร์ 2 ตัว, สายความร้อน, ไฟ และเครื่องทำไอน้ำอัลตราโซนิก
และสุดท้ายก็เดินสายไปยังแผงควบคุม (carrier) แต่น่าเสียดายที่ปุ่มที่ 3 บนแผงมันพังซะงั้น เลยต้องดัดขา A3 บนบอร์ด Arduino ให้งอออกมาใช้เป็นขา Trigger สำหรับเซ็นเซอร์อัลตราโซนิกแทน ส่วนขา Echo ของเซ็นเซอร์อัลตราโซนิกใช้ขา A5 และเซ็นเซอร์ DHT21 ใช้ขา A6
รีเลย์ 1 ใช้ควบคุมเครื่องทำไอน้ำอัลตราโซนิกที่ใช้ไฟ 24 โวลต์ ส่วนรีเลย์ 2 ใช้ควบคุมรีเลย์อีกตัวนึงที่คุมสายความร้อน เพราะรีเลย์บนแผงควบคุมรับได้แค่ 24V แต่สายความร้อนเราใช้ไฟบ้าน 220V ต้องใช้รีเลย์ใหญ่คุมอีกที ปลอดภัยไว้ก่อนนะน้อง! ส่วนไฟทำงานแยกจากแผงควบคุม มีปุ่มกดของตัวเอง
- ความมั่นคงของระบบและการวินิจฉัย (Diagnostics):
- การเก็บค่ากำหนด (Preferences) แบบ Non-Volatile: เนื่องจาก MKR WiFi 1010 ไม่มี EEPROM แยก เราจึงใช้วิธี Flash-Storage Heuristics คือเก็บค่าที่ผู้ใช้ตั้งไว้ (เช่นภาษา, หน่วยอุณหภูมิ) ลงในส่วนหนึ่งของหน่วยความจำ Flash โดยตรง ทำให้ค่าพวกนี้ไม่หายแม้ไฟดับ
- ความปลอดภัยของระบบแมคคาทรอนิกส์: เพราะสายความร้อนใช้ไฟ 220V เราจึงใช้กลยุทธ์รีเลย์แบบต่อทอด (cascaded relay) รีเลย์กำลังต่ำ (24V) บนแผง Oplà carrier จะทำหน้าที่เป็นสวิตช์สั่งงานให้รีเลย์อุตสาหกรรมกำลังสูงอีกตัวหนึ่งทำงาน สร้างการแยกส่วน (galvanic isolation) ที่แข็งแรงระหว่างไมโครคอนโทรลเลอร์กับโหลดความร้อนแรงดันสูง ป้องกันไม่ให้ไฟ 220V วิ่งย้อนกลับมาทำลายบอร์ด ห้ามช็อตนะตัวนี้!
ไฟติดครั้งแรก! มาดูกันว่ามันจะระเบิดไหม (ล้อเล่นน้าา)
สำหรับส่วนโปรแกรมมิ่ง พี่พยายามเขียนโค้ดให้เป็นแบบพกพา-ขายได้ (Commercial-portable) เลยใส่เมนูให้เลือกภาษาและหน่วยวัดอุณหภูมิเข้าไปด้วย จัดไปวัยรุ่น! แต่ช่วงนั้นงานรุม deadline เกมส์ใกล้เข้ามา เลยทำเมนูกับอินเตอร์เฟซออกมาแบบง่ายๆ ไว้ก่อน เดี๋ยวว่างๆ เดือนหน้าพี่จะกลับมาเพิ่มฟีเจอร์ให้มันแน่นอน...
ตอนพยายามจะเซฟค่าที่ผู้ใช้ตั้งไว้ พี่เจอว่า MKR WiFi 1010 มันไม่มีหน่วยความจำ EEPROM นะเว้ย! แต่ไม่เป็นไร เราย้ายไปใช้ FlashStorage library แทนได้ มันจะไปยืมพื้นที่ Flash memory มาใช้เก็บข้อมูล แม้จะรีเซ็ตบอร์ดแล้วข้อมูลก็ยังอยู่ ไม่หาย!
หลังจากเลือกอุณหภูมิและความชื้นที่ต้องการแล้ว ตู้จะใช้เวลาปรับสภาพจนถึงค่าที่ตั้งไว้ พอพร้อมมันจะถามให้ผู้ใช้ใส่โดว์และกดยืนยัน ห้ามช็อตนะตัวนี้! ตรงนี้แหละที่ตู้จะวัดระยะห่างระหว่างฝากับโดว์ แล้วระหว่างที่โดว์ฟู มันก็จะแสดงให้เห็นว่าโดว์มันโตขึ้นแค่ไหนแล้ว
IoT Telemetry & UX Heuristics (พูดไทยก็คือ ดูข้อมูลจากไกล+ใช้ง่ายมั้ย)
สำหรับส่วน IoT พี่สร้างแดชบอร์ดขึ้นมาให้ผู้ใช้สามารถดูอุณหภูมิและความชื้นจริงๆ (แสดงเป็นกราฟ 2 อันด้วย) รวมถึงเปลี่ยนค่าที่ต้องการและปิดการหมักได้จากระยะไกล
- แดชบอร์ด Arduino IoT Cloud เนี่ย มันเปลี่ยนข้อมูลดิบๆ จากการเซ็นเซอร์ให้กลายเป็นภาพกราฟที่ดูง่ายและควบคุมได้จากที่ไหนก็ได้ โครงการนี้ทำให้เราบังคับกระบวนการหมักโดว์จากที่ไหนในโลกก็ได้ ไม่ว่าจะเป็นการปรับค่าเป้าหมายหรือตรวจสอบสถานะ สู้งานนะน้อง!
สรุป
จบแล้ววว! รู้สึกสนุกมากที่ได้ทำโปรเจกต์นี้ อยากขอบคุณทีม Arduino อีกครั้งที่ให้โอกาสได้มาลุยงาน ขอบคุณทุกคนในดิสคอร์ดที่ช่วยกันแจม และขอบคุณแฟนที่สัญญาจะเลี้ยงพิซซ่าต่อไป... :-D
Bakerino นี่ถือเป็นสุดยอดของ Domestic IoT Engineering เลยนะตัวนี้ ด้วยการเชี่ยวชาญ Thermal Forensics และ Ultrasonic Proximity Diagnostics โปรเจกต์นี้สร้างเครื่องมือทำอาหารระดับโปร ที่เชื่อมระหว่างเทคนิคแบบคราฟต์ดั้งเดิมกับระบบอัตโนมัติสมัยใหม่เข้าด้วยกัน
Leavening Logic: Mastering micro-climates through IoT forensics.