ออกแบบเทคโนโลยี ม.2
ออกแบบเทคโนโลยี ม.2
กิจกรรมการคิด-ออกแบบ-หาไอเดีย padlet
"ถังขยะอัตโนมัติ" (Smart Dustbin)
โปรเจกต์ STEM หรือโครงงานสิ่งประดิษฐ์ โดยใช้ระบบเซนเซอร์ตรวจจับเมื่อมีคนเดินมาใกล้แล้วฝาถังจะเปิดเองโดยอัตโนมัติ
บอร์ดควบคุม: Arduino Uno R3 (หรือบอร์ดพัฒนาอื่น ๆ ที่ถนัด)
เซนเซอร์ตรวจจับวัตถุ: Ultrasonic Sensor (รุ่น HC-SR04) — ใช้สำหรับส่งคลื่นไปจับระยะห่างเมื่อมีคนยื่นมือหรือเดินเข้ามาใกล้
มอเตอร์ควบคุมการเปิด-ปิด: Servo Motor (รุ่น SG90 หรือ MG90S) — ใช้สำหรับดึงหรือดันฝาถังขยะให้เปิด
โครงสร้างถังขยะ: ถังขยะใบเล็กที่มีฝาเปิด-ปิดแบบบานพับ, แผ่นพลาสติก/ฟิวเจอร์บอร์ด
อุปกรณ์อื่น ๆ: สายจัมเปอร์ (Jumper Wires), แบตเตอรี่หรือสายแหล่งจ่ายไฟ, กาวร้อน/เทปกาวสองหน้า
ติดตั้ง Servo Motor: นำเซอร์โวมอเตอร์ไปยึดติดกับตัวถังขยะบริเวณใกล้กับบานพับของฝาถัง
เชื่อมกลไกเปิดฝา: ใช้ก้านพลาสติก (Servo Horn) ที่แถมมากับมอเตอร์ ต่อเข้ากับเส้นลวดหรือไหมขัดฟัน แล้วโยงไปยึดกับฝาถังขยะ เพื่อให้เวลาที่มอเตอร์หมุน (เช่น หมุนจาก 0 ไป 90 องศา) จะเกิดแรงดึง/ดันให้ฝาถังขยะเปิดออก
ติดตั้ง Ultrasonic Sensor: เจาะรูหรือยึดเซนเซอร์ไว้ที่ด้านหน้าของถังขยะ (จุดที่คนจะยื่นมือเข้ามาทิ้งขยะได้ง่าย) โดยหันตัวรับและตัวส่งคลื่น (ตาคู่) ออกมาด้านนอก
Ultrasonic Sensor (HC-SR04):
VCC ➡️ ช่อง 5V บนบอร์ด
Trig ➡️ ช่อง Digital Pin 9
Echo ➡️ ช่อง Digital Pin 8
GND ➡️ ช่อง GND บนบอร์ด
Servo Motor:
สายสีแดง (VCC) ➡️ ช่อง 5V บนบอร์ด (หากมอเตอร์กระตุก แนะนำให้ต่อไฟแยก)
สายสีน้ำตาล/ดำ (GND) ➡️ ช่อง GND บนบอร์ด
สายสีส้ม/เหลือง (Signal) ➡️ ช่อง Digital Pin 10
ตรรกะการทำงาน (Logic):
อ่านค่าระยะทางจาก Ultrasonic Sensor ➡️ ถ้า ระยะทาง น้อยกว่า 20 เซนติเมตร (มีคนสั่ง) ➡️ สั่งให้ Servo Motor หมุนไปที่ 90 องศา (ฝาเปิด) ➡️ หน่วงเวลาไว้ 3-5 วินาที (รอให้ทิ้งขยะ) ➡️ สั่งให้ Servo Motor หมุนกลับไปที่ 0 องศา (ฝาปิด)
ตัวอย่างโค้ด Arduino (C++): ดาวโหลด
#include <Servo.h>
Servo myservo;
const int trigPin = 9;
const int echoPin = 8;
long duration;
int distance;
void setup() {
myservo.attach(10); // ต่อ Servo ที่พิน 10
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
myservo.write(0); // เริ่มต้นให้ฝาปิด (0 องศา)
}
void loop() {
// ส่งสัญญาณคลื่น Ultrasonic
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// คำนวณระยะทางเป็นเซนเซอร์
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
// เงื่อนไขการเปิด-ปิด
if (distance > 0 && distance < 20) {
myservo.write(90); // หมุนไป 90 องศาเพื่อเปิดฝา
delay(3000); // เปิดค้างไว้ 3 วินาที
} else {
myservo.write(0); // ปิดฝาถัง
}
delay(100);
}
ช่วยในการออกแบบวงจรออก จำลองการทำงานต่างๆ สามารถ เลือกอุปกรณ์ได้ตามที่ต้องการ และ เขียน Code ลงไป และทดสอบได้อย่างง่ายดาย
ไม่จำเป็นต้องติดตั้งโปรแกรมลงบนคอมพิวเตอร์ ทำงานบนเว็บไซต์ได้เลย
หากใช้การบล็อกโปรแกรม (Scratch/KidBright/Micro:bit): สามารถใช้บล็อกเงื่อนไข If...then...else โดยจับคู่กับบล็อกอ่านค่าระยะทางของ Ultrasonic ได้เช่นเดียวกัน ซึ่งจะง่ายต่อการสอนเด็ก ๆ ในระดับเริ่มต้น
การตกแต่ง: สามารถให้เด็ก ๆ นำกล่องกระดาษมาดีไซน์ครอบตัวถังขยะภายนอกให้เป็นรูปหุ่นยนต์หรือสัตว์ต่าง ๆ เพื่อเพิ่มความสนุกสนานและฝึกความคิดสร้างสรรค์ในกระบวนการ STEM ได้ค่ะ
ทดสอบการต่อวงจร
ม.2/1
Class link:
Go to your class with this link: https://www.tinkercad.com/joinclass/TDLDDBA6Y
Enter your Student login assigned by your teacher.
Class code:
Enter the class code: TDLDDBA6Y
Enter your Student login assigned by your teacher.
ม.2/2
Class link:
Go to your class with this link: https://www.tinkercad.com/joinclass/NDEGKXFKM
Enter your Student login assigned by your teacher.
Class code:
Enter the class code: NDEGKXFKM
Enter your Student login assigned by your teacher.
ม.2/3
Class link:
Go to your class with this link: https://www.tinkercad.com/joinclass/QXLQ5WRBV
Enter your Student login assigned by your teacher.
Class code:
Enter the class code: QXLQ5WRBV
Enter your Student login assigned by your teacher.
การจัดทำเล่มโครงงานของนักเรียน