กลับไปหน้ารวมไฟล์
co2-lamp-9d88db.md

เจ้าโคมไฟตัวนี้

โคมไฟมินิมอลสุดๆ (และอาจจะโอเวอร์ไปนิด) ที่สร้างจากไมโครคอนโทรลเลอร์ ESP8266 และเซ็นเซอร์วัดคาร์บอนไดออกไซด์ MHZ-19B ช่วยให้เราควบคุมระดับ CO2 ในห้อง ห้องครัว... ได้แบบจัดเต็ม

โคมไฟนี้เป็นตัวเริ่มต้นที่ดีมากๆ ในการพาน้องเข้าสู่โลก Arduino และการพิมพ์ 3D แถมยังได้โคมไฟที่ทั้งสวยและน่ารักกลับมาอีกด้วย สร้างเสร็จแล้ววางตกแต่งได้เลย

หมายเหตุ: นี่คือโปรเจกต์ Arduino ชิ้นแรกของพี่เองนะ อย่าหัวเราะเยาะล่ะ

ฟีเจอร์เด็ดๆ:

  1. ปรับความสว่างผ่านแอปได้
  2. ดูค่าคาร์บอนไดออกไซด์แบบเรียลไทม์ผ่านแอป (มีกราฟให้ดูด้วย)
  3. ตั้งเวลาเปิด-ปิดอัตโนมัติได้ (บอกโคมไฟได้เลยว่าให้เปิดตอนไหน)
  4. มีโหมดแสดงสถานะ CO2 โดยเปลี่ยนสีไฟตามระดับความเข้มข้น

มุมมองของโปรเจกต์

โคมไฟวัด CO2 นี้เป็นการผสมผสานระหว่างเทคโนโลยีเพื่อสุขภาพและความสวยงามของ IoT อย่างลงตัว โดยเน้นไปที่ส่วนประกอบหลักๆ คือ เซ็นเซอร์ MH-Z19B และ ESP8266 น้องจะได้เรียนรู้วิธีการสื่อสารและตรวจสอบคุณภาพอากาศผ่านลอจิกซอฟต์แวร์เฉพาะทางและการตั้งค่าไร้สายที่เสถียร

การทำงานทางเทคนิค: เซ็นเซอร์แก๊สแบบ NDIR และการตอบสนองด้วย RGB

โปรเจกต์นี้จะเผยให้เห็นชั้นการทำงานที่ซ่อนอยู่เบื้องหลังการโต้ตอบระหว่างอากาศและแสงไฟ:

  • ชั้นตรวจจับ: เซ็นเซอร์ CO2 แบบ NDIR MH-Z19B ทำหน้าที่เป็นดวงตาในย่านอินฟราเรด คอยวัดความเข้มข้นของคาร์บอนไดออกไซด์ในห้องผ่านอินเทอร์เฟซ UART Serial
  • ชั้นประมวลผล: ESP8266 ใช้พอร์ต I/O และไลบรารี MHZ-19 ในการถอดรหัสระดับแก๊ส (ppm) และคำนวณเพื่อหาสถานะ "ปลอดภัย" หรือ "อากาศเริ่มอับ"
  • ชั้นแสดงผล: แถบไฟ LED RGB SK6812 ให้การตอบสนองด้วยภาพความละเอียดสูง สีของโคมไฟ (เช่น เขียว = ดี, เหลือง = เตือน, แดง = ต้องระบายอากาศ) บ่งบอกถึงคุณภาพอากาศ
  • ชั้นเชื่อมต่อไร้สาย: ESP8266 เชื่อมต่อกับ Arduino IoT Cloud ทำให้สามารถดูกราฟและควบคุมโคมไฟแบบเรียลไทม์ผ่านแอปมือถือได้
  • ชั้นควบคุมแบบสัมผัส: โมดูลสัมผัส TTP223 ให้วิธีควบคุมแบบแมนนวลประสิทธิภาพสูง เปิด-ปิดโคมไฟได้ด้วยการแตะเบาๆ

โครงสร้างฮาร์ดแวร์

  • ESP8266 NodeMCU: ไมโครคอนโทรลเลอร์หัวใจหลักที่มี WiFi ดูแลการเก็บข้อมูลความเร็วสูงและประสานงานระหว่างคลาวด์กับงานควบคุมไฟ LED
  • เซ็นเซอร์ CO2 MH-Z19B: ให้การตรวจวัด CO2 ที่เชื่อถือได้แบบไม่ต้องสัมผัสสำหรับพื้นที่อยู่อาศัย
  • แถบไฟ LED RGB (NeoPixels): ให้แสงสว่างกำลังสูงและสีสันสดใสสำหรับการ "รายงานสถานะอากาศ"
  • เซ็นเซอร์สัมผัส TTP223: ให้อินพุตดิจิทัลสำหรับการควบคุมโคมไฟด้วยมือแบบโอเวอร์ไรด์
  • โครงพิมพ์ 3D: ทำหน้าที่เป็นตัวเรือนกลไกประสิทธิภาพสูงสำหรับวงจรตรวจจับสิ่งแวดล้อม
  • สาย Micro-USB: ใช้สำหรับโปรแกรม ESP8266 และจ่ายไฟหลักให้กับตัวคอนโทรลเลอร์

ซอฟต์แวร์:

โคมไฟใช้บริการ MQTT บน Arduino Cloud เพื่อควบคุมโคมไฟผ่านอินเทอร์เน็ต และน้องจะต้องมีไลบรารีบางตัว (คิดซะว่าเป็นโปรแกรมย่อยๆ ที่เรานำมาใส่ในโปรเจกต์ Arduino ของเราเพื่อให้มันทำงานตามที่ต้องการ) เพื่อให้สามารถคอมไพล์โปรแกรมได้

  1. MHZ-19
  2. OneButton
  3. Neopixel (ต้องใช้เวอร์ชัน 1.8.4)

ขั้นตอนการประกอบ:

ฐานของโคมไฟพิมพ์ด้วยวัสดุไม้ (แนะนำให้ใช้) และส่วนที่เหลือของโคมไฟทำจาก PLA (ไฟล์ .stl อยู่ด้านล่างของโปรเจกต์นี้) ห้ามช็อตนะตัวนี้ ใจเย็นๆ ค่อยๆ ทำ

พอปริ้นท์ชิ้นส่วนครบแล้ว ก็แค่เอากระดาษทรายขัดๆนิดหน่อย ก็พร้อมลุยแล้ววว

ต่อไปก็เรื่องไฟฟ้า ตามรายการอุปกรณ์ด้านล่างเลย สำหรับการเดินสายไฟ มีให้เลือกสองทาง:

  1. **ทางเลือกที่ 1:** ใช้สายไฟธรรมดาๆ บัดกรีให้เรียบร้อย แล้วก็ยัดลงไปในฐานไฟ (วงจรต่อแบบนี้อยู่ในไฟล์ .pdf ชื่อ schematic)
  1. **ทางเลือกที่ 2:** สั่งทำ PCB (ตัวเลือกที่แพงและ Overengineered มาก อย่าทำเลยน้อง) สามารถดาวน์โหลดไฟล์ Gerber ได้จากโฟลเดอร์ใน repository ชื่อ design files
PCB without esp and Co2 senor

ขั้นตอนการตรวจวัดอากาศและโต้ตอบ

กระบวนการทำงานของไฟวัด CO2 นี้ ออกแบบมาให้มีประสิทธิภาพสุดๆ:

  1. ตั้งค่า Hardware: เอา ESP8266 กับเซ็นเซอร์ MH-Z19B ลงฐานที่ปริ้นท์ไว้ให้เรียบร้อย เตรียม ESP ให้พร้อมลุย
  2. ตั้งค่า Cloud Sync: ในฟังก์ชัน `setup()` ให้ตั้งค่าเชื่อมต่อ WiFi, ตัวแปร IoT Cloud และแถบไฟ Neopixel
  3. ลูปทำงานหลัก: ESP8266 จะทำการสุ่มตัวอย่างค่าก๊าซแบบต่อเนื่อง และอัพเดทสีไฟกับกราฟบนคลาวด์แบบเรียลไทม์
  4. แสดงผลแบบ Visual: ดูสิว่าไฟของน้องจะกลายเป็นสัญญาณแสงที่เต้นเป็นจังหวะไปตามคุณภาพอากาศโดยอัตโนมัติเลย

พอตัดสินใจได้ว่าจะจัดวางโครงการยังไง ขั้นต่อไปคือเรื่องซอฟต์แวร์ ซึ่งน้องจะต้องใช้ IoT Cloud (จาก Arduino)

  1. **1.** สร้าง "Thing" ขึ้นมาแล้วเชื่อมโยงกับบอร์ด (esp8266) ของน้อง
  2. **2.** เพิ่มตัวแปรที่จำเป็นลงใน "Thing" บน Arduino Cloud เพื่อให้โค้ดทำงานได้ถูกต้อง (ดูในรูป)
  3. **3.** สร้าง Dashboard แล้วเชื่อมโยงกับตัวแปรจาก "Thing" ที่เพิ่งสร้างไป
  4. **4.** แก้ไขโค้ดที่ให้มา และเพิ่มข้อมูล WiFi, รหัสผ่าน, Device ID และ Secret Key ของน้องลงในไฟล์ thingproperties

แนวทางการพัฒนาต่อ

  • เพิ่ม OLED Dashboard: ต่อจอ OLED ขนาดเล็กที่ฐานไฟ เพื่อแสดงค่า "CO2 ปัจจุบัน (ppm)", "อุณหภูมิ" และ "ความชื้น"
  • เพิ่มเซ็นเซอร์หลายตัว: ต่อเซ็นเซอร์ MQ-2 หรือ MQ-135 เพื่อสร้างเครื่องตรวจวัดอากาศอัตโนมัติที่ตรวจจับ "แก๊สรั่ว" และควันได้ด้วย
  • สร้าง Web Dashboard เฉพาะทาง: เพิ่มแดชบอร์ดบนเว็บเพื่อติดตามและบันทึกประวัติคุณภาพอากาศจากสมาร์ทโฟนผ่าน WiFi แบบไร้สาย
  • เพิ่มระบบแจ้งเตือน: ต่อออด (Buzzer) สำหรับ "การแจ้งเตือนการระบายอากาศ" เพื่อให้ไฟทำงานตามโปรโตคอลความปลอดภัยและส่งเสียงเตือนเมื่อค่า CO2 สูงเกินไป

Co2 Lamp เป็นโปรเจคที่โคตรเหมาะสำหรับสายอิเล็กทรอนิกส์ตัวจริง ที่อยากได้เครื่องมือติดตามสุขภาพแบบอินเตอร์แอคทีฟและน่าสนใจกว่านี้!

ข้อมูล Frontmatter ดั้งเดิม

apps:
  - "1x Arduino IDE"
  - "1x Arduino IoT Cloud"
author: "shassandanish1"
category: "Lights & LEDs"
components:
  - "1x small philips screwdriver"
  - "1x Soldering Iron Tip, Drag Hoof"
  - "1x Friend with a 3D printer"
  - "1x SK6812 RGB LED Flex-strip"
  - "1x esp8266 NodeMCU"
  - "1x MHz19B"
  - "1x USBC female adapter"
  - "1x Touch sensor module TTP223"
  - "1x Jointing clamp for wire end sleeves"
  - "1x LD3007ms"
description: "โคมไฟมินิมอลสไตล์วัยรุ่น ใช้ ESP8266 กับเซนเซอร์วัด CO2 รุ่น MH-Z19B ทำงานเทพๆ วัดค่าอากาศแล้วไฟเปลี่ยนสีจัดไป ใครอยากทำของใช้ในหอที่ทั้งดูดีและฟังก์ชันครบ งานนี้ต้องลอง!"
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles:
  - "https://create.arduino.cc/editor/martincangaa/9c628c12-5b89-40fe-9476-1d19fecb26b6/preview?embed"
encryptedPayload: "U2FsdGVkX18P9lZDB+Dbp2yfEidXVIo6dE2rW+7GtCnLUvQsLYIJjzIfNOLCTaU2+8+PVt+vWqV1RWOoWrcHT85IjyA7aq5jYpABL09M7Xs="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/co2-lamp-9d88db_cover.png"
lang: "en"
likes: 0
passwordHash: "fad3d2a7a71439b2308bc9efa620fe8f61becad18032244a3d1e71d418b39b1b"
price: 2450
seoDescription: "An advanced and playsomely interactive air quality lamp for beginners interested in Arduino ESP8266, NDIR CO2 sensing, and IoT aesthetics."
tags:
  - "co2-lamp"
  - "air-quality"
  - "mh-z19b"
  - "iot"
  - "neopixel"
  - "arduino"
  - "advanced"
title: "โคมไฟวัด CO2 งานง่ายแต่หล่อ วัดค่าตึงๆ ได้ด้วยเซนเซอร์"
tools: []
videoLinks: []
views: 3125