Smart Toilet System
ห้องน้ำอัจฉริยะแบบไร้การสัมผัสด้วย AI
Arduino AI Hand Tracking IoT PictoBlox Smart Automation
Overview
นวัตกรรมห้องน้ำสาธารณะต้นแบบที่นำเทคโนโลยีเซนเซอร์และปัญญาประดิษฐ์ (AI) มาประยุกต์ใช้เพื่อลดการสัมผัส (Touchless) ป้องกันการแพร่ระบาดของเชื้อโรค โดยผู้ใช้งานสามารถสั่งการเปิด-ปิดประตู, กดชักโครก และเปิดถังขยะได้ผ่านสัญลักษณ์มือ (Hand Gesture) พร้อมระบบแจ้งสถานะการเข้าใช้งานอัตโนมัติ
overview of Smart Toilet System (Front)
overview of Smart Toilet System (Above)
System Architecture & Logic
ระบบควบคุมด้วยบอร์ด Arduino UNO ทำงานร่วมกับโปรแกรม PictoBlox และ AI Hand Pose Classifier โดยใช้ Ultrasonic Sensor ตรวจจับคนเข้า-ออก และใช้กล้องจับภาพสัญลักษณ์มือเพื่อสั่งการ Servo Motor ในการควบคุมกลไกต่างๆ ภายในห้องน้ำ
# Source Code
// Smart Toilet System Logic (Arduino Concept)
#include <Servo.h>
#include <LiquidCrystal_I2C.h>
// Define Sensors & Actuators
#define TRIG_PIN 9
#define ECHO_PIN 10
#define DOOR_SERVO_PIN 3
#define FLUSH_SERVO_PIN 5
#define TRASH_SERVO_PIN 6
Servo doorServo;
Servo flushServo;
Servo trashServo;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
doorServo.attach(DOOR_SERVO_PIN);
lcd.begin();
lcd.print("Welcome"); //
}
void loop() {
long duration, distance;
// Ultrasonic Detection Logic
digitalWrite(TRIG_PIN, LOW); delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
duration = pulseIn(ECHO_PIN, HIGH);
distance = (duration / 2) / 29.1;
// 1. Enter Bathroom Logic
if (distance < 50) { // Person Detected
lcd.clear();
lcd.print("Unavailable"); //
openDoor();
turnOnLights();
delay(5000); // Wait 5s
closeDoor();
}
// 2. AI Gesture Logic (Receive Signal from PictoBlox)
if (Serial.available() > 0) {
char gesture = Serial.read();
if (gesture == '1') { // 1 Finger Gesture
flushToilet();
openTrashCan();
}
else if (gesture == '5') { // 5 Fingers Gesture
openDoor(); // Exit
turnOffLights();
lcd.print("Welcome"); // Reset Status
}
}
}