Project publik dari Tim Tim Hand Style

Automatic Touchless Sanitizer Dispenser

Kategori: Mikrokontroller

Ringkasan

Proyek Smart Sanitizer ini merupakan sistem dispenser otomatis berbasis Arduino Uno yang dirancang untuk meningkatkan kebersihan tangan secara efisien dan higienis tanpa perlu kontak fisik. Sistem ini mengintegrasikan beberapa komponen utama, yaitu sensor ultrasonik HC-SR04 sebagai pendeteksi kehadiran tangan, servo SG90 untuk menekan botol sanitizer secara otomatis, sensor IR sebagai validator keluarnya cairan, serta sensor suhu DHT11 untuk memantau kondisi lingkungan secara real-time. Sebagai pelengkap, LED dan buzzer ditambahkan sebagai indikator status yang memberikan umpan balik langsung kepada pengguna LED menyala dan buzzer berbunyi ketika cairan berhasil keluar, sementara bunyi peringatan berbeda akan aktif apabila cairan tidak terdeteksi keluar setelah servo bekerja. Seluruh komponen dihubungkan melalui breadboard dengan pin yang telah ditentukan secara spesifik, menjadikan sistem ini tidak hanya fungsional dan responsif, tetapi juga mudah dikembangkan lebih lanjut untuk kebutuhan yang lebih kompleks.

Latar Belakang

Kebersihan tangan di tempat umum masih sering diabaikan, salah satunya karena dispenser konvensional mengharuskan sentuhan langsung yang justru bisa menjadi media penyebaran kuman. Melihat permasalahan ini, proyek Smart Sanitizer dikembangkan sebagai solusi praktis berbasis Arduino Uno yang bekerja secara otomatis tanpa perlu kontak fisik sama sekali. Pengguna cukup mendekatkan tangan, servo langsung menekan botol, dan sanitizer keluar dengan sendirinya. Sistem ini juga dilengkapi sensor suhu, LED, dan buzzer sebagai indikator real-time apakah cairan berhasil keluar atau tidak menjadikannya lebih dari sekadar dispenser biasa.

Tujuan

Proyek Smart Hand Sanitizer Dispenser ini dibuat dengan tujuan sederhana: menciptakan alat cuci tangan otomatis yang tidak perlu disentuh sama sekali, sehingga lebih higienis dan aman digunakan di mana saja. Cara kerjanya, sensor ultrasonik mendeteksi tangan yang mendekat, lalu servo motor langsung menekan botol sanitizer secara otomatis. Supaya sistemnya lebih akurat dan tidak cuma mengandalkan deteksi jarak, ditambahkan juga sensor IR untuk memastikan cairan benar-benar keluar. LED dan buzzer hadir sebagai indikator pengguna langsung tahu apakah alat berfungsi normal atau ada yang tidak beres, tanpa perlu mengecek manual. Sensor suhu juga ikut dipasang untuk memantau kondisi lingkungan sekitar. Pada akhirnya, proyek ini ingin membuktikan bahwa teknologi sederhana pun bisa menghasilkan sesuatu yang benar-benar berguna dalam kehidupan sehari-hari, baik di rumah, sekolah, maupun tempat umum.

Manfaat

Smart Sanitizer ini hadir untuk membuat kebiasaan menjaga kebersihan tangan jadi lebih mudah dan higienis. Tanpa perlu menyentuh apapun, pengguna cukup mendekatkan tangan dan servo langsung bekerja secara otomatis. Takaran cairan yang keluar pun konsisten setiap kali digunakan, jadi tidak boros dan lebih efisien. LED dan buzzer memberikan feedback langsung pengguna langsung tahu apakah sanitizer berhasil keluar atau tidak, bahkan bunyi buzzer yang berbeda bisa jadi peringatan dini ketika isi botol mulai menipis sebelum benar-benar habis. Sensor suhu yang ikut terpasang juga membantu memastikan kondisi lingkungan tetap ideal untuk penyimpanan cairan. Alat ini cocok dipasang di berbagai tempat seperti sekolah, kantor, klinik, atau fasilitas umum lainnya yang membutuhkan solusi kebersihan yang praktis sekaligus andal.

Alat dan Bahan

Alat: Arduino Uno, Ultrasonic HC-SR04, Servo SG90, Sensor suhu LM35/DHT11, IR sensor, LED, Buzzer, Resistor 220ohm, DHT11, Breadboard, kabel, obeng, tang, gunting, penggaris.

Bahan: Botol, handsanitizer, kardus, lem/double tape.



Metodologi

Step 1 Perencanaan Tentukan kebutuhan sistem: deteksi tangan otomatis, pengeluaran cairan, validasi cairan keluar, monitoring suhu, serta indikator LED dan buzzer. Setelah itu buat skema rangkaian, peta pin Arduino, dan diagram alir sebagai panduan sebelum masuk ke pemrograman.

Step 2 Perakitan dan Pemrograman Rakit semua komponen sesuai skema yang sudah dibuat, mulai dari sensor ultrasonik untuk mendeteksi tangan di jarak 5–15 cm, servo untuk menekan pompa, sensor IR untuk memvalidasi cairan keluar, hingga LED dan buzzer. Pemrograman dilakukan di Arduino IDE dengan alur kerja seperti ini:

  1. Tangan didekatkan, sensor ultrasonik dan sensor dht aktif mendeteksi
  2. Servo menekan botol untuk mengeluarkan cairan
  3. Sensor IR mengecek apakah cairan benar-benar keluar, Jika cairan keluar LED merah menyala ketika ada objek dekat sedangkan LED hijau menyala ketika tidak ada objek. Sedangkan buzzer akan berbunyi ketika ada objek mendekat.

Step 3 Pengujian dan Dokumentasi Setiap komponen diuji satu per satu terlebih dahulu, baru kemudian diuji secara keseluruhan dalam berbagai skenario nyata. Hasil pengujian dianalisis, diperbaiki jika perlu, lalu didokumentasikan sebagai laporan akhir proyek.


Desain Sistem

img_20260422_111711_bb6c7634a9.pngimg_20260422_111712_726f507fe0.png

Skenario Pengujian

Belum tersedia.

Hasil Pengujian

Belum tersedia.

Kesimpulan

Belum tersedia.

Source Code / Pseudocode

#include <Servo.h>
#include <DHT.h>

// ===== PIN =====
const int trigPin = 10;
const int echoPin = 11;
const int irPin = 2;
const int ledMerah = 6;
const int ledHijau = 5;
const int buzzer = 7;

#define DHTPIN 4
#define DHTTYPE DHT22

Servo myServo;
DHT dht(DHTPIN, DHTTYPE);

int duration;
int distance;
bool sudahGerak = false;

void setup() {
  myServo.attach(12);

  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(irPin, INPUT);
  pinMode(ledMerah, OUTPUT);
  pinMode(ledHijau, OUTPUT);
  pinMode(buzzer, OUTPUT);

  Serial.begin(9600);
  dht.begin();
}

void loop(){
  distance = calculateDistance();
  int irState = digitalRead(irPin);

  // 👉 kondisi objek
  bool adaObjek = (distance < 5 || irState == HIGH);

  // ===== LED + BUZZER =====
  if(adaObjek) {
    digitalWrite(ledMerah, HIGH);
    digitalWrite(ledHijau, LOW);

    // buzzer bunyi
    digitalWrite(buzzer, HIGH);
  } 
  else {
    digitalWrite(ledMerah, LOW);
    digitalWrite(ledHijau, HIGH);

    // buzzer mati
    digitalWrite(buzzer, LOW);
  }

  // ===== SERVO (1x) =====
  if(adaObjek && !sudahGerak) {
    myServo.write(160);
    delay(500);
    myServo.write(0);
    delay(1000);
    sudahGerak = true;
  }

  Serial.print("Jarak: ");
  Serial.print(distance);
  Serial.print(" | IR: ");
  Serial.println(irState);

  delay(200);
}

// ===== ULTRASONIK =====
int calculateDistance(){
  digitalWrite(trigPin, LOW);
  delayMicroseconds(5);

  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH, 30000);
  if(duration == 0) return 999;

  return duration * 0.034 / 2;
}

Info Project

Tim: Tim Hand Style
Status: submitted
Dipublikasikan: 2026-04-22 11:28:30

Anggota Tim

Arya Ardyacsa (member)
Chesylia Br Ginting (member)
Dinda Amelia Zahra (member)
Dinda Amelia Zahra (member)
Harfiansah Limbong (member)
Romauli Laia (leader)