โครงงานคอมพิวเตอร์ เรื่อง ถังขยะเปิด-ปิดอัตโนมัติและตรวจวัดระดับขยะด้วยระบบเซ็นเซอร์ โดย นายณัฐวรรธน์ ทิณรัตน์ รหัสนักศึกษา 640113189037 นายวาคิม คงเร่ง รหัสนักศึกษา 640113189048 นางสาวญาณสิริ บุญเลิศ รหัสนักศึกษา 640113189054 นางสาวสุภรัตน์ โพธิทักษ์ รหัสนักศึกษา 640113189069 นักศึกษาชั้นปีที่ 4 หมู่เรียน 2 สาขาวิชาเทคโนโลยีการศึกษาและคอมพิวเตอร์ศึกษา เสนอ อาจารย์สัญชัย ครบอุดม รายงานนี้เป็นส่วนหนึ่งของรายวิชา 1034803 การจัดการเรียนรู้วิชา การออกแบบและเทคโนโลยีและวิชาวิทยาการคำนวณ ภาคการศึกษาที่ 2 ปีการศึกษา 2567 คณะครุศาสตร์ มหาวิทยาลัยราชภัฏบุรีรัมย์
ก บทคัดย่อ การจัดทำโครงงานถังขยะเปิด-ปิดอัตโนมัติและตรวจวัดระดับขยะด้วยระบบเซ็นเซอร์ ในครั้งนี้มี วัตถุประสงค์เพื่อเพิ่มความสะดวกสบายและสุขอนามัยในการทิ้งขยะ ลดการสัมผัสโดยตรงกับถังขยะ และช่วยให้ สามารถบริหารจัดการขยะได้อย่างมีประสิทธิภาพมากขึ้น ระบบที่พัฒนาขึ้นประกอบด้วยบอร์ดควบคุมการทำงาน จาก Arduino Uno R3 สั่งให้Sensor E18-D80NK ตรวจจับการเคลื่อนไหวสำหรับเปิด-ปิดฝาถังขยะด้วย Tower Pro SG90 Mini Micro Servo โดยอัตโนมัติ และ Sensor HC-SR04 Ultrasonic ตรวจวัดระดับขยะภายในถัง ด้วยซึ่งสามารถแจ้งเตือนเมื่อขยะใกล้เต็มโดยใช้Buzzer Active ให้ส่งเสียงแจ้งเตือนและแสดงผลหน้าจอด้วย 1602 LCD (Blue Screen) 16x2 LCD with backlight of the LCD screen และ I2C Interface เพื่อให้สามารถ ดำเนินการจัดเก็บและกำจัดขยะได้อย่างเหมาะสม การทำงานของระบบควบคุมผ่านไมโครคอนโทรลเลอร์ที่ได้รับ การตั้งโปรแกรมให้ประมวลผลข้อมูลจากเซ็นเซอร์และสั่งการตามเงื่อนไขที่กำหนด ผลการศึกษาจากการทำโครงงานถังขยะเปิด-ปิดอัตโนมัติและตรวจวัดระดับขยะด้วยระบบเซ็นเซอร์ พบว่าระบบถังขยะเปิด-ปิดอัตโนมัติที่พัฒนาขึ้นสามารถทำงานได้อย่างมีประสิทธิภาพ โดย Serson E18-D80NK สามารถตรวจจับวัตถุในระยะ 14-15 เซนติเมตร แล้วส ่งสัญญาณไปยัง Arduino Uno R3 และส ่งสัญญาณ กระแสไฟไปยังตัว Tower Pro SG90 Mini Micro Servo และ ทำการเปิดถังขยะหลังจากที่ Sensor E18-D80NK ตรวจพบวัตถุ และได้ทำการเปิดฝาถังขยะอัตโนมัติ และตัวจอ 1602 LCD (Blue Screen) แบบ I2C เริ ่มการ แสดงผลเมื่อมีการทิ้งขยะด้วยข้อความต่างๆ ที่กำหนดขึ้นมา เพื่อให้ผู้ใช้งานสามารถรับทราบสถานะของถังขยะได้ ทันที เมื่อมีขยะใกล้เต็ม เซ็นเซอร์ HC-SR04 Ultrasonic จะเริ่มการวัดระดับปริมาณขยะเมื่อขยะเข้าใกล้เซ็นเซอร์ ในระยะ 5 เซนติเมตร และจะส ่งกระแสไฟฟ้าไปที ่ Buzzer Active เพื ่อส ่งเสียงแจ้งเตือน 10 วิ เมื ่อขยะเต็ม จากนั้นผู้ใช้งานทำการดึงเชือกเพื่อมัดปากถุงและนำไปทิ้ง การทำงานของระบบที่ควบคุมผ่าน Arduino Uno R3 ทำให้การจัดการขยะมีความสะดวกสบายและมี ประสิทธิภาพมากขึ้น โดยเฉพาะในเรื่องของการลดการสัมผัสโดยตรงกับถังขยะ ซึ่งเป็นการเพิ่มความสะอาดและ สุขอนามัยในสภาพแวดล้อมต่างๆ การแจ้งเตือนเมื่อขยะใกล้เต็มช่วยให้สามารถจัดการกับขยะได้ทันเวลาและไม่ เกิดการสะสมขยะที่มากเกินไป ในด้านการใช้งานทั่วไป ระบบสามารถปรับใช้ได้ทั้งในบ้านเรือนและสถานที่สาธารณะ ซึ่งสามารถช่วยให้ การบริหารจัดการขยะในพื้นที่ต่างๆ เป็นไปอย่างมีประสิทธิภาพ และเพิ่มความสะดวกสบายให้กับผู้ใช้งานในทุกๆ ด้าน
ข กิตติกรรมประกาศ โครงงานนี้เป็นส่วนหนึ่งของรายวิชาการออกแบบและเทคโนโลยีและวิชาวิทยาการคำนวณเพื่อศึกษาและ การทำงานของอุปกรณ์อิเล็กทรอนิกส์ ด้วยความกรุณาจากอาจารย์ที่ปรึกษา ข้อชี้แนะ สำเร็จขึ้นได้ด้วยความ ช่วยเหลือต่าง ๆ ที่เป็นประโยชน์ จากหลายฝ่ายที่มีส่วนร่วมในการสนับสนุนและให้คำแนะนำในการดำเนินการ ตั้งแต่เริ่มต้นจนถึงเสร็จสิ้นการพัฒนา และสำเร็จลุล่วงไปได้ด้วยดี คณะผู้จัดทำขอกราบขอบพระคุณมา ณ ที่นี้ ขอกราบขอบพระคุณอาจารย์ที่ปรึกษา อาจารย์สัญชัย ครบอุดม และ ผู้ช่วยศาสตราจารย์ ดร.เลอสันต์ ฤทธิขันธ์ ที่ให้คำแนะนำและคำปรึกษาอย่างต่อเนื่องตลอดระยะเวลาของโครงงานนี้ รวมถึงการให้แนวทางในการ แก้ไขปัญหาต่างๆ ที่เกิดขึ้นในระหว่างการดำเนินโครงงานและให้ความรู้ ให้คำแนะนำ ทั้งให้กำลังใจ ท้ายสุดนี้คณะผู้จัดทำหวังเป็นอย ่างยิ ่งว ่า โครงงานนี้จะเป็นประโยชน์ต ่อการศึกษาการพัฒนาและ ประยุกต์ใช้เทคโนโลยีอิเล็กทรอนิกส์ในด้านการจัดการขยะอัจฉริยะและเป็นแรงบันดาลใจให้ผู้ที่สนใจได้เรียนรู้และ พัฒนาต่อยอดความรู้ในอนาคตของผู้ที่สนใจต่อไป คณะผู้จัดทำ
ค สารบัญ หน้า บทคัดย่อ ก กิตติกรรมประกาศ ข สารบัญ ค-ง คําอธิบายสัญลักษณ์ จ-ช บทที่ 1 บทนำ 1 ที่มาและความสำคัญของโครงงาน 1 วัตถุประสงค์ 1 ขอบเขตการศึกษาค้นคว้า 3 ประโยชน์ที่คาดว่าจะได้รับ 3 บทที่ 2 แนวคิด ทฤษฎีเอกสารและงานวิจัยที่เกี่ยวข้อง 4 หลักการ Arduino Uno R3 4 หลักการ เซ็นเซอร์ HC-SR04 Ultrasonic 5 หลักการ Tower Pro SG90 Mini Micro Servo 6 หลักการ Sensor E18-D80NK 7 หลักการ Buzzer Active 7 หลักการ 1602 LCD (Blue Screen) 8 หลักการ I2C Interface 8 วิจัยที่เกี่ยวข้อง 9 บทที่ 3 วิธีดำเนินการทดลอง 10 ภาพวงจรควบคุมถังขยะเปิด-ปิดอัตโนมัติ 10 ชิ้นส่วนประกอบของถังขยะเปิด-ปิดอัตโนมัติ 10 การควบคุมการทำงานของระบบ 14 ขั้นตอนการประดิษฐ์ 16 โปรแกรมควบคุมการทำงาน 20
ง บทที่ 4 ผลการศึกษา 24 บทที่ 5 สรุปผล และข้อเสนอแนะ 26 สรุปผลการศึกษา 26 ประโยชน์ที่ได้จากโครงงาน 26 ข้อเสนอแนะ 27 บรรณานุกรม 28 ภาคผนวก 30 ข้อมูลผู้จัดทำ 45
จ คําอธิบายสัญลักษณ์ สัญลักษณ์ผังงาน (Flowchart) ผังงาน หรือ โฟลว์ชาร์ต (Flowchart) เป็นแผนภาพที่ใช้ในการออกแบบและอธิบายกระบวนการทำงาน ของโปรแกรมโดยใช้รูปทรงต่าง ๆ ร่วมกับลูกศร ซึ่งแต่ละรูปในแผนภาพจะแทนการทำงานในขั้นตอนหนึ่ง ขณะที่ ลูกศรจะแสดงลำดับและทิศทางของการทำงานหรือการไหลของข้อมูลตั้งแต ่เริ ่มต้นจนถึงผลลัพธ์ที ่ต้องการ ระบบงานทุกประเภทที่ได้รับการวิเคราะห์และแบ่งเป็นขั้นตอนแล้ว สามารถเขียนเป็นผังงานได้ ประโยชน์ของผังงาน 1. ช่วยอธิบายลำดับขั้นตอนการทำงานของโปรแกรม 2. ทำให้ตรวจสอบข้อผิดพลาดของโปรแกรมได้ง่าย 3. ทำให้ผู้อื่นสามารถศึกษาการทำงานของโปรแกรมและแก้ไขโปรแกรมได้ง่าย การเขียนผังงานที่ดี 1. ใช้สัญลักษณ์ตามที่กำหนดไว้ 2. ผังงานต้องมีจุดเริ่มต้น (Start) และสิ้นสุด (Stop/End/Finish) 3. ใช้หัวลูกศรแสดงทิศทางการไหลของข้อมูลจากบนลงล่างหรือซ้ายไปขวา (ยกเว้นที่ต้องทาซ้ำ) 4. ทุกแผนภาพต้องมีลูกศรแสดงทิศทางเข้า 1 เส้นและออก 1 เส้นโดยไม่มีการปล่อยจุดใดจุดหนึ่งไว้ 5. เขียนคำอธิบายการทำงานในแต่ละขั้นตอนให้สั้น กะทัดรัด ชัดเจน และเข้าใจได้ง่าย 6. หลีกเลี่ยงการโยงเส้นไปมาทำให้เกิดจุดตัดมาก เพราะจะทำให้เกิดข้อผิดพลาดง่าย ควรใช้สัญลักษณ์ เชื่อมจุดต่อเนื่องแทน 7. ไม่ควรโยงเส้นเชื่อมผังงานที่อยู่ไกลมาก ควรใช้สัญลักษณ์จุดเชื่อมต่อแทน 8. ผังงานที่ดีควรมีความเป็นระเบียบเรียบร้อย สะอาด และชัดเจน สามารถเข้าใจและติดตามขั้นตอนได้ ง่าย 9. ผังงานควรมีการทดสอบความถูกต้องของการทำงานก่อนไปเขียนโปรแกรม สัญลักษณ์ในการเขียนผังงาน สัญลักษณ์ที่ใช้แทนขั้นตอนการทำงานของโปรแกรมมีความหมายเฉพาะและเป็นมาตรฐาน นอกจากนี้ผัง งานยังมีองค์ประกอบของเส้นสายและลูกศรเพื่อแสดงการเชื่อมโยงการทำงาน ลำดับ และทิศทางการเชื่อมโยง ระหว่างข้อมูลต่างๆ สัญลักษณ์ของผังงานโปรแกรมสามารถแบ่งออกเป็น 4 กลุ่ม ดังนี้
ฉ กลุ่มสัญลักษณ์ในการรับส่งและเก็บข้อมูล กลุ่มสัญลักษณ์ในการเชื่อมต่อข้อมูล
ช กลุ่มสัญลักษณ์ในการประมวลข้อมูล กลุ่มสัญลักษณ์ในการแสดงผลข้อมูล
1 บทที่ 1 บทนำ 1.1 ที่มาและความสำคัญของโครงงาน ขยะมูลฝอยหรือขยะทั่วไปเป็นปัญหาของคนส่วนใหญ่ ซึ่งสังคมในปัจจุบันยังไม่มีการจัดการที่ดี รวมถึง ภาคครัวเรือนที่มีการทิ้งขยะหรือสิ่งปฏิกูลทุกวัน เช่น เศษอาหาร ถุงพลาสติก เศษกระดาษ อีกทั้งปัจจุบันขยะมูล ฝอยนั้นนับวันจะเพิ่มมากขึ้นตามจำนวนประชากร ถ้าหากไม่มีการจัดการที่ดีและเหมาะสม จะก่อให้เกิดปัญหา ความสกปรกต่าง ๆ ซึ่งส่งผลกระทบต่อสุขภาพ เช่น ปัญหาเรื่องเชื้อโรค สารเคมี และกลิ่นเหม็นที่แพร่กระจายไป ยังสถานที่ต่าง ๆ ปัจจุบันมีถังขยะอยู่จำนวนมาก แต่ถังขยะที่มีอยู่ส่วนใหญ่นั้นอยู่ในสภาพที่ไม่สมบูรณ์ เนื่องจากผ่านการใช้ งานเป็นระยะเวลานาน เช่น ไม่มีฝาปิด ฝาถังชำรุด ถังขยะมีรอยแตกร้าว และขาดการดูแลรักษาที่ดี ซึ่งเป็นสถานที่ สะสมของเชื้อโรคและแบคทีเรีย อาจทำให้เกิดการติดเชื้อแก่ผู้ที่ทิ้งขยะโดยการสัมผัสกับถังขยะโดยตรง ความเป็นไปได้ของโครงงานเป็นไปได้ที่จะบรรลุตามเป้าหมาย เนื่องจากคณะผู้จัดทำตระหนักถึงปัญหา เหล่านี้ ดังที่กล่าวมาข้างต้น ฉะนั้นเราจึงร่วมกันคิดหาเทคนิคการพัฒนาต่อยอดจากถังขยะในรูปแบบเดิม โดยนำ ความรู้จากรายวิชาการออกแบบและเทคโนโลยี และวิชาวิทยาการคำนวณ มาประยุกต์ใช้ในการพัฒนาถังขยะที่มี ระบบเซ็นเซอร์ โครงงาน "ถังขยะเปิด-ปิดอัตโนมัติและวัดระดับขยะด้วยระบบเซ็นเซอร์" เป็นโครงการที่ออกแบบให้ถัง ขยะสามารถเปิด-ปิดได้โดยอัตโนมัติเมื่อมีผู้ใช้งานเข้ามาใกล้ โดยใช้เซ็นเซอร์ตรวจจับการเคลื่อนไหว (Motion Sensor) เพื่อลดการสัมผัสโดยตรงกับถังขยะ ซึ่งช่วยลดการแพร่กระจายของเชื้อโรค นอกจากนี้ยังมีระบบเซ็นเซอร์ วัดระดับขยะ (HC-SR04 Ultrasonic Sensor) และเซ็นเซอร์ H18 ที ่สามารถแจ้งเตือนเมื ่อขยะภายในถังเต็ม รวมถึงเซ็นเซอร์ Buzzer Active ที่ทำหน้าที่ส่งเสียงแจ้งเตือนเมื่อขยะเต็ม เพื่อให้สามารถจัดการขยะได้อย่างมี ประสิทธิภาพมากขึ้น โดยทั้งหมดนี้จะถูกควบคุมด้วยบอร์ด Arduino Uno R3 ซึ่งเป็นไมโครคอนโทรลเลอร์ที่ช่วย ให้ระบบทำงานได้อย่างอัตโนมัติและแม่นยำ เมื่อโครงงานสำเร็จ จะส่งผลให้มีถังขยะที่มีสภาพพร้อมใช้งาน มีประสิทธิภาพมากขึ้น และช่วยให้เกิด สภาพแวดล้อมที่ดี สะอาด และเป็นระเบียบเรียบร้อย รวมไปถึงการตอบสนองต่อความต้องการของมนุษย์ในยุค ปัจจุบัน นอกจากนี้ยังช่วยให้ผู้คนตระหนักถึงความสำคัญของการจัดการขยะ และส่งเสริมสุขอนามัยของคนใน สังคมอีกด้วย 1.2 วัตถุประสงค์ 1. เพื่อสร้างถังขยะเปิด-ปิดอัตโนมัติและตรวจวัดระดับขยะด้วยระบบเซ็นเซอร์ 2. เพื่อศึกษาเทคโนโลยีเซ็นเซอร์และระบบควบคุมอัตโนมัติ เพื่อนำมาประยุกต์ใช้ให้เกิดประโยชน์ 3. เพื่อป้องกันการแพร่กระจายของเชื้อโรคและลดการสัมผัสโดยตรงกับถังขยะ
2 1.3 สมมติฐาน 1. ถังขยะเปิด-ปิดอัตโนมัติและวัดระดับขยะด้วยระบบเซ็นเซอร์สามารถช่วยเพิ่มความสะดวกสบายในการทิ้ง ขยะและลดการสัมผัสโดยตรงกับถังขยะได้ 2. ระบบเซ็นเซอร์สามารถทำงานได้อย ่างแม ่นยำ และสามารถแจ้งเตือนได้เมื ่อขยะเต็ม เพื ่อให้สามารถ จัดการขยะได้อย่างเหมาะสม 3. โครงงานนี้สามารถประยุกต์ความรู้ที่ได้เรียนมาใช้จริง และช่วยส่งเสริมให้เกิดการใช้เทคโนโลยีเพื่อพัฒนา สิ่งแวดล้อมและสุขอนามัย 1.4 ตัวแปร • ตัวแปรต้น (Independent Variable) 1. ระบบเซ็นเซอร์ตรวจจับการเคลื่อนไหว Sensor E18-D80NK 2. เซ็นเซอร์วัดระดับขยะ HC-SR04 Ultrasonic Sensor 3. Buzzer Active สำหรับระบบแจ้งเตือน 4. 1602 LCD (Blue Screen) 16x2 LCD with backlight และ I2C Interface เพื่อแสดงข้อมูล สถานะของถังขยะ • ตัวแปรตาม (Dependent Variable) 1. การทำงานของถังขยะที่สามารถเปิด-ปิดอัตโนมัติ 2. ระบบแจ้งเตือนเมื่อขยะเต็ม 3. การแสดงผลข้อมูลสถานะของถังขยะผ่าน LCD Display • ตัวแปรควบคุม (Controlled Variable) 1. ประเภทของเซ็นเซอร์ที ่ใช้ (Motion Sensor, HC-SR04 Ultrasonic Sensor, Sensor E18- D80NK และ Buzzer Active) 2. 1602 LCD (Blue Screen) 16x2 LCD with backlight และ I2C Interface 3. ขนาดและโครงสร้างของถังขยะ 4. ระยะห่างของเซ็นเซอร์จากปากถังขยะเพื่อให้ตรวจจับได้อย่างแม่นยำ 5. การใช้บอร์ดควบคุม Arduino Uno R3 เพื่อให้ระบบทำงานได้อย่างมีประสิทธิภาพ 1.5 นิยามศัพท์เฉพาะ 1.5.1 Arduino Uno R3 – ไมโครคอนโทรลเลอร์ที่ใช้ในการควบคุมอุปกรณ์อิเล็กทรอนิกส์และระบบ อัตโนมัติ 1.5.2 Motion Sensor – เซ็นเซอร์ตรวจจับการเคลื่อนไหวที่ใช้ในการเปิด-ปิดถังขยะโดยอัตโนมัติ 1.5.3 HC-SR04 Ultrasonic Sensor – อุปกรณ์ที่ใช้คลื่นเสียงความถี่สูงเพื่อตรวจจับระยะทางของวัตถุ 1.5.4 Sensor E18-D80NK – เซ็นเซอร์ที่ใช้ในการตรวจจับวัตถุและระยะทาง 1.5.5 Buzzer Active – อุปกรณ์ส่งเสียงแจ้งเตือนเมื่อถังขยะเต็ม 1.5.6 สายไฟจัมเปอร์ (ตัวผู้-ตัวเมีย) – สายไฟที่ใช้เชื่อมต่ออุปกรณ์อิเล็กทรอนิกส์ 1.5.7 ก้างปลาคอนเนคเตอร์ (ตัวผู้-ตัวเมีย) – ขั้วต่อสายไฟที่ช่วยให้การเชื่อมต่อสะดวกขึ้น
3 1.5.8 Adapter เซ็นเซอร์– อะแดปเตอร์ที่ใช้จ่ายไฟให้กับเซ็นเซอร์ต่าง ๆ 1.5.9 ถังขยะ – ภาชนะที่ใช้ในการรวบรวมขยะ 1.5.10 1602 LCD (Blue Screen) – หน้าจอ LCD ขนาด 16x2 ที่มีไฟแบ็คไลท์และ I2C Interface ใช้ในการแสดงข้อมูลต่าง ๆ บนหน้าจอ 1.6 นิยามเชิงปฏิบัติการ 1.6.1 ถังขยะเปิด-ปิดอัตโนมัติ– หมายถึง ถังขยะที่สามารถเปิด-ปิดฝาถังได้เองโดยอัตโนมัติ เมื่อมีผู้ใช้ เข้ามาใกล้ โดยใช้เซ็นเซอร์ตรวจจับการเคลื่อนไหว Sensor E18-D80NK ควบคุมการทำงานของ Servo Motor 1.6.2 ระบบวัดระดับขยะ – หมายถึง ระบบที่ใช้เซ็นเซอร์ตรวจจับปริมาณขยะภายในถัง HC-SR04 Ultrasonic Sensor เพื่อแจ้งเตือนเมื่อขยะเต็ม 1.6.3 ระบบแจ้งเตือนขยะเต็ม – หมายถึง ระบบที่ใช้Buzzer Active ในการส่งเสียงแจ้งเตือนเมื่อขยะ เต็ม 1.6.4 การควบคุมผ่าน Arduino Uno R3 – หมายถึง การใช้บอร์ด Arduino Uno R3 ในการ ประมวลผลและควบคุมการทำงานของถังขยะอัตโนมัติ 1.6.5 ระยะตรวจจับของเซ็นเซอร์– หมายถึง ระยะที่เซ็นเซอร์สามารถตรวจจับวัตถุและส่งสัญญาณให้ Arduino ประมวลผลได้ (โดยปกติไม่เกิน 5-10 เซนติเมตรในโครงการนี้) 1.7 ขอบเขตของการดำเนินงาน 1.7.1 ศึกษาการใช้งานบอร์ด Arduino เพื่อประยุกต์ใช้ในการควบคุมการทางานระบบเปิด-ปิด อัตโนมัติ ของถังขยะ 1.7.2 ศึกษาการออกแบบระบบ การติดตั้งและการทางานของระบบเซ็นเซอร์อัลตราโซนิค 1.7.3 ศึกษาการตอบสนองของระบบเซ็นเซอร์กับการเปิด-ปิดอัตโนมัติของถึงขยะ 1.8 ประโยชน์ที่คาดว่าจะได้รับ 1.8.1 ได้ระบบเปิด-ปิด ถังขยะอัตโนมัติด้วยเซ็นเซอร์ตรวจจับการเคลื่อนไหว 1.8.2 เพิ่มความสะดวกสบายต่อการใช้งานในแต่ละวัน 1.8.3 สามารถประยุกต์สิ่งของที่มีให้มีความทันสมัยขึ้น 1.8.4 ป้องกันเชื้อโรคจากถังขยะ
4 บทที่ 2 แนวคิด ทฤษฏีเอกสารและงานวิจัยที่เกี่ยวข้อง ในการศึกษาโครงงานเรื่อง ถังขยะเปิด-ปิดอัตโนมัติด้วยเซ็นเซอร์อัลตราโซนิค สิ่งแรกที่จำเป็นในการจัดทำ โครงงาน ต้องรู้จักหลักการทำงานของอุปกรณ์ การประกอบส่วนต่าง ๆ ของอุปกรณ์และการเขียนโปรแกรมควบคุม การทำงานตามวัตถุประสงค์ มีการวิเคราะห์และหาข้อมูลในส่วนนั้น เพื่อเป็นแหล่งข้อมูลในการนำไปใช้ในการทำ โครงงานและพัฒนาต่อยอดการศึกษา คณะผู้จัดทำได้ทำการรวบรวมแนวคิดหลักการและทฤษฎีต่างๆจากเอกสาร ที่เกี่ยวข้องดังต่อไปนี้ 2.1 หลักการ Arduino Uno R3 2.2 หลักการ เซ็นเซอร์ HC-SR04 Ultrasonic 2.3 หลักการ Tower Pro SG90 Mini Micro Servo 2.4 หลักการ Sensor E18-D80NK 2.5 หลักการ Buzzer Active 2.6 หลักการ 1602 LCD (Blue Screen) 16x2 LCD with backlight of the LCD screen 2.7 หลักการ I2C Interface ขนาด 16 ตัวอักษร 2 แถว 2.8 วิจัยที่เกี่ยวข้อง 2.1 หลักการ Arduino Uno R3 Arduino Uno R3 เป็นบอร์ดไมโครคอนโทรลเลอร์ ATmega328P ชนิดหนึ่ง ซึ่งประกอบด้วย - แรงดันไฟฟ้าของ Arduino คือ 5V - แรงดันไฟฟ้าขาเข้าที่แนะนำมีตั้งแต่ 7V ถึง 12V - แรงดันไฟฟ้า i / p (ขีด จำกัด ) คือ 6V ถึง 20V - พินอินพุตและเอาต์พุตดิจิตอล -14 - พินอินพุตและเอาต์พุตดิจิตอล (PWM) -6 - หมุด i / p แบบอะนาล็อกคือ 6 - กระแสไฟฟ้ากระแสตรงสำหรับแต่ละ I/ O Pin คือ 20 mA - กระแสไฟตรงที่ใช้สำหรับ 3.3V Pin คือ 50 mA - หน่วยความจำแฟลช -32 KB และหน่วยความจำ 0.5 KB ถูกใช้โดยบูตโหลดเดอร์ - SRAM คือ 2 KB - EEPROM คือ 1 KB - ความเร็วของ CLK คือ 16 MHZ - ในตัว LED - ความยาวและความกว้างของ Arduino คือ 68.6 มม. X 53.4 มม
5 Arduino Uno R3 พินไดอะแกรม แผนภาพพิน Arduino Uno R3 ดังแสดงด้านล่าง ประกอบด้วย Pim 1/0 14 หลัก จากPinเหล่านี้ สามารถใช้ 6 Pin เช่นเอาต์พุต PWM บอร์ดนี้ประกอบด้วยพินอินพุต / เอาท์พุตดิจิตอล 14 พินอินพุตอนาล็อก -6 การเชื่อมต่อ USB ควอตซ์คริสตัล -16 MHZ แจ็คเพาเวอร์ การเชื่อมต่อ USE , resonator-16Mhz, แจ็คเพาเวอร์, ส่วนหัว ICSP และปุ่ม RST การเขียนโปรแกรม Arduino Uno R3 การเขียนโปรแกรม Arduino Uno R3 สามารถทำได้โดยใช้ซอฟต์แวร์ IDE ไมโครคอนโทรลเลอร์ บนบอร์ดจะมาพร้อมกับการเบิร์นล่วงหน้าโดยบูตโหลดเดอร์ที่อนุญาตให้อัปโหลดโค้ดใหม่โดยไม่ต้องใช้ โปรแกรมเมอร์ฮาร์ดแวร์ภายนอก การสื่อสารนี้สามารถทำได้โดยใช้โปรโตคอลเช่น STK500 นอกจากนี้เรายังสามารถอัปโหลดโปรแกรมในไมโครคอนโทรลเลอร์ได้โดยหลีกเลี่ยงการบูต เครื่องโดยใช้ส่วนหัวเช่น In-Circuit Serial Programming ภาพที่ 2.1 Arduino Uno R3 2.2 หลักการ เซ็นเซอร์ HC-SR04 Ultrasonic เซ็นเซอร์วัดระยะทาง โมดูลวัดระยะทาง HC-SR04HC-SR04 Ultrasonic Distance Measuring Module เซ็นเซอร์วัดระยะทาง Ultrasonic Distance Measuring Module HC-SR04 เซ็นเซอร์วัดระยะ ด้วย คลื่นอัลตร้าโซนิค หลักการทำงานโดยใช้วิธีการส่งคลื่นเสียง Ultrasonic ที่ความถี่ 40KHz แล้วสะท้อนวัตถุกลับมา ยังตัวรับ แล้วจับเวลาเพื่อคำนวณหาระยะทาง สามารถวัดระยะได้ในช่วง 2เซ็นติเมตร จนถึง 4.5 เมตร โมดูลวัด ระยะ HC-SR04 นี้ เหมาะสำหรับนำไปใช้งานที่ไม่ต้องการความแม่นยำมากนัก หรือใช้เพื่อการเรียนรู้ • วัดระยะได้ในช่วง 2 เซ็นติเมตร จนถึง 4.5 เมตร • ความกว้างที่สามารถวัดได้ 30 องศา • ใช้ไฟเลี้ยงในการทำงาน 5VDC ใช้กระแสไฟฟ้า < 15mA • ความละเอียด 0.3 cm • ขนาดบอร์ด 45x20x15mm
6 ภาพที่ 2.2 เซ็นเซอร์ HC-SR04 Ultrasonic 2.3 หลักการ Tower Pro SG90 Mini Micro Servo Servo คืออุปกรณ์มอเตอร์ ที่สามารถควบคุมการหมุนที่แม่นยำ เซอร์โว SG90 มีขนาดเล็กแรงบิด 1.2- 1.4 kg/cm KG/cm สีน้ำตาลเป็นสายกราวด์ สีแดงเป็นไฟเข้า 4.8-7.2 V สีส้มเป็นสัญญาณอินพุต หมุน 0-180 องศา ถ้าทำให้หมุน 360 ต่อเนื่อง องศาให้ใช้ 2.2 K ohm Tower Pro SG90 Mini Micro Servo Servo motor รุ่นนี้เหมาะสำหรับการใช้งานกับ RC คอปเตอร์ หรือ งานที่ต้องการมอเตอร์น้ำหนักเบา (เฟืองเป็นพลาสติด) ให้ทอร์กที่ 1.8 kg-cm ที่แรงดัน 4.8 V Feedback Control คือ ระบบควบคุมที่มี การวัดค่าเอาต์พุตของระบบนำมาเปรียบเทียบกับค่าอินพุตเพื่อควบคุมและปรับแต่งให้ค่าเอาต์พุตของระบบให้มีค่า เท่ากับ หรือ ใกล้เคียงกับค่าอินพุต Servo Motor คือ DC มอเตอร์ ที่สามารถควบคุมองศาในการหมุนได้ เนื่องจากมีเฟือง (Gear) และ ตัวอ่านค ่าองศา อยู ่ภายในตัวถังของมัน ซึ ่งServoอิเล็กทรอนิกส์ส ่วนมาก จะหมุนได้ 180องศา แต ่ก็เพียงพอ สำหรับนำไปใช้ในหลายๆงาน หลักการทำงานของ Servo Motor เมื่อจ่ายสัญญาณพัลซ์เข้ามายัง Servo Motor ส่วนวงจรควบคุม (Electronic Control System) ภายใน Servo จะทำการอ่านและประมวลผลค่าความกว้างของสัญญาณพัลซ์ที่ส่ง เข้ามาเพื่อแปลค่าเป็นตำแหน่งองศาที่ต้องการให้ Motor หมุนเคลื่อนที่ไปยังตำแหน่งนั้น แล้วส่งคำสั่งไปทำการ ควบคุมให้ Motor หมุนไปยังตำแหน่งที่ต้องการ โดยมี Position Sensor เป็นตัวเซ็นเซอร์คอยวัดค่ามุมที่ Motor กำลังหมุน เป็น Feedback กลับมาให้วงจรควบคุมเปรียบเทียบกับค่าอินพุตเพื่อควบคุมให้ได้ตำแหน่งที่ต้องการ อย่างถูกต้องแม่นยำ ภาพที่ 2.3 Tower Pro SG90 Mini Micro Servo
7 2.4 หลักการ Sensor E18-D80NK เซ็นเซอร์ตรวจจับวัตถุ จับสิ่งกีดขวาง Infrared photoelectric switch Sensor E18-D80NK เป็น เซนเซอร์ที่ใช้หลักการยิงแสงอินฟาเรดออกไป หากมีวัตถุขวางจะมีการสะท้อนกลับมาเพื่อใช้แทนสวิทช์เซนเซอร์ว่า ขณะนี้มีสิ่งกีดขวาง หรือวัตถุอยู่หน้าเซนเซอร์หรือไม่ ซึ่งระยะทำการอยู่ที่ 3-80cm โดยใช้ไฟเลี้ยงแค่ 5v จาก arduino ได้ทันที ซึ่งให้ค่าออกมาเป็นสัญญาณ on-off โดย on คือมีสิ่งกีดขวาง, off คือไม่มีสิ่งกีดขวางสามารถ นำไปใช้งานกับหุ่นยนต์หลบสิ่งกีดขวางหรืองาน automation เช่นไลน์การผลิตต่างๆ เซ็นเซอร์ E18-D80NK เป็น อุปกรณ์ที่มีประโยชน์มากในการตรวจจับวัตถุ โดยใช้หลักการสะท้อนแสงอินฟราเรด ซึ่งสามารถนำไปประยุกต์ใช้ ได้หลากหลาย ไม่ว่าจะเป็นระบบอัตโนมัติ หุ่นยนต์ หรือระบบรักษาความปลอดภัย ด้วยขนาดที่กะทัดรัดและใช้ งานง่าย ทำให้เป็นตัวเลือกที่เหมาะสำหรับโปรเจกต์ด้านอิเล็กทรอนิกส์และ IoT เป็นต้น ภาพที่ 2.4 Sensor E18-D80NK 2.5 หลักการ Buzzer Active ออดไฟฟ้า (Buzzer) หรือลำโพงบัซเซอร์ เป็นอุปกรณ์ไฟฟ้าที่ให้สัญญาณเตือนด้วยเสียง ซึ่งนิยมนำมาใช่ ในงานอุตสาหกรรมและอาคารทั่วไป โดยหลักการทำงานของออดไฟฟ้าเมื่อกดสั่งทำงานก็จะมีเสียงออกมาได้ เมื่อ หยุดจ่ายไฟเสียงก็จะหยุดลงทันที ออดไฟฟ้าจะมีให้เลือกใช้งานหลายรูปแบบทั้งทรงกลม ทรงเหลี่ยม มีลำโพงและ ไฟ LED ในตัว มีความทนทาน สามารถเลือกเสียงได้ ประกอบติดตั้งบนผนังหรือเพดานได้ง่าย และมีอายุการใช้งาน ที่ยาวนาน ปัจจุบันออดไฟฟ้าที่นำมาใช้งานสามารถแบ่งออกเป็น 3 ประเภทด้วยกัน คือ ออดไฟฟ้าระบบ อิเล็กทรอนิกส์ ออดไฟฟ้าเชิงกล และออดไฟฟ้าเพียโซอิเล็กทริค ซึ่งแต่ละแบบจะมีลักษณะการทำงานที่แตกต่าง กันออกไป ดังนั้นจึงควรเลือกใช้ออดไฟฟ้าให้ถูกต้องและเหมาะสมกับการใช้งาน ภาพที่ 2.5 Buzzer Active
8 2.6 หลักการ 1602 LCD (Blue Screen) 16x2 LCD with backlight of the LCD screen LCD 1602 เป็นจอแสดงผลแบบอักษรที่ใช้เทคโนโลยี Liquid Crystal Display (LCD) สามารถ แสดงผลได้ 16 ตัวอักษรต่อบรรทัด จำนวน 2 บรรทัด โดยใช้ไดรเวอร์ HD44780 ในการควบคุมการทำงาน ข้อมูล ถูกส่งผ่านโหมด 4-bit หรือ 8-bit จากไมโครคอนโทรลเลอร์ ตัวอักษรถูกแสดงผลโดยใช้รหัส ASCII และพิกเซล ภายในจอ ไฟพื้นหลัง (Backlight) ช่วยให้มองเห็นได้ชัดเจนขึ้น เหมาะสำหรับการใช้งานที่ต้องการแสดงข้อความใน ระบบไมโครคอนโทรลเลอร์ เช่น Arduino หรือ Raspberry Pi ภาพที่ 2.6 1602 LCD (Blue Screen) 16x2 LCD with backlight of the LCD screen 2.7 หลักการ I2C Interface ขนาด 16 ตัวอักษร 2 แถว I2C Interface สำหรับ LCD 16x2 เป็นวิธีเชื่อมต่อที่ช่วยลดจำนวนสายสัญญาณจาก 6-8 เส้น เหลือ เพียง 2 เส้น ได้แก่ SDA (Data) และ SCL (Clock) โดยใช้ โปรโตคอล I2C ในการสื่อสาร ไมโครคอนโทรลเลอร์ทำ หน้ าที ่เป็น Master และจอ LCD (ผ ่ านไอซี PCF8574) เป็น Slave ข้อมูลและค ำสั ่งจ ะถูกส ่งจ าก ไมโครคอนโทรลเลอร์ผ่านบัส I2C ไปยังไอซี จากนั้นไอซีจะควบคุมขา RS, E, D4-D7 ของ LCD ในโหมด 4-bit นอกจากนี้ โมดูล I2C ยังมีตัวต้านทาน Pull-up สำหรับเสถียรภาพของสัญญาณ และมีจัมเปอร์สำหรับ ควบคุมไฟ Backlight การใช้ I2C ทำให้ลดจำนวนขาที่ต้องใช้บนไมโครคอนโทรลเลอร์ เหมาะสำหรับอุปกรณ์ที่มีขา จำกัด เช่น Arduino, ESP8266 และ Raspberry Pi ช่วยให้การเชื่อมต่อและเขียนโค้ดควบคุม LCD ง่ายขึ้น ภาพที่ 2.7 I2C Interface ขนาด 16 ตัวอักษร 2 แถว
9 2.8 วิจัยที่เกี่ยวข้อง วรรณพงษ์ อยู่นาค และคณะ (2559) ได้กล่าวถึงการวางแผนการจัดการขยะภายในมหาวิทยาลัยศรีนคริ นทรวิโรฒ องครักษ์ โดยศึกษาปริมาณขยะที่เกิดขึ้น และพบแนวทางการจัดการ ได้แก่ การคัดแยกขยะก่อนทิ้ง การจัดการขยะแต ่ละประเภท การใช้ประโยชน์จากขยะ การจัดการขยะติดเชื้อและขยะอันตราย รวมถึงการ ส่งเสริมและสนับสนุนการลดปริมาณขยะและการแยกประเภทขยะ ปัญจพล ไทยปิยะ (2560) ได้กล่าวถึง การพัฒนาต้นแบบถังขยะอัจฉริยะเพื่อส่งเสริมการเรียนรู้และสร้าง เศรษฐกิจสร้างสรรค์ ภายใต้แผนงานวิจัย *การพัฒนาระบบบริหารจัดการขยะเพื่อเพิ่มสุขภาวะและเศรษฐกิจแบบ สร้างสรรค์ โดยมุ่งเน้นการออกแบบและพัฒนาต้นแบบถังขยะอัจฉริยะที่สามารถคัดแยกบรรจุภัณฑ์โลหะ และ ควบคุมการทำงานด้วยไมโครคอนโทรลเลอร์ อานนท์ เนตรยอง และธิติมา นริศเนตร (2562) ได้กล่าวถึง ถังขยะอัจฉริยะ ซึ่งเป็นถังขยะที่สามารถแจ้ง เตือนผ่านเว็บไซต์ เปิด-ปิดได้โดยอัตโนมัติ ช่วยลดการสัมผัสเชื้อโรคบริเวณฝาถังขยะ และช่วยให้เจ้าหน้าที่สามารถ ตรวจสอบสถานะปริมาณขยะภายในถังได้อย่างสะดวก ทิพานัน พงษ์สุวรรณ และคณะ (2562) ได้กล่าวถึง ระบบติดตามถังขยะอัจฉริยะ ซึ่งใช้เซ็นเซอร์วัด คุณภาพอากาศ ระบบนำทาง (GPS) และมีการแจ้งเตือนผ่านเว็บไซต์และแอปพลิเคชัน เพื่อแก้ไขปัญหาการจัดการ ถังขยะในห้องสมุด Mohan Kumar V. และคณะ (2019) ได้กล่าวถึง Design and Fabrication of Smart Bin ซึ่งนำเสนอ ระบบแจ้งเตือนเมื่อถังขยะเต็ม โดยใช้การส่งข้อความแจ้งเตือนไปยังเจ้าหน้าที่ที่รับผิดชอบในหน่วยงานเทศบาล เพื่อให้สามารถเข้ามาจัดเก็บขยะได้ทันท่วงที ช่วยลดปัญหาด้านสิ่งแวดล้อม Aksan Surya Wijaya และคณะ (2017) ได้กล่าวถึง Design a Smart Waste Bin for Smart Waste Management ซึ่งนำเสนอถังขยะอัจฉริยะที่สามารถจัดการขยะในโครงการเมืองอัจฉริยะ โดยระบบประกอบด้วย เซ็นเซอร์สำหรับวัดน้ำหนักของเสียและระดับของของเสียภายในถัง อีกทั้งยังสามารถเชื่อมโยงเข้ากับเครือข่ายเพื่อ จัดการข้อมูลทั้งหมดเกี่ยวกับขยะได้อย่างมีประสิทธิภาพ Harnani Hassan และคณะ (2018) ได้กล่าวถึง *A Low-Cost Automated Sorting Recycle Bin Powered by Arduino Microcontroller* ซึ่งนำเสนอการสร้างต้นแบบถังขยะรีไซเคิลที่ใช้กลไกการตรวจจับใน การคัดแยกขยะรีไซเคิลโดยอัตโนมัติ เช่น โลหะ กระดาษ และพลาสติก ผลงานดังกล่าวแสดงให้เห็นว่าต้นแบบถัง ขยะรีไซเคิลสามารถคัดแยกขยะได้อย่างมีประสิทธิภาพ โดยเฉพาะขยะพลาสติก และสามารถนำไปประยุกต์ใช้ใน อนาคตได้ Kellow Pardini and et al. (2018) Smart Waste Bin: A New Approach for Waste Management in Large Urban Centers ได้กล่าวถึงการน าเสนอระบบบูรณาการที่รวมการระบุ ตัวตน ผ ่านเซนเซอร์ อัลตรา โซนิกและเซนเซอร์ โหลดเซลล์ อุปกรณ์ระบุตำแหน่ง และการติดต่อสื่อสารผ่านระบบการสื่อสารแบบเคลื่อนที่ ระบบดังกล่าวยังช่วยในการจัดตารางการจัดเก็บขยะให้มีประสิทธิภาพ โดยการค้นหาเส้นทางที่ดีที่สุด
10 บทที่ 3 วิธีดำเนินการทดลอง 3.1 ภาพวงจรควบคุมถังขยะเปิด-ปิดอัตโนมัติ ภาพที่ 3.1 วงจรควบคุมถังขยะเปิด-ปิดอัตโนมัติ 3.2 ชิ้นส่วนประกอบของถังขยะเปิด- ปิดอัตโนมัติ 3.2.1 Arduino Uno R3 ภาพที่ 3.2.1 วงจรควบคุมถังขยะเปิด-ปิดอัตโนมัติ
11 3.2.2 Tower Pro SG90 Mini Micro Servo ภาพที่ 3.2.2 Tower Pro SG90 Mini Micro Servo 3.2.3 เซ็นเซอร์ HC-SR04 Ultrasonic Sensor ภาพที่ 3.2.3 เซ็นเซอร์ HC-SR04 Ultrasonic Sensor 3.2.4 Sensor E18-D80NK ภาพที่3.2.4 Sensor E18-D80NK ภาพที่ 3.2.4 Sensor E18-D80NK
12 3.2.5 Buzzer Active ภาพที่ 3.2.5 Buzzer Active 3.2.6 adapter ภาพที่ 3.2.6 adapter 3.2.7 สายไฟจัมเปอร์ (ตัวผู้-ตัวเมีย) ภาพที่3.2.7 สายไฟจัมเปอร์ (ตัวผู้-ตัวเมีย) ภาพที่ 3.2.7 สายไฟจัมเปอร์ (ตัวผู้-ตัวเมีย)
13 3.2.8 ก้างปลาคอนเนคเตอร์ (ตัวผู้ ตัวเมีย) ภาพที่3.2.8 ก้างปลาคอนเนคเตอร์ (ตัวผู้ ตัวเมีย) ภาพที่ 3.2.7 ก้างปลาคอนเนคเตอร์ (ตัวผู้ ตัวเมีย) 3.2.9 ถังขยะ ภาพที่ 3.2.9 ถังขยะ
14 3.2.10 1602 LCD (Blue Screen) 16x2 LCD with backlight of the LCD screen ภาพที่ 3.2.10 1602 LCD (Blue Screen) 3.2.11 I2C Interface ขนาด 16 ตัวอักษร 2 แถว ภาพที่ 3.2.11 I2C Interface 3.3 การควบคุมการทำงานของระบบ การควบคุมการทำงานของระบบจะใช้ Arduino เป็นคัวควบคุมการทำงานทั้งหมดส่วนที่ Arduino ไป ควบคุมได้แก่ 3.3.1 การควบคุมเซ็นเซอร์ วัดระยะทาง ในการควบคุมเซ็นเซอร์วัดระยะทางให้ Arduino สั่งให้ทำงานเมื่อวัตถุมาใกล้ในระยะที่กำหนด โดย เซ็นเซอร์จะส่งสัญญาณออกไปในระยะที่กำหนด และสะท้อนสัญญาณที่ส่งไปกลับมาประมวลผล 3.3.2 การควบคุม Servo Motor ในการควบคุม Servo ให้ Arduino เป็นตัวสั่งให้ทำงานโดยArduino ได้ประมวลผลที่ได้รับจากเซ็นเซอร์ ส่งสัญญาณมายัง Servo ในการเปิด-ปิดฝาถังขยะ 3.3.3 การควบคุมเซ็นเซอร์ วัดระดับขยะเต็มและส่งเสียงแจ้งเตือน เซ็นเซอร์จะทำการวัดระดับขยะอย่างต่อเนื่องหากระดับขยะถึงจุดที่กำหนด Arduino จะสั่งให้ Buzzer Active ส่งเสียงแจ้งเตือนให้ทราบว่าถังขยะเต็ม
15 3.3.4 flowchart ภาพที่ 3.3.4 การควบคุมการทำงานของระบบ แบบ flowchart เริ่ม จับวัตถุ มีวัตถุ Servo ท างาน วัดระดับขยะ ขยะเต็ม ส่งเสียงแจ้งเตือน จบ รอจนกว่าจะมีวัตถุ รอจนกว่าจะขยะเต็ม ถ้ามีวัตถุ ถ้าไม่มีวัตถุ ถ้าขยะไม่เต็ม ถ้าขยะเต็ม แสดงผลข้อความ
16 3.4 ขั้นตอนการประดิษฐ์ 3.4.1 เขียนโปรแกรมลง Arduino ภาพที่ 3.4.1.1 โปรแกรม Arduino ใช้ในการเขียนโค้ดลงตัว Arduino Uno R3 ภาพที่ 3.4.1.2 เขียนโปรแกรมลง Arduino ภาพที่ 3.4.1.3 เขียนโปรแกรมลง Arduino
17 ภาพที่ 3.4.1.4 เขียนโปรแกรมลง Arduino ภาพที่ 3.4.1.5 เขียนโปรแกรมลง Arduino ภาพที่ 3.4.1.6 เขียนโปรแกรมลง Arduino
18 3.4.2 นำถังขยะมาเจาะรู เพื่อนำSensor E18-D80NK ในการใส่ให้พอดี 3.4.3 นำฝาถังขยะมาตัดตรงข้างรูใส่ล็อคเพื่อใช้สำหรับใส่ Tower Pro SG90 Mini Micro Servo ได้พอดี 3.4.4 ต่อ Buzzer Active ข้างในบนฝาถังขยะโดยใช้กาวแท่งอัดความร้อน 3.4.5 เจาะรูที่ด้านหลังถังขยะ ใส่ HC-SR04 Ultrasonic Sensor ที่ด้านหลังของถังขยะโดยใช้กาวแท่งในการอัด ความร้อน
19 3.4.6 ต่อ 1602 LCD (Blue Screen) และ I2C Interface เข้าด้วยกันและนำมาติดกับไม้อัดที่จัดเตรียมไว้ 3.4.7 นำ 1602 LCD (Blue Screen) และ I2C Interface มาประกอบเข้ากับถังขยะโดยใช้กาวแท่งอัดความร้อน 3.4.8 เก็บสายทุกส่วนให้เรียบร้อย
20 3.4.9 ติดบอร์ด Arduino ที่เขียนโปรแกรมเรียบร้อย ติดไว้กับถังขยะให้ Port ที่ใช้เสียบ Adapter ตรงกับรูที่เจาะ ไว้นำสายจากอุปกรณ์ทั้งหมด “ต่อเข้าด้วยกันตามรูปแบบ” 3.5 โปรแกรมควบคุมการทำงาน #include <Servo.h> // ใช้สำหรับควบคุมเซอร์โวมอเตอร์ #include <LiquidCrystal_I2C.h> // ใช้สำหรับควบคุมจอ LCD ที่เชื่อมต่อผ่าน I2C Servo servo1; // สร้างอ็อบเจ็กต์เซอร์โวมอเตอร์ int trigPin = 10; // ใช้กับเซ็นเซอร์อัลตราโซนิกเพื่อตรวจจับระดับขยะ int echoPin = 9; // ใช้กับเซ็นเซอร์อัลตราโซนิกเพื่อตรวจจับระดับขยะ int irSensorPin = 7; // ขาเชื่อมต่อกับเซ็นเซอร์อินฟราเรด (IR) int buzzerPin = 6; // ขาเชื่อมต่อกับบัซเซอร์ int servoPin = 8; // ขาเชื่อมต่อกับเซอร์โวมอเตอร์ cpp คัดลอก แก้ไข long long distance; // เก็บค่าระยะทางที่วัดได้จากเซ็นเซอร์อัลตราโซนิก long duration; // เก็บค่าระยะเวลาการสะท้อนของคลื่นเสียง LiquidCrystal_I2C lcd(0x27, 16, 2); // สร้างอ็อบเจ็กต์ LCD ที่มีที่อยู่ I2C 0x27 และขนาด 16x2
21 void setup() { Serial.begin(9600); // เริ่มการสื่อสารอนุกรมที่ baud rate 9600 servo1.attach(servoPin); // กำหนดให้เซอร์โวมอเตอร์ใช้ขา servoPin pinMode(trigPin, OUTPUT); // ตั้งค่าขาของเซ็นเซอร์อัลตราโซนิก pinMode(echoPin, INPUT); // ตั้งค่าขาของเซ็นเซอร์อัลตราโซนิก pinMode(irSensorPin, INPUT); // ตั้งค่าขาเซ็นเซอร์อินฟราเรดให้เป็นอินพุต pinMode(buzzerPin, OUTPUT); // ตั้งค่าขาเซ็นเซอร์อินฟราเรดให้เป็นอินพุต lcd.init(); // เริ่มต้นการทำงานของ LCD lcd.backlight(); // เปิดไฟพื้นหลังของ LCD lcd.print("ระดับขยะ:"); // แปลง "Trash Level:" แสดงข้อความเริ่มต้นที่หน้าจอ } void loop() { int irState = digitalRead(irSensorPin); // อ่านค่าสถานะจากเซ็นเซอร์ IR if (irState == LOW) { servo1.write(150); lcd.clear(); // ล้างหน้าจอ LCD lcd.setCursor(0, 0); lcd.print("กรุณาทิ้งขยะ"); // แปลง "Please dispose" delay(3000); smoothReturn(); lcd.clear(); // ล้างหน้าจอ LCD lcd.setCursor(0, 0); lcd.print("ขอบคุณ"); // แปลง "Thank you" lcd.setCursor(0, 1); lcd.print("ที่ทิ้งขยะ"); // แปลง "for disposing" delay(2000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("ยินดีต้อนรับ:"); // แปลง "welcome:" }
22 checkTrashLevel(); delay(500); } void checkTrashLevel() { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); // ส่งสัญญาณจาก ultrasonic sensor โดยทำให้ขา trigPin เป็น HIGH เป็นเวลา 10 ไมโครวินาที duration = pulseIn(echoPin, HIGH); // เพื่อรับค่าสะท้อนกลับจากเซ็นเซอร์อัลตราโซนิก if (duration > 0) { distance = duration * 0.034 / 2; } else { distance = -1; } Serial.print("ระดับขยะ: "); // แปลง "Trash Level: " Serial.print(distance); Serial.println(" ซม."); // แปลง " CM" // แสดงค่าระดับขยะผ่าน Serial Monitor if (distance > 0 && distance <= 10) { digitalWrite(buzzerPin, LOW); lcd.clear(); lcd.setCursor(0, 0); lcd.print("ขยะเต็ม"); // แปลง "Trash full" delay(2000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("ระดับขยะ:"); // แปลง "Trash Level:" } else {
23 digitalWrite(buzzerPin, HIGH); } // ถ้าระดับขยะ <= 10 ซม. แสดงว่าขยะเต็ม // ปิดเสียงบัซเซอร์ (LOW) // แสดงข้อความ "ขยะเต็ม" บน LCD // ถ้าขยะยังไม่เต็ม เปิดเสียงบัซเซอร์ (HIGH) lcd.setCursor(0, 1); lcd.print(" "); // ล้างบรรทัดที่สอง lcd.setCursor(0, 1); lcd.print(distance); lcd.print(" ซม."); // แปลง " CM" } // ล้างข้อความบรรทัดที่สอง // แสดงค่าระยะห่างของขยะบน LCD void smoothReturn() { for (int pos = 150; pos >= 0; pos -= 10) { servo1.write(pos); delay(100); } } // ค่อยๆ ปิดฝาถังขยะโดยลดมุมของเซอร์โวมอเตอร์ทีละ 10 องศา // รอ 100 มิลลิวินาทีต่อครั้งเพื่อให้การเคลื่อนไหวดูนุ่มนวล
24 บทที่ 4 ผลการศึกษา จากการศึกษาค้นคว้าและการปฏิบัติจริงในการจัดทำโครงงานครั้งนี้ ผู้จัดทำได้เรียนรู้ และเข้าใจหลักการ ทำงานของอุปกรณ์อิเล็กทรอนิกส์ต่างๆ รวมถึงการเขียนโปรแกรมเพื่อควบคุมการทำงานของระบบ Arduino และ การประยุกต์ใช้เซ็นเซอร์ต่างๆ ให้เหมาะสมกับการใช้งาน นอกจากนี้ ผู้จัดทำยังได้รับประสบการณ์ในการแก้ไขปัญหา และพัฒนาทักษะด้านการทำงานเป็นทีม การวางแผน โครงงาน และการพัฒนานวัตกรรมเพื่อแก้ปัญหาในชีวิตประจำวัน ภาพที่ 4 ชิ้นงานถังขยะเปิด-ปิดอัตโนมัติ และตรวจวัดระดับขยะด้วยระบบ เซ็นเซอร์ แบบเสร็จสมบูรณ์ สามารถใช้งานได้ปกติ
25 จากการทำโครงงานถังขยะเปิด-ปิดอัตโนมัติและตรวจวัดระดับขยะด้วยระบบเซ็นเซอร์พบว่าระบบถัง ขยะเปิด-ปิดอัตโนมัติที ่พัฒนาขึ้นสามารถทำงานได้อย ่างมีประสิทธิภาพ โดย Serson E18-D80NK สามารถ ตรวจจับวัตถุในระยะ 14-15 เซนติเมตร แล้วส่งสัญญาณไปยัง Arduino Uno R3 และส่งสัญญาณกระแสไฟไปยัง ตัว Tower Pro SG90 Mini Micro Servo และ ทำการเปิดถังขยะหลังจากที่ Sensor E18-D80NK ตรวจพบวัตถุ และได้ทำการเปิดฝาถังขยะอัตโนมัติ และตัวจอ 1602 LCD (Blue Screen) แบบ I2C เริ่มการแสดงผลเมื่อมีการ ทิ้งขยะด้วยข้อความต่างๆ ที่กำหนดขึ้นมา เพื่อให้ผู้ใช้งานสามารถรับทราบสถานะของถังขยะได้ทันทีเมื่อมีขยะ ใกล้เต็ม เซ็นเซอร์ HC-SR04 Ultrasonic จะเริ ่มการวัดระดับปริมาณขยะเมื ่อขยะเข้าใกล้เซ็นเซอร์ในระยะ 5 เซนติเมตร และจะส่งกระแสไฟฟ้าไปที่ Buzzer Active เพื่อส่งเสียงแจ้งเตือน 10 วิ เมื่อขยะเต็ม จากนั้นผู้ใช้งาน ทำการดึงเชือกเพื่อมัดปากถุงและนำไปทิ้ง
26 บทที่ 5 สรุปผลและข้อเสนอแนะ 5.1 สรุปผลการศึกษา จากการจัดทำโครงงาน พบว่า "ถังขยะเปิด-ปิดอัตโนมัติและตรวจวัดระดับขยะด้วยระบบเซ็นเซอร์" คณะผู้จัดทำได้ศึกษาและออกแบบระบบให้สามารถทำงานได้อย่างมีประสิทธิภาพ โดยนำหลักการของ Arduino Uno R3 มาประยุกต์ใช้ควบคุมเซ็นเซอร์ต่าง ๆ เพื่อให้ถังขยะสามารถทำงานแบบอัตโนมัติ ซึ่งผลการศึกษาพบว่า 1. การเปิด-ปิดฝาถังขยะอัตโนมัติ o ระบบสามารถตรวจจับวัตถุหรือมือของผู้ใช้งานที่เข้าใกล้ถังขยะผ่าน เซ็นเซอร์ E18-D80NK o เมื่อมีวัตถุอยู่ในระยะที่กำหนด Servo Motor จะทำงานเพื่อเปิดฝาถังขยะโดยอัตโนมัติ o หลังจากเปิดฝา ระบบตั้งเวลาให้ฝาปิดลงเองภายในระยะเวลาที่กำหนด 2. การวัดระดับขยะภายในถัง o ใช้HC-SR04 Ultrasonic Sensor ตรวจจับระดับขยะภายในถัง o สามารถตรวจจับระยะของขยะจากก้นถังถึงระดับขยะในปัจจุบันและแสดงค่าผ่านระบบ ประมวลผล o แสดงข้อมูลระดับขยะผ่านหน้าจอ 1602 LCD (Blue Screen) 16x2 LCD with backlight และ I2C Interface o หากระดับขยะสูงถึงจุดที่กำหนด ระบบจะแจ้งเตือนให้ทราบ 3. ระบบแจ้งเตือนขยะเต็ม o เมื่อตรวจพบว่าขยะเต็ม Buzzer Active จะส่งเสียงแจ้งเตือนเพื่อให้ผู้ใช้งานนำขยะออก o ระบบแจ้งเตือนช่วยให้สามารถจัดการขยะได้อย่างเหมาะสม ลดปัญหาถังขยะล้นและกลิ่นไม่พึง ประสงค์ o แสดงข้อความแจ้งเตือนขยะเต็มผ่าน 1602 LCD Display 4. ความแม่นยำของเซ็นเซอร์และการทำงานของระบบ o จากการทดสอบพบว่า เซ็นเซอร์ตรวจจับการเคลื่อนไหวทำงานได้แม่นยำ ภายใต้ระยะที่ กำหนด o ระบบเซ็นเซอร์วัดระดับขยะสามารถให้ค่าที่แม่นยำ ในการตรวจจับระดับขยะในถัง o การแจ้งเตือนทำงานได้ถูกต้องและสามารถปรับปรุงเพิ่มเติมได้ 5. ประโยชน์ที่ได้รับ o ลดการสัมผัสโดยตรงกับถังขยะ ช่วยลดการแพร่กระจายของเชื้อโรค o เพิ่มความสะดวกสบายให้กับผู้ใช้งาน ลดภาระในการเฝ้าดูระดับขยะ o สามารถนำไปใช้ได้จริงในสถานที่ต่าง ๆ เช่น โรงเรียน โรงพยาบาล ห้างสรรพสินค้า o หน้าจอ LCD ช่วยให้ผู้ใช้งานสามารถมองเห็นข้อมูลได้ง่ายขึ้น
27 5.2 ข้อเสนอแนะ • สามารถพัฒนาเพิ่มเติมโดย เพิ่มระบบแจ้งเตือนผ่านแอปพลิเคชันมือถือ เพื่อให้การจัดการขยะมี ประสิทธิภาพมากขึ้น • ควรเลือกใช้วัสดุที่ทนทานและกันน้ำ เพื่อยืดอายุการใช้งานของอุปกรณ์ • อาจพัฒนาให้ถังขยะ ใช้พลังงานจากแหล่งพลังงานทดแทน เช่น แผงโซลาร์เซลล์ • เพิ่ม ระบบคัดแยกขยะอัตโนมัติเพื่อลดปัญหาขยะปะปน และช่วยให้การรีไซเคิลมีประสิทธิภาพมากขึ้น • เพิ่มฟังก์ชันแสดงข้อมูลแบบเรียลไทม์บน LCD Display เพื่อให้ผู้ใช้งานทราบสถานะของถังขยะได้สะดวก ยิ่งขึ้น
28 บรรณานุกรม หลักการของ Servo. (2561, 29 มีนาคม). สืบค้นเมื่อ 22 กุมภาพันธ์ 2568, จาก https://shorturl.asia/gR1oQ E18-D80NK เซ็นเซอร์ตรวจจับวัตถุ จับสิ่งกีดขวาง Infrared photoelectric switch Sensor. (n.d.). สืบค้นเมื่อ 23 กุมภาพันธ์ 2568, จาก https://shorturl.asia/MreNz สัญลักษณ์ผังงาน Flowchart. (n.d.). สืบค้นเมื่อ 24 กุมภาพันธ์ 2568, จาก http://www.krurock.com/Programming/lession02/lession02_4_2.php อานนท์ เนตรยอง, & ธิติมา นริศเนตร. (2562). ถังขยะอัจฉริยะ. The Second FIT SSRU Conference 2019, 128-113. คณะเทคโนโลยีอุตสาหกรรม มหาวิทยาลัยราชภัฏสวนสุนันทา. ทิพานัน พงษ์สุวรรณ, อนุพงษ์ ติตะ, & ภานุวัตร อุทัยบาล. (2562). ระบบติดตามถังขยะอัจฉริยะ. PULINET, 6(2), 41-50. Aksan Surya Wijaya, Zahir Zainuddin and Muhammad Niswar. (2017) Design a Smart Waste Bin for Smart Waste. International Conference on Instrumentation, Control, and Automation (ICA 2017). (pp. 62-66). doi: 10.1109/1CA.2017.8068414. สืบค้นเมื่อ 23 กุมภาพันธ์ 2568, Harnani Hassan, Fadzliana Saad and Muhammad Suhaimi Mohd Raklan. (2018). ALow-Cost Automated Sorting Recycle Bin powered by Arduino Microcontroller. lEEEConference on Systems. Process and Control (ICSPC 2018). (pp. 182-186). doi:10.1109/SPC.2018.8704146. สืบค้นเมื่อ 23 กุมภาพันธ์ 2568, Kellow Pardini, Joel J. P. C. Rodrigues, Syed Ali Hassan, Neeraj Kumar, and Vasco Furtado.Smart Waste Bin: A New Approach for Waste Management in Large Urban Centers. IEEE 88th Vehicular Technology Conference (VTC-Fall). 2018, (pp. 1-8). doi:10.1109/VTCFall.2018.8690984. สืบค้นเมื่อ 23 กุมภาพันธ์ 2568, I2C/IIC 1602 LCD (Blue Screen) with backlight of the LCD screen. (n.d.). สืบค้นเมื่อ 26 กุมภาพันธ์ 2568, จาก https://shorturl.asia/aLDh2 Arduino IDE software. (2565, 18 มิถุนายน). สืบค้นเมื่อ 26 กุมภาพันธ์ 2568, จาก https://www.arduino.cc/en/software Newping. (2565, 18 มิถุนายน). สืบค้นเมื่อ 26 กุมภาพันธ์ 2568, จาก https://github.com/microflo/NewPing/blob/master/NewPing.h ขั้นตอนการสร้างถังขยะ เปิด/ปิด แบบอัตโนมัติ ง่ายๆ ด้วย Arduino. (2565, 18 มิถุนายน). สืบค้นเมื่อ 27 กุมภาพันธ์ 2568, จาก http://www.ec-bot.com/b/17 เซ็นเซอร์วัดระยะทาง HC-SR04. (2565, 15 กรกฎาคม). สืบค้นเมื่อ 27 กุมภาพันธ์ 2568, จาก https://iot-kmutnb.github.io/blogs/sensors/hc-sr04/
29 Arduino UNO R3, Pin Diagram, ข้อมูลจำเพาะและการใช้งาน Arduino. (2565, 16 กรกฎาคม). สืบค้น เมื่อ 27 กุมภาพันธ์ 2568, จาก https://th.jf-parede.pt/arduino-uno-r3-pin-diagram ทุกเรื่องที่ควรรู้เกี่ยวกับเซอร์โวมอเตอร์และการใช้งาน Arduino. (2565, 16 กรกฎาคม). สืบค้นเมื่อ 27 กุมภาพันธ์ 2568, จาก https://shorturl.asia/9ncFu
30 ภาคผนวก
31 รูปภาพประกอบโครงงานถังขยะเปิด-ปิดอัตโนมัติและตรวจวัดระดับขยะด้วยระบบเซ็นเซอร์ทั้งหมด ภาพที่ 2.1 Arduino Uno R3 ภาพที่ 2.2 เซ็นเซอร์ HC-SR04 Ultrasonic ภาพที่ 2.3 Tower Pro SG90 Mini Micro Servo
32 ภาพที่ 2.4 Sensor E18-D80NK ภาพที่ 2.5 Buzzer Active ภาพที่ 2.6 1602 LCD (Blue Screen) 16x2 LCD with backlight of the LCD screen
33 ภาพที่ 2.7 I2C Interface ขนาด 16 ตัวอักษร 2 แถว ภาพที่ 3.1 วงจรควบคุมถังขยะเปิด-ปิดอัตโนมัติ
34 ภาพที่ 3.2.1 วงจรควบคุมถังขยะเปิด-ปิดอัตโนมัติ ภาพที่ 3.2.2 Tower Pro SG90 Mini Micro Servo ภาพที่ 3.2.3 เซ็นเซอร์ HC-SR04 Ultrasonic Sensor
35 ภาพที่ 3.2.4 Sensor E18-D80NK ภาพที่ 3.2.5 Buzzer Active ภาพที่ 3.2.6 adapter
36 ภาพที่ 3.2.7 สายไฟจัมเปอร์ (ตัวผู้-ตัวเมีย) ภาพที่ 3.2.7 ก้างปลาคอนเนคเตอร์ (ตัวผู้ ตัวเมีย) ภาพที่ 3.2.9 ถังขยะ
37 ภาพที่ 3.3.4 การควบคุมการทำงานของระบบ แบบ flowchart
38 ภาพที่ 3.4.1.1 โปรแกรม Arduino ใช้ในการเขียนโค้ดลงตัว Arduino Uno R3 ภาพที่ 3.4.1.2 เขียนโปรแกรมลง Arduino ภาพที่ 3.4.1.3 เขียนโปรแกรมลง Arduino
39 ภาพที่ 3.4.1.4 เขียนโปรแกรมลง Arduino ภาพที่ 3.4.1.5 เขียนโปรแกรมลง Arduino
40 ภาพที่ 3.4.1.6 เขียนโปรแกรมลง Arduino ภาพที่ 3.4.2 นำถังขยะมาเจาะรู เพื่อนำ Sensor E18-D80NK ในการใส่ให้พอดี
41 ภาพที่ 3.4.3 นำฝาถังขยะมาตัดตรงข้างรูใส่ล็อคเพื่อใช้สำหรับใส่ Tower Pro SG90 Mini Micro Servo ได้พอดี ภาพที่ 3.4.4 ต่อ Buzzer Active ข้างในบนฝาถังขยะโดยใช้กาวแท่งอัดความร้อน ภาพที่ 3.4.5 เจาะรูที่ด้านหลังถังขยะ ใส่ HC-SR04 Ultrasonic Sensor ที่ด้านหลังของถังขยะโดยใช้กาวแท่งใน การอัดความร้อน
42 ภาพที่ 3.4.6 ต่อ 1602 LCD (Blue Screen) และ I2C Interface เข้าด้วยกันและนำมาติดกับไม้อัดที่จัดเตรียมไว้ ภาพที่ 3.4.7 นำ 1602 LCD (Blue Screen) และ I2C Interface มาประกอบเข้ากับถังขยะโดยใช้กาวแท่งอัด ความร้อน