Ghost-Desk Monitor

Equipment

ของทั้งหมดที่ต้องมี 2 ชุดโต๊ะ + 1 gateway · แตะรายการข้างรูปเพื่อดูชิ้นนั้นในรูป กดถอดประกอบเพื่อดูว่าประกอบกันอย่างไร แล้วเลื่อนลงไปดูราคาและงบต่อคน

Sensor node · ที่โต๊ะ

× 2 · D01, D02
D01
ป้ายปริซึม 3 หน้า หมุนด้วย servo 270°กล้อง + AMG8833 บนแขน มองลงโต๊ะLD2410 ใต้ขอบโต๊ะ กะพริบเมื่อจับลมหายใจได้โต๊ะทดสอบบนแท่น: เสาหนีบขอบโต๊ะถือหัวกล้อง (FireBeetle 2 ESP32-S3 + OV2640) และ AMG8833, LD2410 หันหาเก้าอี้, ป้ายปริซึมหน้าชมพู/เหลือง/เขียว บนฐานที่มีหมุดกันหมุนเกิน และตัวเก็บประจุ 1000 µF ข้าง servo · ป้ายหมุนตามโต๊ะที่เลือกในผังด้านบน (จำลอง)

ชี้หรือแตะรายการเพื่อดูชิ้นนั้นในรูป

  1. LD2410เรดาร์ 24 GHz ใต้ขอบโต๊ะ จับการหายใจ จึงรู้ว่ามีคนแม้นั่งอ่านหนังสือนิ่ง ๆ
  2. AMG8833ภาพความร้อน 8×8 บนหัวกล้อง แยกคนจริงออกจากกระเป๋า
  3. กล้อง + AI บนบอร์ดจำแนก empty / person / items_only · โต๊ะโล่งปล่อยได้ทันที มีของค้างจึงนับ 30 นาที · ภาพไม่ออกจากบอร์ด
  4. ป้ายปริซึมสามหน้า ชมพู / เหลือง / เขียว หมุนรอบแกนเดียวระหว่างแผ่นข้างสองแผ่น มีหมุดกันหมุนเกิน
  5. Servo TD-7120MGยึดนอกแผ่นข้างขวา เพลาผ่านรูเข้าปริซึม หมุนไป 0° / 120° / 240° ข้างกันมีตัวเก็บประจุ 1000 µF
  6. ป้าย QRเสียบในฐาน เปิดหน้าสถานะโต๊ะและลิงก์เพิ่มเพื่อน LINE Official Account

ถอดออกเป็น 5 ชิ้นส่วนที่ถอดได้จริง สายไฟยังต่ออยู่และยืดตามชิ้นที่มันต่อ

Gateway · ที่ห้อง

× 1
YD-ESP32-23 (ESP32-S3): บอร์ดจาก Lab 10SCD41: CO₂ + อุณหภูมิ + ความชื้นBH1750: แสงในห้อง (lux)MAX4466: ระดับเสียงแผ่นฐานบนขายาง บอร์ดทุกตัวยืนบนเสา standoff · SCD41 กับ BH1750 ต่อพ่วงบน I²C สองเส้นเดียวกัน, ไมค์ MAX4466 ต่อ 3 สายเข้าขา ADC, สาย USB-C ยึดกับคลิปที่ขอบแผ่น

ชี้หรือแตะรายการเพื่อดูชิ้นนั้นในรูป

  1. YD-ESP32-23บอร์ดจาก Lab 10 เป็นเจ้าของ state machine และเวลา 2 / 20 / 30 นาทีของทุกโต๊ะ รับ ESP-NOW ส่งข้อมูลขึ้น Supabase และส่ง LINE
  2. SCD41CO₂ ในห้อง ใช้ดูคุณภาพอากาศและประมาณว่าห้องแน่นแค่ไหน
  3. BH1750แสงในห้อง ใช้ I²C สองเส้นเดียวกับ SCD41
  4. MAX4466ระดับเสียง อ่านด้วย analogRead แบบ Lab 8 แจ้ง staff ถ้า quiet zone ดังเกิน

บอร์ดทุกตัวยกขึ้นจากเสา standoff ที่ยังขันอยู่กับแผ่นฐาน สายจัมเปอร์ยังเสียบอยู่ที่ขาและยืดตามบอร์ด

Power per desk · ทำไมต้องมีตัวเก็บประจุ

ขั้น C4 ใน Build Plan
Adapter5 V 2 Aterminal block+5 VGNDFireBeetle 25 V · GND · GPIO (PWM)Servo TD-7120MGV+ · GND · signal1000 µF+PWM
อแดปเตอร์ตัวเดียวต่อโต๊ะ แยกไฟไปบอร์ดและ servo · ตัวเก็บประจุคร่อมไฟ servo ใกล้ขั้ว servo · GND ทุกจุดต่อถึงกัน

servo กินกระแสกระชากสูงมากในเสี้ยววินาทีที่เริ่มหมุน ถ้าอแดปเตอร์ส่งไม่ทัน ไฟ 5 V จะตกวูบ บอร์ด ESP32 ที่ใช้สายเส้นเดียวกันจะ รีเซ็ต (brown-out) กลางคัน

  1. ตัวเก็บประจุ 1000 µF เหมือนถังน้ำเล็ก ๆ ข้าง servo: เก็บไฟไว้แล้วจ่ายกระแสช่วงกระชากแทนอแดปเตอร์ แรงดันจึงไม่ตก
  2. ต่อคร่อม + กับ − ของไฟ servo ให้ใกล้ขั้ว servo ที่สุด · ขาสั้นหรือแถบข้างตัวคือขาลบ ต่อกลับขั้วแล้วเสีย
  3. servo ไม่ดึงไฟผ่านบอร์ด: แยกจาก terminal block ตรงไป servo เลย
  4. GND ร่วม: GND ของอแดปเตอร์ บอร์ด และ servo ต้องต่อถึงกัน สัญญาณ PWM จึงอ่านถูก
  5. ทดสอบ: สั่งหมุน 0° → 120° → 240° 50 รอบ ขณะกล้องและ Wi-Fi ทำงาน ต้องไม่มีข้อความ brown-out ใน Serial Monitor

Mechanical & small parts · ชิ้นส่วนจิปาถะ

อยู่ในงบจิปาถะ ~400 บาท (ประมาณ)

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

  1. ตัวเก็บประจุ 1000 µF (electrolytic, 16 V)

    Sensor node · 1 ต่อโต๊ะ
    ไว้ทำอะไร · Job
    กันบอร์ดรีเซ็ตตอน servo เริ่มหมุน: servo ดึงกระแสกระชากสูงชั่วขณะ แรงดัน 5 V จึงตกวูบ ตัวเก็บประจุจ่ายกระแสช่วงนั้นแทนอแดปเตอร์
    ทำ / ซื้ออย่างไร · Make
    ต่อคร่อมสาย + กับ − ของไฟ servo ให้ใกล้ขั้ว servo ที่สุด
    ระวัง · Watch out
    มีขั้ว: ขาสั้น / แถบข้างตัว = ขาลบ ต่อกลับขั้วแล้วเสียหรือบวมได้ · เลือกแรงดัน ≥ 10 V
    ขั้น C4
  2. แจ็ก DC ตัวเมีย 5.5×2.5 + terminal block

    Sensor node · 1 ชุดต่อโต๊ะ
    ไว้ทำอะไร · Job
    แยกไฟ 5 V จากอแดปเตอร์ไปสองทาง: บอร์ด FireBeetle และ servo โดยใช้ GND ร่วมกัน
    ทำ / ซื้ออย่างไร · Make
    ขันสายใน terminal block · servo ไม่ดึงไฟผ่านบอร์ด
    ระวัง · Watch out
    GND ของ servo, บอร์ด และอแดปเตอร์ต้องต่อถึงกัน ไม่งั้นสัญญาณ PWM เพี้ยน
    ขั้น C4
  3. Breadboard → perfboard, header, สายจัมเปอร์

    ทั้งสองฝั่ง · ตามใช้
    ไว้ทำอะไร · Job
    ทดลองบน breadboard ก่อน แล้วย้ายวงจร node ลง perfboard เมื่อ pin map นิ่ง สายจะไม่หลุดตอนยกโต๊ะ
    ทำ / ซื้ออย่างไร · Make
    ใช้ header ตัวเมียเสียบบอร์ดและโมดูล จะถอดคืนได้
    ระวัง · Watch out
    AMG8833 เป็นของยืม ห้ามบัดกรีตรง ใช้ header
    ขั้น F4
  4. เสาและแขนจับหัวกล้อง

    Sensor node · 1 ต่อโต๊ะ
    ไว้ทำอะไร · Job
    ยกกล้องและ AMG8833 ให้สูงพอจะเห็นทั้งพื้นโต๊ะและเก้าอี้ มองลงเฉียง ๆ
    ทำ / ซื้ออย่างไร · Make
    ต้นแบบ: ขาตั้งมือถือแบบหนีบขอบโต๊ะ ปรับมุมได้ · ตัวจริง: แขนพิมพ์ 3D หรือท่อ PVC + ตัวหนีบ
    ระวัง · Watch out
    ปรับความสูงจนภาพจากกล้องเห็นพื้นโต๊ะครบก่อนเริ่มเก็บ dataset ห้ามขยับมุมหลังจากนั้น
    ขั้น C5
  5. กล่องหัวกล้อง

    Sensor node · 1 ต่อโต๊ะ
    ไว้ทำอะไร · Job
    ครอบ FireBeetle 2 ให้เป็นชิ้นเดียวกับเลนส์และ AMG8833 กันฝุ่นและมือ
    ทำ / ซื้ออย่างไร · Make
    กล่องพิมพ์ 3D หรือกล่องพลาสติกเล็ก เจาะรูเลนส์และช่องเซ็นเซอร์
    ระวัง · Watch out
    หน้า AMG8833 ต้องเปิดโล่ง: แผ่นพลาสติก / อะคริลิกบังรังสีความร้อนจนวัดไม่ได้
    ขั้น F4
  6. ที่ยึด LD2410 ใต้ขอบโต๊ะ

    Sensor node · 1 ต่อโต๊ะ
    ไว้ทำอะไร · Job
    ให้เรดาร์หันหาเก้าอี้ระดับอก จับการหายใจของคนที่นั่ง
    ทำ / ซื้ออย่างไร · Make
    เทปโฟมสองหน้าหรือสกรูเล็กบนแผ่นหน้าโต๊ะ
    ระวัง · Watch out
    ห้ามมีโลหะบังด้านหน้า · ทดสอบใหม่ทุกครั้งที่ย้ายตำแหน่ง
    ขั้น C5
  7. ป้ายปริซึม 3 หน้า + แผ่นข้าง + ฐาน

    Sensor node · 1 ชุดต่อโต๊ะ
    ไว้ทำอะไร · Job
    หน้าที่คนในห้องเห็น: ชมพู ใช้งาน · เหลือง ไม่อยู่ · เขียว ว่าง
    ทำ / ซื้ออย่างไร · Make
    ต้นแบบ: ฟิวเจอร์บอร์ด / foam board · ตัวจริง: พิมพ์ 3D หรืออะคริลิก · หน้าพิมพ์สีติดกาว · ปลายหนึ่งยึด horn ของ servo ปลายอีกข้างหมุนบนแกน
    ระวัง · Watch out
    ต้องเบาและสมดุล ไม่งั้น servo ต้องออกแรงค้างแล้วมีเสียงหึ่ง · มีหมุดกันหมุนเกิน (M7)
    ขั้น C3
  8. การ์ด QR + ที่ตั้งอะคริลิก

    Sensor node · 1 ต่อโต๊ะ
    ไว้ทำอะไร · Job
    เปิดหน้าสถานะโต๊ะ และลิงก์เพิ่มเพื่อน LINE Official Account
    ทำ / ซื้ออย่างไร · Make
    พิมพ์การ์ดเคลือบ เสียบในที่ตั้งป้ายอะคริลิกขนาดเล็ก
    ขั้น F4
  9. กล่อง gateway + standoff M3

    Gateway · 1
    ไว้ทำอะไร · Job
    เก็บ YD-ESP32-23 และ sensor ห้องให้เรียบร้อย ย้ายได้ (Build Quality)
    ทำ / ซื้ออย่างไร · Make
    แผ่นฐานอะคริลิก + standoff M3 ใต้ทุกบอร์ด แล้วครอบด้วยกล่องพลาสติกหรือกล่องพิมพ์ 3D
    ระวัง · Watch out
    ต้องมีช่องระบายอากาศให้ SCD41 (วัด CO₂ จากอากาศที่ไหลผ่าน) · หน้าต่างใสหรือรูให้ BH1750 รับแสง · รูให้ไมค์ · ช่องสาย USB-C
    ขั้น F3
  10. เคเบิลไทร์, ท่อหด, เทปโฟม, ป้ายชื่อสาย, สาย USB-C ที่ส่งข้อมูลได้

    ทั้งสองฝั่ง · ตามใช้
    ไว้ทำอะไร · Job
    เก็บสายให้เรียบร้อยและรู้ว่าสายไหนไปไหน · สาย USB-C ไว้อัปโหลดโค้ด
    ทำ / ซื้ออย่างไร · Make
    ติดป้ายที่ปลายสายทุกเส้นตาม pin map
    ระวัง · Watch out
    สายชาร์จอย่างเดียวจะไม่เห็น COM port (เหมือนใน Lab 10)
    ขั้น F4

Parts & budget

กรองรายการ · ปรับงบ
Budget · งบรวม (ประมาณ)~5,370 บาทหาร 5 คน ≈ 1,074 บาท/คน
ความยาก
10 รายการ
  1. FireBeetle 2 ESP32-S3 + กล้อง OV2640

    ยากSensor node
    หน้าที่ · Job
    สมองของ node: อ่าน sensor ทุกตัว, รันโมเดลภาพบนบอร์ด, ส่งผลให้ gateway, สั่ง servo
    ต่อผ่าน · Bus
    กล้องต่อสาย FPC มากับบอร์ด
    Library
    esp32 core 3.x (มี esp_camera) + ไลบรารีที่ Edge Impulse export ให้
    เริ่มจาก · Start from
    ตัวอย่าง ESP32 camera ของ Edge Impulse
    ทำไมตัวนี้ · Why
    ESP32-S3 N16R8 มี PSRAM 8 MB พอรันโมเดลภาพบนบอร์ด (E7) · กล้องมากับบอร์ด · ขาว่างเหลือพอสำหรับ 7 ขาที่ต้องใช้ · มีของในไทย · ส่วนที่ยากคือ AI ไม่ใช่ตัวบอร์ด: ถ้าไม่ผ่านเส้นตาย 13 พ.ย. ย้ายโมเดลไปรันบนโน้ตบุ๊ก/Pi
    ราคา1,185 × 22,370 บาทarduitronics
  2. HLK-LD2410 mmWave 24 GHz

    ง่ายSensor node
    หน้าที่ · Job
    รู้ว่ามีคนนั่งแม้นั่งนิ่ง เพราะจับการหายใจได้ (PIR ทำไม่ได้)
    ต่อผ่าน · Bus
    UART + ขา OUT (ใช้ทำ interrupt)
    Library
    ld2410 (ncmreynolds)
    เริ่มจาก · Start from
    ตัวอย่างในไลบรารี ld2410 + ขา OUT แบบ ISR เหมือน Lab 10
    ทำไมตัวนี้ · Why
    ขา OUT ให้ทำ E2 (ISR) ได้ทันที · ราคาถูก · มีไลบรารีพร้อมใช้ ไม่ต้องเขียน parser เอง
    ราคา180 × 2360 บาทallnewstep
  3. GY-AMG8833 thermal 8×8

    ง่ายSensor node
    หน้าที่ · Job
    แยกคนจริงกับกระเป๋าด้วยความร้อน
    ต่อผ่าน · Bus
    I²C
    Library
    Adafruit AMG88xx
    เริ่มจาก · Start from
    ตัวอย่าง pixels_test
    ทำไมตัวนี้ · Why
    แพงที่สุดในรายการ จึงขอยืมจากวิชาก่อน · I²C ต่อง่าย 4 สาย
    ราคา1,650 × 2ยืมจากวิชา · 0 บาทarduitronics
  4. TD-7120MG servo 0–270°

    ง่ายSensor node
    หน้าที่ · Job
    หมุนป้ายปริซึม 3 หน้า ไปที่ 0° / 120° / 240°
    ต่อผ่าน · Bus
    PWM 1 ขา
    Library
    ESP32Servo (ตั้งช่วงพัลส์ 500–2500 µs ให้ครบ 270°)
    เริ่มจาก · Start from
    ตัวอย่าง Sweep ของ ESP32Servo
    ทำไมตัวนี้ · Why
    หมุนถึงหน้าที่ 3 (240°) ได้ ใช้ขาเดียว · servo 180° ธรรมดาไปไม่ถึง · กฎ safety: มีหมุดกันหมุนเกิน และ timeout ของคำสั่งหมุน
    ราคา440 × 2880 บาทcybertice
  5. อแดปเตอร์ 5V 2A

    ง่ายSensor node
    หน้าที่ · Job
    ไฟเลี้ยงโต๊ะละตัว: กล้อง + Wi-Fi + servo กินไฟพร้อมกัน
    ต่อผ่าน · Bus
    แจ็ก 5.5×2.5
    Library
    —
    เริ่มจาก · Start from
    ใส่ตัวเก็บประจุ 1000 µF ข้าง servo, ต่อ GND ร่วม
    ทำไมตัวนี้ · Why
    ไฟจาก USB โน้ตบุ๊กไม่พอตอน servo หมุน
    ราคา130 × 2260 บาทcybertice
  6. YD-ESP32-23 (ESP32-S3 N16R8)

    กลางGateway
    หน้าที่ · Job
    สมองของ gateway: state machine, ตัวจับเวลา 2/20/30 นาที, ส่งข้อมูลขึ้น cloud, ส่ง LINE
    ต่อผ่าน · Bus
    Wi-Fi + ESP-NOW
    Library
    esp32 core 3.x (ESP-NOW, WiFiClientSecure, HTTPClient)
    เริ่มจาก · Start from
    บอร์ดเดียวกับ Lab 10 ตั้งค่า Tools เหมือนเดิม
    ทำไมตัวนี้ · Why
    ทีมมีบอร์ดนี้และคุ้นกับมันแล้ว ไม่ต้องซื้อเพิ่ม
    ราคามีแล้ว0 บาทมีอยู่แล้วจาก Lab 10
  7. SCD41 CO₂

    ง่ายGateway
    หน้าที่ · Job
    คุณภาพอากาศในห้อง และใช้ประมาณความหนาแน่นของคน
    ต่อผ่าน · Bus
    I²C (bus เดียวกับ BH1750)
    Library
    Sensirion I2C SCD4x
    เริ่มจาก · Start from
    ตัวอย่าง exampleUsage
    ทำไมตัวนี้ · Why
    ถูกกว่า MH-Z19C ในร้านที่เช็ก · I²C ไม่เปลืองขา · วัดอุณหภูมิ/ความชื้นในตัว
    ราคา820 × 1820 บาทcybertice
  8. ไมค์อนาล็อก MAX4466

    ง่ายGateway
    หน้าที่ · Job
    ระดับเสียงในห้อง แจ้ง staff ถ้า quiet zone ดังเกิน
    ต่อผ่าน · Bus
    ADC 1 ขา
    Library
    ไม่ต้องใช้: analogRead()
    เริ่มจาก · Start from
    โค้ดอ่าน ADC แบบ Lab 8 แล้วหาค่า peak-to-peak ทุก 50 ms
    ทำไมตัวนี้ · Why
    อ่านด้วย analogRead ที่ทำมาแล้วใน Lab 8 แทนไมค์ I²S (INMP441) ที่ต้องตั้งค่า I²S เอง · ราคาประมาณ ยังไม่เช็ก · ถ้าอยากลอง I²S ใช้ INMP441 (95 บาท) แทนได้
    ราคาประมาณ100 × 1100 บาทยังไม่ได้เช็กร้าน
  9. GY-302 BH1750 วัดแสง

    ง่ายGateway
    หน้าที่ · Job
    แสงในห้อง: บอกช่วงเปิด/ปิดไฟ และกัน M1 พลาด
    ต่อผ่าน · Bus
    I²C
    Library
    BH1750 (claws)
    เริ่มจาก · Start from
    ตัวอย่าง BH1750test
    ทำไมตัวนี้ · Why
    ถ้ากรรมการไม่นับกล้องเป็น sensor ก็ยังครบ 5 ชนิด · ถูกที่สุดในรายการ
    ราคา50 × 150 บาทcybertice
  10. อแดปเตอร์ 5V 2A

    ง่ายGateway
    หน้าที่ · Job
    ไฟเลี้ยง gateway ตลอดการรัน 24 ชม.
    ต่อผ่าน · Bus
    USB-C
    Library
    —
    เริ่มจาก · Start from
    —
    ทำไมตัวนี้ · Why
    รันต่อเนื่อง 24 ชม. โดยไม่พึ่งโน้ตบุ๊ก
    ราคา130 × 1130 บาทcybertice

ราคาเช็กจากหน้าร้าน 28 ต.ค. 2026 ยังไม่รวมค่าส่ง · ไมค์ MAX4466 และของจิปาถะเป็นราคาประมาณ