กลไกสุขอนามัย: เครื่องจ่ายสบู่ล้างมืออัตโนมัติ
เครื่องจ่ายสบู่ล้างมืออัตโนมัติ ได้รับความนิยมอย่างแพร่หลายทั่วโลกเนื่องจากความจำเป็นด้านสาธารณสุข เป็นจุดเริ่มต้นที่ยอดเยี่ยมในการเรียนรู้เกี่ยวกับกลศาสตร์ของไหล (fluid mechanics) และการตรวจจับวัตถุด้วยอินฟราเรด (infrared beam-breaking) คุณจะต้องปรับสมดุลระหว่างความไวของเซ็นเซอร์กับช่วงเวลาการทำงานที่เหมาะสมของปั๊มน้ำ

ปัญหาการตรวจจับผิดพลาด (False Positive)
IR Obstacle Sensor (TCRT5000) จะปล่อยแสงเลเซอร์ที่มองไม่เห็นไปที่มือของคุณและตรวจจับการสะท้อนกลับ
- หากไอน้ำในห้องน้ำทำให้เซ็นเซอร์เป็นฝ้า หรือแสงอาทิตย์ส่องมาโดนพอดี อาจทำให้เกิดการทำงานผิดพลาด (false-trigger) และปล่อยสบู่ 12 ออนซ์ออกมาเลอะเคาน์เตอร์ทั้งหมดในขณะที่คุณหลับ!
- Software Debounce: คุณต้องเขียนโปรแกรมการตรวจสอบที่รัดกุม
if (analogRead(sensorPin) < triggerValue) { delay(100); // Wait 1/10th of a second if (analogRead(sensorPin) < triggerValue) { // Are you STILL there? pumpSoap(); } } - การตรวจสอบซ้ำสองครั้งนี้จะช่วยให้มั่นใจได้ว่า เฉพาะการวางมือที่มั่นคงและตั้งใจเท่านั้นที่จะกระตุ้นการทำงานของปั๊ม
การควบคุมของเหลวหนืด
น้ำไหลง่าย สบู่เหลวมีความหนืดและต้องใช้แรงบิด (torque) สูง
- มอเตอร์ของเล่น DC 3V มาตรฐานที่แช่อยู่ในสบู่จะติดขัด คุณต้องใช้ 5V Peristaltic Pump โดยเฉพาะ หรือปั๊มแบบ diaphragm ที่มีแรงบิดสูง
- ปั๊มถูกควบคุมโดย N-Channel TIP120 Transistor หรือ Logic Level MOSFET
- โค้ด Arduino:
digitalWrite(PumpPin, HIGH); delay(800); digitalWrite(PumpPin, LOW); - คุณปรับค่า
delay800 มิลลิวินาทีนั้นให้สมบูรณ์แบบ เพื่อให้จ่ายสบู่ออกมาในปริมาณที่ พอดี เท่าเหรียญสิบเซ็นต์! จากนั้นจะมีการdelay(3000)ครั้งใหญ่ เพื่อป้องกันไม่ให้ปั๊มทำงานซ้ำสองครั้งหากคุณไม่ขยับมือออกไปเร็วพอ
ส่วนประกอบที่จำเป็นสำหรับติดตั้งในห้องน้ำ
- Arduino Nano (บอร์ดขนาดเล็กที่สุดเท่าที่จะเป็นไปได้)
- TCRT5000 IR Proximity Sensor (หรือ HC-SR04 Ultrasonic)
- 5V or 12V Mini Fluid Pump (แบบ Diaphragm)
- MOSFET / Transistor Driver Circuit
- Silicone Tubing และโครงพลาสติกกันน้ำ (สบู่กัดกร่อนอุปกรณ์อิเล็กทรอนิกส์ได้รวดเร็ว!)