หน้าแรก ดูโปรเจกต์ทั้งหมด
Easy

โปรเจกต์ IoT - ตู้ฟักไข่

IoT - ตู้ฟักไข่ ผ่าน internet พร้อมการเก็บข้อมูลด้วย service ของ CavyIoT

โปรเจกต์ IoT - ตู้ฟักไข่

รายการอุปกรณ์และเครื่องมือ

1x Humidifier
-
1x 100 w Bulb filament type
-
1x NodeMCU ESP8266 Breakout Board
🛒 สั่งซื้อ
1x DHT11 Temperature & Humidity Sensor (3 pins)
🛒 สั่งซื้อ

รายละเอียดและวิธีทำ

การฟักไข่เป็นหัวข้อที่น่าสนใจในกลุ่มผู้ที่ชื่นชอบ Arduino โดยพื้นฐานแล้ว มันคล้ายกับเครื่องฟักไข่ประเภทที่ใช้แทนแม่ไก่เพื่อฟักไข่ไก่โดยอัตโนมัติ ซึ่งจะเป็นประโยชน์สำหรับเกษตรกรในการฟักไข่ได้โดยอัตโนมัติโดยไม่ต้องใช้คนช่วยดูแล โดยการรักษาค่าทางกายภาพต่างๆ เช่น temperature และ humidity ให้อยู่ในระดับที่ต้องการ เพื่อให้ตัวอ่อนภายในเจริญเติบโตและฟักออกมาได้โดยไม่ต้องมีแม่ไก่คอยดูแล

นอกจากนี้ เครื่องฟักไข่ไม่เพียงแต่จะช่วยเพิ่มผลผลิตสัตว์ปีกได้อย่างมาก แต่ยังช่วยให้มีรายได้อย่างสม่ำเสมอ ทำให้เกษตรกรสามารถเปลี่ยนผ่านไปสู่การเป็นผู้ประกอบการในชนบทได้อีกด้วย

โปรเจกต์นี้ใช้ CavyIoT-DevBoard (firmware) และ CavyIoT platform as a service..

ด้วยความช่วยเหลือจาก Control Panel เราสามารถสั่งการจากที่ไหนก็ได้เพื่อ:

  • Monitor live ข้อมูล Sensor ในรูปแบบ Charts และ Gauges
  • Control การทำงานทั้งหมดของเครื่องฟักไข่
  • Set triggers เพื่อสั่งงานเครื่องฟักไข่แบบอัตโนมัติจากระยะไกล
  • Record การทำงานทั้งหมดของเครื่องฟักไข่เพื่อนำไปวิเคราะห์ต่อ
  • Convert ไฟล์ log เป็นรูปแบบ PDF และ JSON
  • สามารถเลือกโหมดการทำงานแบบ AUTO และ MANUAL ได้

Prerequisite:

  • ลงทะเบียนบัญชีที่เว็บไซต์ผู้พัฒนา CavyIoT
  • ติดตั้ง Board ESP8266 ใน Arduino IDE ของคุณเรียบร้อยแล้ว

หากยังไม่ได้ลงทะเบียน ให้ลงทะเบียนบัญชีของคุณที่ https://www.developers.cavyiot.com ด้วย valid email id ของคุณ ซึ่งไม่มีค่าใช้จ่าย หลังจากลงทะเบียนสำเร็จ ภายใน 5 นาทีคุณจะได้รับรหัสยืนยันอีเมลตามที่อยู่ที่ลงทะเบียนไว้ จากนั้นให้ Login ด้วย username และ password ที่ลงทะเบียนไว้ และทำการยืนยันอีเมลของคุณ เมื่อยืนยันเสร็จแล้ว คุณจะได้รับอุปกรณ์ Demo ฟรีที่มีอายุการใช้งาน 1 เดือน (คุณสามารถดูอุปกรณ์ Demo ได้ในส่วน client area ของคุณ)

หากยังไม่ได้ติดตั้ง Board ESP8266 ใน Arduino IDE ให้ทำตามขั้นตอนนี้ ชุมชน ESP8266 ได้สร้าง add-on สำหรับ Arduino IDE ที่ช่วยให้คุณสามารถเขียนโปรแกรม ESP8266 โดยใช้ Arduino IDE และภาษาโปรแกรมของมันได้ เริ่มโดยเปิด Arduino และไปที่หน้าต่าง Preferences จากนั้นใส่ URL https://arduino.esp8266.com/stable/package_esp8266com_index.json ลงในช่อง Additional Board Manager URLs (คุณสามารถใส่ได้หลาย URL โดยคั่นด้วยเครื่องหมายจุลภาค) จากนั้นเปิด Boards Manager จากเมนู Tools > Board และค้นหา platform esp8266 เลือกเวอร์ชันจาก drop-down box แล้วคลิกปุ่ม install อย่าลืมเลือก Board NodeMCU 1.0 (ESP-12E Module) ของคุณจากเมนู Tools > Board หลังจากการติดตั้งเสร็จสิ้น

//===========================================================

ข้อสำคัญที่สุด:

โปรเจกต์นี้เป็นการ "รับความเสี่ยงด้วยตัวคุณเอง" ความไม่คุ้นเคยกับเครื่องมือและกระบวนการอาจเป็นอันตรายได้ เนื้อหาที่โพสต์ควรถูกตีความว่าเป็นคำแนะนำทางทฤษฎีเท่านั้น

หากคุณรู้สึกไม่สบายใจหรือไม่ชำนาญในการทำงานกับโปรเจกต์เหล่านี้ (โดยเฉพาะอย่างยิ่งงานด้าน electronics และ mechanical) โปรดพิจารณาใหม่ก่อนที่จะลงมือทำด้วยตนเอง เป็นไปได้มากที่โปรเจกต์นี้อาจทำให้ที่พักอาศัยของคุณเสียหาย ทำให้ประกันทรัพย์สินเป็นโมฆะ สร้างสภาวะที่เป็นอันตราย หรือทำให้ตัวคุณเองหรือผู้อื่นได้รับบาดเจ็บหรือถึงแก่ชีวิตได้

Safety Precautions

Electric Power and Experimental Setup

  • หลีกเลี่ยงสายไฟ สายเคเบิล และจุดเชื่อมต่อที่หลวม
  • ให้สันนิษฐานไว้ก่อนว่าโลหะที่เปิดโล่งใดๆ มีกระแสไฟฟ้าไหลผ่าน เว้นแต่จะได้รับการตรวจสอบเป็นอย่างอื่น
  • ทำความคุ้นเคยกับปุ่ม ON/OFF ทั้งหมดบนอุปกรณ์, circuit breakers และสวิตช์ตัดไฟของโต๊ะปฏิบัติงาน
  • ทำการปรับเปลี่ยนการตั้งค่าการทดลองเฉพาะเมื่อปิด circuit power แล้ว และแหล่งจ่ายไฟทั้งหมดแสดงค่า voltage และ current เป็นศูนย์เท่านั้น
  • ใช้สายไฟที่มีความยาวเหมาะสมกับการใช้งาน สายไฟหรือจุดเชื่อมต่อที่ยาวเกินไปอาจทำให้โต๊ะทำงานรกรุงรัง และสายไฟหรือจุดเชื่อมต่อที่สั้นเกินไปอาจตึงเกินไปและหลุดออกได้ง่าย
  • แยกอุปกรณ์และจุดเชื่อมต่อที่มีกำลังไฟสูง (higher power) ออกจากอุปกรณ์ที่มีกำลังไฟต่ำ เช่น microcontrollers เพื่อหลีกเลี่ยงทั้งสัญญาณรบกวนและการเชื่อมต่อทางไฟฟ้าที่อาจเกิดขึ้นระหว่างอุปกรณ์ sensitive electronic และอุปกรณ์กำลังไฟสูง
  • ตรวจสอบให้แน่ใจว่า DC power supplies, AC sources และแหล่งจ่ายไฟอื่นๆ ทั้งหมดเริ่มจากเอาต์พุต voltage และ current เป็นศูนย์ หรือตามที่ระบุไว้ในการทดลอง การเริ่มจาก voltage ที่ไม่ใช่ศูนย์อาจทำได้ในบางแอปพลิเคชันที่แหล่งจ่ายแรงดันไฟฟ้าควรมีสภาวะเริ่มต้นที่เฉพาะเจาะจง
  • ปิดอุปกรณ์ทั้งหมดก่อนออกจากห้องปฏิบัติการเมื่อการทดลองสิ้นสุดลง
  • ไม่อนุญาตให้ผู้ใช้ทำการทดลองเพียงลำพัง ตรวจสอบให้แน่ใจว่ามีผู้ใช้อย่างน้อยสองคนในการทำการทดลองเมื่อใช้งานไฟเกิน 50 V DC และ 240 volt AC

//===========================================================

โปรเจกต์นี้อธิบายไว้ใน 4 ขั้นตอน

ขั้นตอนแรก

  • คือวิธีการ flash CavyIoT firmware โดยใช้ Arduino IDE ลงใน NodeMCU เพื่อเปลี่ยนให้เป็น CavyIoT-DevBoard

ขั้นตอนที่สอง

อธิบายรายละเอียดเกี่ยวกับวิธีการ

  • เชื่อมต่อ CavyIoT-DevBoard กับ Arduino
  • ส่งข้อมูลจาก Sensor DHT11 และมุมของ Servo ไปยัง server ผ่าน Dev-Board

ขั้นตอนที่สาม

  • คือวิธีควบคุมอุปกรณ์จาก control panel และวิธีตั้งค่า triggers สำหรับการทำงานอัตโนมัติ

ขั้นตอนที่สี่

  • เสร็จสิ้นโปรเจกต์ด้วยการจัดเตรียม enclosure

ตกลง! มาเริ่มกันเลย!

Step 1: Flashing firmware ผ่านอินเทอร์เน็ต โดยใช้ http-update

  • Download library จาก official site หรือจาก GitHub โดยไม่ต้องแตกไฟล์ ZIP ที่ดาวน์โหลดมา ให้ปล่อยไว้ตามเดิม
  • ใน Arduino IDE ให้ไปที่ Sketch > Include Library > Add.ZIP Library จากด้านบนของรายการ ให้เลือกตัวเลือก Add.ZIP Library
  • จากนั้นเลือกไฟล์ ZIP ที่ดาวน์โหลดมาแล้วคลิก Open.
  • กลับไปที่เมนู Sketch > Include Library คุณควรเห็น library อยู่ที่ด้านล่างของเมนู และพร้อมใช้งานใน sketch ของคุณแล้ว ไฟล์ zip จะถูกขยายในโฟลเดอร์ libraries ในไดเรกทอรี Arduino sketches ของคุณ Library จะพร้อมใช้งานใน sketches แต่สำหรับ IDE เวอร์ชันเก่า ตัวอย่างสำหรับ library จะไม่แสดงใน File > Examples จนกว่าจะเริ่ม IDE ใหม่
  • Upload sketch ESP8266-httpupdate ใน Arduino IDE ให้ไปที่ File > Examples > CavyIoTdevelopmentBoard-master > ESP8266-httpupdate และเปิด example sketch นี้
  • จากนั้นเลือก Board และ COM port ให้ถูกต้อง ในตัวอย่างนี้เลือก NodeMCU
อย่าลืมเลือก Board 'NodeMCU 1.0 (ESP-12E Module)' ของคุณ
  • ก่อนที่จะ uploading ESP8266-httpupdate.ino คุณต้องเปลี่ยน Wi-Fi SSID และ Password เป็นของคุณเอง
  • หลังจาก Done Uploading ให้เปิด serial monitor (Baudrate:9600, ทั้ง NL & CR) และ Reset ตัว NodeMCU จากนั้นรอ 2 นาทีเพื่อให้กระบวนการ flashing เสร็จสมบูรณ์ คุณจะเห็น output บน serial monitor ดังที่แสดงด้านล่าง:
Flashing Done!

ยินดีด้วย! ตอนนี้คุณมี CavyIoT-DevBoard เป็นของตัวเองแล้ว!

Step 2: การเชื่อมต่อกับ Arduino

ทำการเชื่อมต่อวงจรดังที่แสดงด้านล่าง

การเชื่อมต่อวงจร IoT Incubator

คำอธิบายวงจร:

การเชื่อมต่อ Arduino และ DevBoard

  • Arduino Pin 10, 11, 13 เชื่อมต่อกับ Tx, Rx, rst ของ Dev-Board

การเชื่อมต่อ Arduino, Sensor และ Servo

  • Arduino Pin 9 เชื่อมต่อกับ servo control
  • Arduino Pin 8 เชื่อมต่อกับ Data pin ของ DHT11

การเชื่อมต่อ DevBoard กับ Four channel relay

  • DevBoard Index pin 0 (D2 ของ NodeMCU) เชื่อมต่อไปยัง IN1 ของ Relay Board
  • DevBoard Index pin 1 (D5 ของ NodeMCU) เชื่อมต่อไปยัง IN2 ของ Relay Board
  • DevBoard Index pin 2 (D6 ของ NodeMCU) เชื่อมต่อไปยัง IN3 ของ Relay Board
  • DevBoard Index pin 3 (D7 ของ NodeMCU) เชื่อมต่อไปยัง IN4 ของ Relay Board

การเชื่อมต่อ Relay ถูกจัดวางดังนี้

Relay-1 ใช้ควบคุม Bulb 100 Watt (แหล่งความร้อน)

Relay-2 ใช้ควบคุม Humidifier

Relay-3 ใช้ควบคุม In-fan

Relay-4 ใช้ควบคุม Ex-fan

Power supply

  • Arduino UNO (5 Volt ผ่าน USB)
  • DevBoard (3.3 V )
  • Relay Board (5V)
  • Bulb 100 Watt (240 V AC mains) ผ่าน Relay1
  • Humidifier (240 V AC mains ) ผ่าน Relay2 (ในที่นี้สมมติว่ามี Adapter ในตัว)
  • PC fan 2 ตัว (12 V DC 1 Amp) ผ่าน Relay3 & Relay4 ตัวหนึ่งสำหรับ air inlet และอีกตัวสำหรับ Exhaust

หมายเหตุ:ในแผนผังแสดงแหล่งจ่ายไฟไปยัง NodeMCU และ Relay Board ว่า ใช้ไฟจาก Arduino เพื่อความสะดวก แต่ ผมขอแนะนำให้ใช้แหล่งจ่ายไฟแยกต่างหาก เพื่อหลีกเลี่ยงภาระโหลดบน USB supply

และ upload incubator.ino sketch ไปยัง Board Arduino UNO อย่าลืมแทนที่ Wi-Fi SSID และ password พร้อมกับ CavyIoT credentials ใน sketch ของคุณ

ตอนนี้ให้เปิด serial monitor และดูผลลัพธ์ อุปกรณ์ที่คุณสร้างขึ้นจะทำงานได้ดีหากแสดงผลตามด้านล่างนี้ (Reset Arduino UNO หากจำเป็น)

Arduino Serial output

ตอนนี้ให้ Login เข้าสู่ CavyIoT และสั่งการจาก control panel ตรวจสอบปุ่มทั้งหมดว่าทำงานถูกต้องหรือไม่

ในการตรวจสอบการทำงานของ servo ผมแนะนำให้ตรวจสอบตัวตั้งเวลา servo router ที่ 1 นาที โดยการเอาเครื่องหมายคอมเมนต์ออกจากบรรทัดที่ 23, 80 และ 81 ใน code

หน้าจอควบคุมเครื่องฟักไข่ (Incubator control panel)

Control Panel

โอ้ ยอดเยี่ยม! สำเร็จแล้ว!

Step 3: ตอนนี้เราจะมาดูวิธีตั้งค่า triggers สำหรับระบบอัตโนมัติ

ไปที่ส่วน client area

เมนูที่ปรากฏหลังจากคลิกปุ่ม 'Set Triggers'

เลือก sensor, condition และป้อนค่าสำหรับการดำเนินการที่ต้องการจากเมนู คุณสามารถตั้งค่า triggers สำหรับระบบอัตโนมัติได้สูงสุดสี่รายการ ซึ่งทำได้ง่ายมาก

คลิกปุ่ม save เพื่อบันทึกการตั้งค่า ผลลัพธ์จะปรากฏภายในหนึ่งนาทีบนหน้าจอ client area

ตอนนี้ให้เปลี่ยนเป็นโหมดการทำงานแบบ AUTO แล้วนั่งพักผ่อนเพื่อดูว่าระบบควบคุมทำงานโดยอัตโนมัติอย่างไร ลองนำ Sensor DHT11 ไปวางใกล้กับ Bulb เพื่อรับความร้อน หากอุณหภูมิสูงขึ้น Bulb จะ OFF โดยอัตโนมัติ นี่เป็นการยืนยันว่า CavyIoT triggers กำลังทำงานจาก server

ฟีเจอร์สำคัญอีกอย่างหนึ่งของ DevBoard ที่เราจะมาทำความรู้จักคือ ไฟล์ Log ของการทำงานทั้งหมด! และสำหรับการทดสอบนี้ คุณต้องเปิดวงจรทิ้งไว้ประมาณหนึ่งหรือสองชั่วโมง หลังจากนั้นให้ถอดการเชื่อมต่อทั้งหมดของ DevBoard ออกจาก Arduino และถอดสาย USB จาก Arduino

วิธีการ Download ไฟล์ log จาก CavyIoT DevBoard

  • เชื่อมต่อ B pin ของ DevBoard เข้ากับ ground ( D0 ของ NodeMCU)
  • เสียบสาย USB ของ DevBoard เข้ากับคอมพิวเตอร์
  • และ restart NodeMCU
  • เปิด Serial monitor
DevBoard Local Server เริ่มทำงานแล้ว

จากนั้นเชื่อมต่อกับ Hot-Spot ที่สร้างโดย CavyIoT DevBoard เพื่อให้บริการไฟล์ Log โดยใช้ password admin@123

หลังจากเชื่อมต่อแล้ว ให้เข้าไปที่ url http://100.100.100.100

จาก download link ให้ดาวน์โหลดไฟล์ log และบันทึกลงในคอมพิวเตอร์ของคุณ ไฟล์ log นี้อยู่ในรูปแบบ CSV คุณสามารถพิมพ์ หรือ Convert เป็นรูปแบบ JSON/PDF เพื่อนำไปวิเคราะห์ต่อได้ โดยมี เครื่องมือออนไลน์ CSV to PDF ให้ใช้งานบน control panel ของคุณ

ผลลัพธ์ของตัวแปลง CSV เป็น PDF จะมีหน้าตาประมาณนี้:

CSV to PDF/JSON

(สำหรับข้อมูลทั้งหมดเกี่ยวกับ control panel มีลิงก์ให้ไว้ที่ด้านล่างของโปรเจกต์)

เนื้อหาที่ครอบคลุมเกี่ยวกับ Dev-Board จนถึงจุดนี้คือ

  • วิธีดาวน์โหลด firmware
  • การเชื่อมต่อกับ Arduino
  • วิธีดาวน์โหลดไฟล์ Log

Step 4:

และเพื่อสรุปโปรเจกต์ ให้จัดวางวงจรเหมือนตอนก่อนที่จะทำการดาวน์โหลด log และจัดเตรียมอุปกรณ์ในกล่องไม้ดังที่แสดงด้านล่าง

ในการจัดวางนี้แบ่งเป็นสองช่อง ช่องทางขวาสำหรับชุดประกอบกลไกถาดไข่ (Eggs tray router assembly)

  • กลไกถาดไข่ถูกติดตั้งพร้อมกับ servo motor
  • exhaust fan มีไว้เพื่อควบคุมความร้อนที่มากเกินไป ซึ่ง exhaust fan นี้สามารถควบคุมผ่าน control panel ได้
  • Sensor DHT-11

และการจัดวางทางด้านซ้ายคือ:

  • ใช้หลอดไฟ 100 watt เป็นแหล่งความร้อน
  • Humidifier
  • PC fan (เปิดทิ้งไว้ตลอดเวลา) เพื่อหมุนเวียนอากาศให้มีการกระจายอุณหภูมิและความชื้นอย่างสม่ำเสมอในตู้ฟักไข่ (หมายเหตุ: ไม่ได้แสดงไว้ในแผนผังวงจร)
  • เพื่อลดการรั่วไหลของความร้อนและความชื้นจากเครื่องฟักไข่ จึงมีช่องทางเข้าสำหรับอากาศบริสุทธิ์ที่ด้านล่างของกล่อง

แผนภาพด้านล่างแสดงหลักการของกลไกถาดไข่

ไข่ที่กำลังฟักจะถูกวางในถาดโดยให้ส่วนที่มีช่องอากาศอยู่ด้านบน และต้องได้รับการกลับไข่เป็นประจำในมุม 90° หรือ 45° ของแต่ละด้านตามแนวยาวของไข่ ตามประวัติศาสตร์ เหตุผลที่ต้องกลับไข่บ่อยๆ คือ (1) เพื่อป้องกันการกระจายอุณหภูมิที่ไม่ดีในไข่ขาวและไข่แดง และ/หรือ (2) เพื่อป้องกันความเสี่ยงที่ตัวอ่อนและเนื้อเยื่อส่วนเกินจะติดกับผนังเปลือกไข่ด้านใน

ดังนั้นการกลับไข่จึงเป็นสิ่งจำเป็นในช่วงวันที่ 0-10 เมื่อถุงไข่แดงและของเหลวใต้ตัวอ่อนกำลังก่อตัว และความถี่ที่แนะนำในการกลับไข่คือ 4 ครั้งต่อวัน (ดูวิธีการนำไปใช้ใน code)

ลิงก์สำคัญสำหรับการอ้างอิง

เรียนรู้เพิ่มเติมเกี่ยวกับ Control Panel

เรียนรู้เพิ่มเติมเกี่ยวกับ CavyIoT-DevBoard

Code

🔒 ปลดล็อก Code

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

รหัสอ้างอิงโปรเจกต์: iot-eggs-incubator-2a873b
2450 บาท
PromptPay QR Code

ประเมิน Project

อยากได้งานคล้ายโปรเจคนี้? กดไปหน้าประเมินราคา

เอาฟอร์มยาวออกจากท้ายหน้า Project แล้ว เหลือเป็นปุ่มให้กดไปกรอกหน้าเดียว ตัวใหญ่ เว้นบรรทัดเยอะ อ่านง่ายกว่า

รีวิวจากคนใช้งานจริง

รีวิวจากลูกค้าและคนที่เคยใช้งาน

ถ้าเคยสั่งงาน เคยอ่านหน้านี้แล้วได้ประโยชน์ หรือมีข้อเสนอแนะ ฝากรีวิวไว้ได้เลย

กำลังโหลดรีวิว...