Project 04 • Smart Touchless Trash Bin

ถังขยะอัจฉริยะเปิดฝาอัตโนมัติ

หน้าเว็บตัวอย่างโครงงาน IoT สำหรับนักศึกษา โดยใช้ Ultrasonic Sensor ตรวจจับมือหรือวัตถุที่อยู่ใกล้ฝาถัง แล้วสั่ง Servo Motor เปิดฝาโดยไม่ต้องสัมผัส เพิ่มเงื่อนไขหน่วงเวลาปิดฝา และสามารถต่อยอดด้วยการตรวจระดับขยะภายในถังเพื่อแจ้งเตือนเมื่อใกล้เต็มผ่าน Dashboard

2–4 คนขนาดทีมแนะนำ
3–5 สัปดาห์ระยะเวลาพัฒนา
Prototypeใช้ทดสอบจริงได้
Smart Trash Bin Monitor
Touchless Lid Control
62%
Distance

18 cm

Lid

OPEN

Bin Level

62%

Network

Wi‑Fi

ตรวจพบวัตถุใกล้ฝาถัง • เปิดฝาอัตโนมัติ
Project Overview

แนวคิดโครงงาน

โครงงานนี้ออกแบบถังขยะอัจฉริยะที่เปิดฝาโดยไม่ต้องสัมผัส โดยใช้ Ultrasonic Sensor ตรวจจับมือหรือวัตถุที่เข้าใกล้บริเวณฝาถัง เมื่อระยะอยู่ในช่วงที่กำหนด ระบบจะสั่ง Servo Motor ให้เปิดฝา จากนั้นหน่วงเวลาปิดฝาอัตโนมัติ สามารถเพิ่มเซ็นเซอร์วัดระดับขยะภายในถัง เพื่อแจ้งเตือนเมื่อขยะใกล้เต็ม และแสดงสถานะผ่าน OLED หรือ Dashboard ได้

Ultrasonic Sensor Servo Motor Arduino / ESP32 Waste Level Alert

ข้อมูลสรุปโครงงาน

ระดับความยากเริ่มต้น–กลาง
งบประมาณประมาณ 350–1,200 บาท
เหมาะกับPrototype ใช้งานจริง
ผลลัพธ์หลักเปิดฝาแบบไม่สัมผัส
ดูรายการส่งงาน
System Infographic

แผนภาพอธิบายการทำงานภาพรวมของระบบ

ภาพด้านล่างแสดงลำดับการทำงานของถังขยะอัจฉริยะ ตั้งแต่การตรวจจับมือด้วย Ultrasonic Sensor การประมวลผลระยะ การสั่ง Servo เปิดฝา การหน่วงเวลาปิดฝา และการแจ้งเตือนระดับขยะผ่าน Dashboard

ถังขยะอัจฉริยะเปิดฝาอัตโนมัติUltrasonic Sensor → Arduino/ESP32 → Distance Decision → Servo Motor → Lid Control → Dashboard 1ตรวจจับมือ/วัตถุUltrasonic วัดระยะ 2ประมวลผลระยะArduino/ESP32 อ่านค่าและแปลงเป็น cm 3เทียบค่า Thresholdถ้าระยะใกล้กว่าเกณฑ์ให้เปิดฝาอัตโนมัติ 4สั่ง Servo เปิดฝาหมุนฝาขึ้นตามองศาที่กำหนดเช่น 70–90 องศา 5ปิดฝาและแจ้งเตือนหน่วงเวลาปิดฝา และส่งข้อมูลระดับขยะขึ้น Dashboard สรุปแนวคิดของระบบInput: ระยะจาก Ultrasonic Sensor • Process: เปรียบเทียบกับ Threshold และหน่วงเวลา • Output: Servo เปิด–ปิดฝาถังและแจ้งเตือนระดับขยะเหมาะสำหรับ Prototype ใช้งานจริง เช่น ห้องเรียน ห้องปฏิบัติการ สำนักงาน โรงอาหาร หรือพื้นที่ที่ต้องการลดการสัมผัส
Prototype Design

แบบ Prototype ถังขยะอัจฉริยะเปิดฝาอัตโนมัติ

ภาพนี้แสดงแนวคิดการออกแบบถังขยะอัจฉริยะสำหรับโครงงาน Project04 โดยรวมเซ็นเซอร์ Ultrasonic, Servo Motor สำหรับเปิด–ปิดฝา, OLED, LED แสดงสถานะ, Buzzer, บอร์ด ESP32/Arduino และส่วนตรวจระดับขยะ เพื่อให้นักศึกษานำไปใช้เป็นแนวทางสร้าง Prototype ที่เป็นระเบียบและสาธิตการทำงานได้จริง

Prototype ถังขยะอัจฉริยะเปิดฝาอัตโนมัติ IoT Project04
ส่วนตรวจจับระยะ

ใช้ Ultrasonic Sensor ตรวจจับมือหรือวัตถุที่อยู่ใกล้ฝาถัง เพื่อสั่งให้ระบบเปิดฝาโดยไม่ต้องสัมผัส และสามารถเพิ่มเซ็นเซอร์อีกตัวสำหรับตรวจระดับขยะภายในถังได้

ส่วนเปิด–ปิดฝา

ใช้ Servo Motor ควบคุมมุมฝาถัง เช่น เปิด 70–90 องศา และปิดกลับอัตโนมัติหลังหน่วงเวลา เพื่อให้ใช้งานสะดวกและลดการสัมผัสฝาถัง

ส่วนแสดงผลและ Dashboard

แสดงระยะ สถานะฝา และระดับขยะผ่าน OLED/LED/Buzzer พร้อมเชื่อมต่อ Wi‑Fi เพื่อส่งข้อมูลขึ้น Dashboard เช่น จำนวนครั้งที่เปิดฝาและสถานะถังใกล้เต็ม

Problem & Motivation

ปัญหาและแนวทางแก้ไข

ถังขยะทั่วไปต้องใช้มือสัมผัสฝาถัง ทำให้เกิดความเสี่ยงด้านสุขอนามัย โดยเฉพาะในห้องเรียน ห้องปฏิบัติการ หรือพื้นที่สาธารณะ นอกจากนี้ผู้ใช้มักไม่ทราบว่าถังใกล้เต็มหรือยัง โครงงานนี้จึงพัฒนาถังขยะที่เปิดฝาอัตโนมัติเมื่อตรวจพบมือหรือวัตถุ และสามารถต่อยอดด้วยการวัดระดับขยะเพื่อแจ้งเตือนเมื่อใกล้เต็ม

ลดการสัมผัส

เปิดฝาโดยไม่ต้องสัมผัสโดยตรง ลดโอกาสปนเปื้อนจากฝาถัง

ใช้งานสะดวก

เปิดฝาอัตโนมัติและปิดเองหลังครบเวลาที่กำหนด

รู้สถานะถัง

สามารถเพิ่มการตรวจระดับขยะเพื่อแจ้งเตือนเมื่อใกล้เต็ม

Objectives

วัตถุประสงค์ของโครงงาน

1
ตรวจจับมือ/วัตถุ

ใช้ Ultrasonic Sensor ตรวจจับวัตถุที่เข้าใกล้ฝาถังในระยะที่กำหนด

2
เปิด–ปิดฝาอัตโนมัติ

ควบคุม Servo Motor ให้เปิดฝาและปิดฝาหลังหน่วงเวลา

3
แจ้งเตือนถังใกล้เต็ม

เพิ่มการตรวจระดับขยะภายในถังและแจ้งเตือนด้วยไฟ เสียง หรือ Dashboard

4
แสดงผลสถานะ

แสดงสถานะฝา ระยะตรวจจับ จำนวนครั้งการใช้งาน และระดับขยะ

Scope

ขอบเขตของโครงงาน

ขอบเขตที่ควรทำให้สำเร็จ
  • อ่านค่าระยะจาก Ultrasonic Sensor ได้อย่างต่อเนื่อง
  • กำหนดระยะตรวจจับ เช่น 10–25 เซนติเมตร เพื่อสั่งเปิดฝา
  • ควบคุม Servo Motor เปิดฝาและปิดฝาอัตโนมัติหลังหน่วงเวลา
  • แสดงสถานะเปิด/ปิดฝา และจำนวนครั้งการใช้งาน
  • เพิ่มฟังก์ชันวัดระดับขยะภายในถังเพื่อแจ้งเตือนเมื่อใกล้เต็ม
ข้อจำกัดของ Prototype
  • ระยะตรวจจับอาจคลาดเคลื่อนตามมุมวัตถุและพื้นผิวสะท้อนเสียง
  • Servo ต้องเลือกแรงบิดให้พอเหมาะกับน้ำหนักฝาถัง
  • หากใช้ถังจริงควรออกแบบฐานยึด Servo ให้มั่นคง
  • การวัดระดับขยะอาจคลาดเคลื่อนหากขยะมีรูปทรงไม่สม่ำเสมอ
Equipment

อุปกรณ์และเทคโนโลยีที่ใช้

อุปกรณ์หน้าที่หมายเหตุ
Ultrasonic Sensor HC‑SR04ตรวจจับมือ/วัตถุและวัดระดับขยะอาจใช้ 1–2 ตัว แยกตัวตรวจฝาถังและตัวตรวจระดับขยะ
Arduino UNO / ESP32อ่านค่าระยะ ตัดสินใจ และควบคุม ServoESP32 เหมาะเมื่อต้องการ Dashboard ผ่าน Wi‑Fi
Servo Motorเปิด–ปิดฝาถังเลือกแรงบิดให้เหมาะกับน้ำหนักฝา เช่น SG90/MG996R
LED / Buzzerแจ้งสถานะการทำงานหรือถังใกล้เต็มไฟเขียว/เหลือง/แดง หรือเสียงเตือน
OLED/LCD Displayแสดงระยะ สถานะฝา และระดับขยะเป็นอุปกรณ์เสริมเพื่อให้ Prototype สมบูรณ์ขึ้น
Blynk / ThingSpeak / Web Dashboardแสดงข้อมูลและแจ้งเตือนผ่านเครือข่ายเหมาะสำหรับทีมที่ใช้ ESP32
System Architecture

สถาปัตยกรรมระบบ

Input

Ultrasonic อ่านระยะมือ/วัตถุและระดับขยะ

Controller

Arduino/ESP32 ประมวลผลและตัดสินใจ

Output

Servo เปิด–ปิดฝา พร้อม LED/Buzzer แจ้งเตือน

Dashboard

แสดงสถานะฝา ระดับขยะ และประวัติการใช้งาน

Circuit Connection

ตารางการต่อวงจร

อุปกรณ์ขาอุปกรณ์ต่อกับ Arduino/ESP32คำอธิบาย
Ultrasonic HC‑SR04VCC / GND5V / GNDจ่ายไฟให้เซ็นเซอร์
Ultrasonic HC‑SR04TrigD9 / GPIO5ส่งสัญญาณ Trigger เพื่อเริ่มวัดระยะ
Ultrasonic HC‑SR04EchoD10 / GPIO18รับสัญญาณสะท้อนกลับเพื่อคำนวณระยะ
Servo MotorSignalD6 / GPIO13ควบคุมมุมเปิด–ปิดฝาถัง
LED / BuzzerSignalD4 / GPIO26แจ้งเตือนเมื่อฝาเปิดหรือถังใกล้เต็ม
OLED I2CSDA/SCLA4/A5 หรือ GPIO21/22แสดงระยะ สถานะฝา และระดับขยะ
ข้อควรระวัง: Servo Motor อาจใช้กระแสสูงกว่าที่บอร์ดจ่ายได้ ควรใช้แหล่งจ่ายไฟแยกและต่อ GND ร่วมกับบอร์ดควบคุม
Working Process

กระบวนการทำงานของระบบ

1
อ่านค่าระยะ

ระบบอ่านระยะจาก Ultrasonic Sensor ทุกช่วงเวลาที่กำหนด เช่น ทุก 0.5–1 วินาที

2
ตรวจสอบระยะ Threshold

หากพบมือหรือวัตถุอยู่ใกล้กว่าระยะที่กำหนด เช่น น้อยกว่า 20 ซม. ให้เตรียมเปิดฝา

3
สั่ง Servo เปิดฝา

หมุน Servo ไปยังมุมเปิด เช่น 80–100 องศา เพื่อให้ผู้ใช้ทิ้งขยะได้โดยไม่สัมผัส

4
หน่วงเวลาปิดฝา

เมื่อครบเวลาที่กำหนด เช่น 3–5 วินาที และไม่มีวัตถุอยู่ใกล้ฝา ระบบจะสั่งปิดฝา

5
ตรวจระดับขยะและแจ้งเตือน

หากเพิ่มเซ็นเซอร์วัดระดับขยะ ระบบจะแสดงสถานะว่าง/ปกติ/ใกล้เต็ม และส่งแจ้งเตือนผ่าน Dashboard

Example Code

ตัวอย่างโค้ด Arduino เบื้องต้น

#include <Servo.h> const int trigPin = 9; const int echoPin = 10; const int servoPin = 6; const int buzzerPin = 4; Servo lidServo; int openDistance = 20; int openAngle = 90; int closeAngle = 0; long readDistanceCM() { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); long duration = pulseIn(echoPin, HIGH); return duration * 0.034 / 2; } void setup() { pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(buzzerPin, OUTPUT); lidServo.attach(servoPin); lidServo.write(closeAngle); Serial.begin(9600); } void loop() { long distance = readDistanceCM(); Serial.print("Distance: "); Serial.print(distance); Serial.println(" cm"); if (distance > 0 && distance <= openDistance) { lidServo.write(openAngle); digitalWrite(buzzerPin, HIGH); delay(150); digitalWrite(buzzerPin, LOW); delay(3000); lidServo.write(closeAngle); } delay(500); }
แนวทางต่อยอด: หากใช้ ESP32 สามารถเพิ่ม Dashboard เพื่อแสดงจำนวนครั้งที่เปิดฝา ระดับขยะ และแจ้งเตือนเมื่อถังใกล้เต็มได้
Dashboard Design

แนวทางออกแบบ Dashboard

Dashboard ควรแสดงข้อมูลที่จำเป็นต่อการติดตามการใช้งานถังขยะ เช่น ระยะตรวจจับ สถานะฝา ระดับขยะ จำนวนครั้งที่เปิดฝา และการแจ้งเตือนถังใกล้เต็ม

  • ระยะวัตถุปัจจุบัน เช่น 18 cm
  • สถานะฝา: OPEN / CLOSED
  • ระดับขยะ: ว่าง / ปกติ / ใกล้เต็ม / เต็ม
  • จำนวนครั้งที่เปิดฝาในแต่ละวัน
  • แจ้งเตือนเมื่อถังใกล้เต็มหรือ Servo ทำงานผิดปกติ
IoT Dashboard

Smart Trash Bin

ONLINE
Distance

18 cm

Lid

OPEN

Bin Level

62%

Open Count

24

Waste Level
Testing Plan

แผนการทดสอบระบบ

กรณีทดสอบวิธีทดสอบผลที่คาดหวัง
ไม่มีวัตถุใกล้ฝาถังวางมือห่างเกินระยะ Thresholdฝาถังปิดอยู่และ Servo ไม่ทำงาน
มีมือเข้าใกล้ฝาถังนำมือเข้าใกล้ระยะน้อยกว่า 20 ซม.ฝาถังเปิดอัตโนมัติ
หน่วงเวลาปิดฝารอหลังเปิดฝา 3–5 วินาทีฝาถังปิดเองโดยไม่ต้องกดปุ่ม
ทดสอบหลายระยะทดสอบที่ 5, 10, 15, 20, 30 ซม.ระบบเปิดเฉพาะระยะที่กำหนด
ถังใกล้เต็มจำลองขยะสูงขึ้นภายในถังระบบแจ้งเตือนด้วยไฟ/เสียง/Dashboard
Development Plan

แผนพัฒนาโครงงาน

แบ่งงานเป็นรอบสั้น ๆ เพื่อให้ทีมตรวจความคืบหน้าได้ต่อเนื่องและลดความเสี่ยงตอนรวมระบบ

ช่วงเวลากิจกรรมผลลัพธ์ที่ต้องได้
สัปดาห์ที่ 1วิเคราะห์ปัญหา กำหนด Requirement และออกแบบโครงสร้างถังRequirement, รายการอุปกรณ์, Sketch/Block Diagram
สัปดาห์ที่ 2ต่อวงจร Ultrasonic และทดสอบค่าระยะตารางทดสอบระยะและค่า Threshold ที่เหมาะสม
สัปดาห์ที่ 3ติดตั้ง Servo กับฝาถังและเขียนโปรแกรมเปิด–ปิดฝาถังเปิด–ปิดได้ตามระยะและหน่วงเวลา
สัปดาห์ที่ 4เพิ่ม Dashboard หรือการแจ้งเตือนระดับขยะDashboard แสดงสถานะฝา ระดับขยะ และประวัติ
สัปดาห์ที่ 5ทดสอบรวมระบบ ปรับปรุงกล่อง/สายไฟ และเตรียมนำเสนอPrototype พร้อมวิดีโอ รายงาน และสไลด์

รายการส่งงาน Project04

นักศึกษาควรส่งทั้งชิ้นงาน Prototype ไฟล์โค้ด วิดีโอสาธิต และรายงานสรุปผลการทดสอบ เพื่อแสดงให้เห็นว่าระบบทำงานได้จริง

  • แผนภาพการต่อวงจร Ultrasonic + Controller + Servo
  • โค้ด Arduino/ESP32 พร้อมคำอธิบาย Threshold และ Delay ปิดฝา
  • ภาพหรือวิดีโอสาธิตการเปิด–ปิดฝาแบบไม่สัมผัส
  • Dashboard หรือหน้าจอแสดงผลระยะ สถานะฝา และระดับขยะ
  • ตารางผลการทดสอบระยะตรวจจับและเวลาปิดฝาอย่างน้อย 5 กรณี
Optional Extensions

แนวทางต่อยอดเพื่อเพิ่มคะแนน

ตรวจระดับขยะ

เพิ่ม Ultrasonic อีกตัวเพื่อตรวจระดับขยะภายในถังและแจ้งเตือนเมื่อใกล้เต็ม

ประหยัดพลังงาน

เพิ่ม Sleep Mode หรือควบคุมรอบการอ่านค่าระยะเพื่อลดการใช้พลังงาน

แจ้งเตือนมือถือ

ส่ง Notification เมื่อถังใกล้เต็ม ฝาค้าง หรือมีการใช้งานผิดปกติ

วิเคราะห์การใช้งาน

ทำกราฟจำนวนครั้งการเปิดฝา รายชั่วโมง/รายวัน และช่วงเวลาที่มีการใช้งานสูง