OLEH :
1. Nada Akhya Tunnisa (5301420036)
2. A. Wafikul Huda (5301420037)
3. Lia Fadhila (5301420038)
Puji dan syukur kami ucapkan kepada Tuhan yang Maha Esa, yang telah memberi rahmat
dan berkat-Nya kepada kami, sehingga dapat melaksanakan dan menyelesaikan Project Sistem
Mikroprosesor “Perancangan Smart Toilet Berbasis Arduino” ini dengan baik.
Laporan Praktik Sistem Mikroprosesor ini disusun guna memenuhi tugas akhir Mata Kuliah
Sistem Mikroporsesor yang diampu oleh Bapak Dr. Hari Wibawanto, M. T. dan Bapak Tatyantoro
Andrasto, S. T., M. T.
Dalam melaksanakan penulisan laporan ini, kami telah banyak mendapatkan bimbingan dan
bantuan dari banyak pihak, baik berupa ilmu maupun informasi baik secara langsung maupun tidak
langsung.
Akhir kata kami mengucapkan terimakasih dan semoga laporan ini bermanfaaat bagi penulis
dan para pembaca.
i
DAFTAR ISI
ii
BAB I
PENDAHULUAN
1
2
Karena alat ini bekerja secara otomatis maka tangan kita lebih terjamin kebersihannya
sebab pengguna tidak perlu menyentuh kran atau tuas sabun untuk mengoperasikanya.
1.3 Tujuan
1) Untuk mengetahui dan memahami fungsi program yang dibuat menggunakan
Arduino, mengetahui prinsip kerja dari sensor infared, sensor ultrasonic dan
sensor PIR dalam system perancangan smart toilet.
2) Untuk mengetahui bagaimana proses perancangan smart toilet menggunakan
program Arduino IDE dan Proteus.
1.4 Manfaat
1) Membuka wawasan mengenai upaya pencegahan penyebaran virus corona
(COVID-19) dengan mencuci tangan.
2) Mencuci tangan tanpa kontak fisik.
3) Supaya memudahkan pengguna dalam kegiatan mencuci tangan.
BAB II
LANDASAN TEORI
3
4
software Processing yang dirombak menjadi Arduino IDE khusus untuk pemrograman
dengan Arduino.
Arduino IDE ini berguna sebagai text editor untuk membuat, mengedit, dan
juga mevalidasi kode program. bisa juga digunakan untuk meng-upload ke board
Arduino. Kode program yang digunakan pada Arduino disebut dengan istilah Arduino
“sketch” atau disebut juga source code arduino, dengan ekstensi file source code .ino
2.2 Prouteus
dengan arduino pada level hardware. Untuk fleksibilitas, program dimasukkan melalui
bootloader meskipun ada opsi untuk mem-bypass bootloader dan menggunakan
pengunduh untuk memprogram mikrokontroler secara langsung melalui port ISP.
Pada versi lebih lama Arduino terdapat sambungan SV1 Sambungan atau jumper
untuk memilih sumber daya yang digunakan, apakah dari sumber eksternal atau
menggunakan USB. Sambungan ini tidak diperlukan lagi pada papan Arduino versi
terakhir karena pemilihan sumber daya eksternal atau USB dilakukan secara
otomatis.
maksimal yang dapat diberikan kepada Arduino maksimal 12volt dengan range arus
maksimal 2A (Agar regulator tidak panas).
3) Voltage Regulator
Fungsi dari voltage regulator adalah untuk mengendalikan atau menurunkan
tegangan yang diberikan ke papan Arduino dan menstabilkan tegangan DC yang
digunakan oleh prosesor dan elemen-elemen lain
4) Crystal Oscillator
Kristal (quartz crystal oscillator), jika mikrokontroler dianggap sebagai sebuah
otak, maka kristal adalah jantung-nya karena komponen ini menghasilkan detak-
detak yang dikirim kepada mikrokontroler agar melakukan sebuah operasi untuk
setiap detak-nya. Kristal ini dipilih yang berdetak 16 juta kali per detik (16MHz).
Crystal oscillator membantu Arduino dalam hal yang berhubungan dengan waktu.
Bagaimana Arduino menghitung waktu? Jawabannya adalah, dengan menggunakan
crystal oscillator. Angka yang tertulis pada bagian atas crystal 16.000H9H berarti
bahwa frekuensi dari oscillator tersebut adalah 16.000.000 Hertz atau 16 MHz.
5) 17 Arduino Reset
Kita dapat mereset papan arduino, misalnya memulai program dari awal. Terdapat
dua cara untuk mereset Arduino Uno. Pertama, dengan menggunakan reset button
(17) pada papan arduino. Kedua, dengan menambahkan reset eksternal ke pin
Arduino yang berlabel RESET (5). Perhatikan bahwa tombol reset ini bukan untuk
menghapus program atau mengosongkan mikrokontroler.
6) 6. 3.3V (6) − Supply 3.3 output volt
7) 5V (7) − Supply 5 output volt
Sebagaian besar komponen yang digunakan papan Arduino bekerja dengan baik
pada tegangan 3.3 volt dan 5 volt.
8) GND (8)(Ground) – Ada beberapa pin GND pada Arduino, salah satunya dapat
digunakan untuk menghubungkan ground rangkaian.
9) Vin (9) – Pin ini juga dapat digunakan untuk memberi daya ke papan Arduino dari
sumber daya eksternal, seperti sumber daya AC.
10) 10 Analog pins Papan Arduino Uno memiliki enam pin input analog A0 sampai A5.
Pin-pin ini dapat membaca tegangan dan sinyal yang dihasilkan oleh sensor analog
seperti sensor kelembaban atau temperatur dan mengubahnya menjadi nilai digital
yang dapat dibaca oleh mikroprosesor. Program dapat membaca nilai sebuah pin
input antara 0 – 1023, dimana hal itu mewakili nilai tegangan 0 – 5V.
8
16) AREF
AREF merupakan singkatan dari Analog Reference. AREF kadanag-kadang
digunakan untuk mengatur tegangan referensi eksternal (antar 0 dan 5 Volts)
sebagai batas atas untuk pin input analog input.
Catatan : Arduino UNO memiliki 14 pin input/output digital (0-13) yang berfungsi
sebagai input atau output, dapat diatur oleh program. Khusus untuk 6 buah pin 3, 5, 6,
9, 10 dan 11, dapat juga berfungsi sebagai pin analog output dimana tegangan output-
nya dapat diatur. Nilai sebuah pin output analog dapat diprogram antara 0 – 255, dimana
hal itu mewakili nilai tegangan 0 – 5V.
Sensor Ultrasonic adalah sebuah sensor yang mengubah fisis (bunyi) menjadi
basaran listrik. Pada sensor ini gelombang ultrasonic dibangkitkan melalui sebuah
benda yang di sebut piezoelektrik. Piezoelektrik ini akan menghasilkan gelombang
ultrasonic dengan frekuensi 40 kHz Ketika sebuah isolator diterapkan pada benda
tersebut. Sensor ultrasonic secara umum digunakan untuk pengungkapan tak sentuh
beragam seperti aplikasi pengukuran jarak.
Sensor ultrasonic SR-04 memiliki 4 pin yaitu GND(Vss), input 5V (Vcc),
output RIG, ECHO atau pin I/o dengan keluaran bilangan biner berupa pulsa yang
lebarnya merepresentasikan jarak lebar (lebar pulsa bervariasi dari 115 Us sampai 18,5
Ms) yang kemudian langsung dihubungkan ke Mikrokontroler.
10
analog dan menghasilkan sinyal digital. Biasanya menggunakan tipe LM393 atau
LM358
4) Trimmer Variable Resistor
Resistor yang dapat dirubah nilainya. Putar potensiometer ini untuk merubah
jarak pembacaan sensor dalam jangkauan 2-30cm.
5) Power LED
Lampu LED yang menyala menunjukkan module sensor ini sedang berjalan
6) Kaki Pin Output
Kaki pin yang mengeluarkan sinyal hasil pembacaan sensor.
High atau 1 saat tidak ada rintangan didepan sensor dan Low atau 0 saat ada
rintangan.
7) Kaki Pin GND
Kaki pin negatif kutub tegangan. GND atau ground, hubungkan pin ini ke kutub
negatif sumber daya listrik
8) Kaki Pin VCC
Kaki pin positif kutub tegangan. Hubungkan ke kutub positif sumber daya 3.0 -
5.0 Volt
9) Lampu LED Indikator
Lampu LED ini menyala menunjukkan adanya rintangan di depan sensor. Jadi
selain pin output, pembacaan sensor dapat dilihat dari menyala tidaknya lampu
ini.
Motor servo adalah sebuah perangkat atau aktuator putar (motor) yang
dirancang dengan sistem kontrol umpan balik loop tertutup (servo), sehingga dapat di
set-up atau di atur untuk menentukan dan memastikan posisi sudut dari poros output
motor. motor servo merupakan perangkat yang terdiri dari motor DC, serangkaian gear,
rangkaian kontrol dan potensiometer. Serangkaian gear yang melekat pada poros motor
DC akan memperlambat putaran poros dan meningkatkan torsi motor servo, sedangkan
potensiometer dengan perubahan resistansinya saat motor berputar berfungsi sebagai
penentu batas posisi putaran poros motor servo.
Penggunaan sistem kontrol loop tertutup pada motor servo berguna untuk
mengontrol gerakan dan posisi akhir dari poros motor servo. Penjelasan sederhananya
begini, posisi poros output akan di sensor untuk mengetahui posisi poros sudah tepat
seperti yang di inginkan atau belum, dan jika belum, maka kontrol input akan mengirim
sinyal kendali untuk membuat posisi poros tersebut tepat pada posisi yang diinginkan.
Untuk lebih jelasnya mengenai sistem kontrol loop tertutup, perhatikan contoh
sederhana beberapa aplikasi lain dari sistem kontrol loop tertutup, seperti penyetelan
suhu pada AC, kulkas, setrika dan lain sebagainya.
Motor servo dikendalikan dengan sinyal PWM dari encoder/potentiometer.
Lebar sinyal (pulsa) yang diberikan inilah yang akan menentukan posisi sudut putaran
dari poros motor servo. Sebagai contoh, lebar sinyal dengan waktu 1,5 ms (mili second)
akan memutar poros motor servo ke posisi sudut 90⁰. Bila sinyal lebih pendek dari 1,5
ms maka akan berputar ke arah posisi 0⁰ atau ke kiri (berlawanan dengan arah jarum
jam), sedangkan bila sinyal yang diberikan lebih lama dari 1,5 ms maka poros motor
servo akan berputar ke arah posisi 180⁰ atau ke kanan (searah jarum jam).
Ketika sinyal PWM telah diberikan, maka poros motor servo akan bergerak ke
posisi yang telah ditargetkan dan berhenti pada posisi tersebut serta akan tetap bertahan
pada posisi tersebut. Jika ada kekuatan eksternal yang mencoba memutar atau
mengubah posisi tersebut, maka sistem closed loop dari motor servo tersebut akan
bekerja dengan mencoba menahan atau melawan kekuatan eksternal tersebut dengan
kekuatan internal dari motor servo itu sendiri. Namun motor servo tidak akan
mempertahankan posisinya untuk selamanya, sinyal PWM harus diulang setiap 20 ms
(mili second) agar posisi poros motor servo tetap bertahan pada posisinya.
14
Sensor PIR merupakan sensor yang dapat mendeteksi pergerakan, dalam hal ini
sensor PIR banyak digunakan untuk mengetahui apakah ada pergerakan manusia dalam
daerah yang mampu dijangkau oleh sensor PIR. Sensor ini memiliki ukuran yang kecil,
murah, hanya membutuhkan daya yang kecil, dan mudah untuk digunakan. Oleh sebab
itu, sensor ini banyak digunakan pada skala rumah maupun bisnis. Sensor PIR ini
sendiri merupakan kependekan dari “Passive InfraRed” sensor.
Pada umumnya sensor PIR dibuat dengan sebuah sensor pyroelectric
sensor (seperti yang terlihat pada gambar disamping) yang dapat mendeteksi tingkat
radiasi infrared. Segala sesuatu mengeluarkan radiasi dalam jumlah sedikit, tapi
semakin panas benda/mahluk tersebut maka tingkat radiasi yang dikeluarkan akan
semakin besar. Sensor ini dibagi menjadi dua bagian agar dapat mendeteksi
pergerakan bukan rata-rata dari tingkat infrared. Dua bagian ini terhubung satu sama
lain sehingga jika keduanya mendeteksi tingkat infrared yang sama maka kondisinya
akan LOW namun jika kedua bagian ini mendeteksi tingkat infrared yang berbeda
(terdapat pergerakan) maka akan memiliki output HIGH dan LOW secara bergantian.
Inilah mengapa sensor PIR dapat mendeteksi pergerakan manusia yang masuk
pada jangkauan sensor PIR, hal ini disebabkan manusia memiliki panas tubuh sehingga
mengeluarkan radiasi infrared.
15
Berdasarkan pada Gambar di atas akan diurutkan bagian-bagian dari sensor PIR
beserta fungsi-fungsinya yaitu sebagai berikut:
1) Pengatur Waktu Jeda : Digunakan untuk mengatur lama pulsa high setelah
terdeteksi terjadi gerakan dan gerakan telah berahir. *
2) Pengatur Sensitivitas : Pengatur tingkat sensitivitas sensor PIR *
3) Regulator 3VDC : Penstabil tegangan menjadi 3V DC
4) Dioda Pengaman : Mengamankan sensor jika terjadi salah pengkabelan VCC
dengan GND
5) DC Power : Input tegangan dengan range (3 – 12) VDC (direkekomendasikan
menggunakan input 5VDC).
6) Output Digital : Output digital sensor
7) Ground : Hubungkan dengan ground (GND)
8) BISS0001 : IC Sensor PIR
9) Pengatur Jumper : Untuk mengatur output dari pin digital.
BAB III
HASIL DAN PEMBAHASAN
16
17
2) Sensor Ultrasonik
Sensor ultrasonik HC-SR04 adalah seri dari sensor jarak dengan gelombang
ultrasonik, dimana didalam sensor terdapat dua bagian yaitu transmitter yang
berfungsi sebagai pemancar gelombang dan receiver yang berfungsi sebagai
penerima gelombang. Sensor ultrasonik HC-SR04 ini bisa digunakan untuk
mengukur jarak benda dari 2cm – 400 cm dengan akurasi 3mm.
3) Sensor Infrared
Sensor Infrared adalah komponen elektronika yang dapat mendeteksi benda
ketika cahaya infra merah terhalangi oleh benda. Sensor infared terdiri dari led
infrared sebagai pemancar dan fototransistor sebagai penerima cahaya infra
merah.
Spesifikasi Sensor Infared:
18
Fitur Spesifikasi
Nama Sensor Infrared Proximity
Tipe Module Sensor
Banyak Pin 3 Pin
Tegangan Masukan 3-5 Volt
Konsumsi Arus 23 mA saat 3.0V dan 43 mA
saat 5.0V
Jarak pembacaan 2 - 30 cm (diatur dengan
potensiometer)
Keluaran Sensor Digital LOW
Lampu LED indikator Ada
4) Motor Servo
Motor servo adalah komponen elektronika yang berupa motor yang memiliki
sistem feedback guna memberikan informasi posisi putaran motor aktual yang
diteruskan pada rangkaian kontrol mikrokontroler. Pada dasarnya motor servo
banyak digunakan sebagai aktuator yang membutuhkan posisi putaran motor
yang presisi.
Spesifikasi Motor Servo:
Dimensi 40mm x 19mm x 43mm
Operating speed 0.17sec / 60 degrees ( 4.8V no load) –0.13sec / 60
degrees ( 6.0V no load)
Stall torque 13kg/cm at 4.8 V – 15kg/cm at 6V
Suhu Kerja 0 - 55C
Operation Voltage 4.8 – 6 Votts
Gears Metal Gear
Mode Digital
5) Sensor PIR
PIR Motion Sensor merupakan modul sensor Passive InfraRed yang ditujukan
untuk aplikasi pendeteksi gerakan. Ada tidaknya gerakan akan ditentukan oleh
perubahan tingkat sinar inframerah terdeteksi yang berasal dari panas benda.
19
Modul sensor ini sudah dilengkapi dengan lensa Fresnel yang berfungsi untuk
memperlebar sudut pendeteksian sensor.
Spesifikasi Sensor PIR:
Voltage 5V – 20V
Power consumption 65mA
TTL output 3.3V, 0V
Delay time adjustable (.3->5min)
Lock time 0.2 sec
Trigger method L – disable repeat trigger, H – enable repeat
trigger
Temperature -15 ~ +70
Dimension 32*24 mm, distance between screw 28mm, M2,
Lens dimension in diameter: 23mm
3.3 Flowchart Sistem
Adanya
Yes objek?
Mengaktifkan
Motor Servo
Selesai
20
long durasi1;
int jarak1;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
lcd1.begin(16, 2);
lcd1.setCursor(5, 0);
lcd1.print("PROJEK");
lcd1.setCursor(5, 1);
lcd1.print("AKHIR");
delay(500);
lcd1.clear();
21
lcd1.setCursor(5, 0);
lcd1.print("SMART");
lcd1.setCursor(5, 1);
lcd1.print("TOILET");
delay(500);
digitalWrite(LED2, HIGH);
servo1.write(0);
delay(500);
pinMode(trigPin1, OUTPUT);
pinMode(echoPin1, INPUT);
pinMode(PIR, INPUT);
pinMode(lamp, OUTPUT);
digitalWrite(lamp, LOW);
pinMode(IR1, INPUT);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
servo1.attach(servo);
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(trigPin1,LOW);
delayMicroseconds(2);
digitalWrite(trigPin1,HIGH);
delayMicroseconds(10);
digitalWrite(trigPin1,LOW);
durasi1 = pulseIn(echoPin1, HIGH);
jarak1 = (durasi1/2)/29.1;
Serial.println("SABUN");
Serial.println(jarak1);
22
if (digitalRead(PIR) == HIGH)
{
digitalWrite(lamp, HIGH);
}
if (digitalRead(PIR)== LOW)
{
digitalWrite(lamp, LOW);
}
if (jarak1 <= 100)
{
lcd1.setCursor(4,0);
lcd1.print("LETAKKAN");
lcd1.setCursor(2, 1);
lcd1.print("DI BAWAH LED");
delay(800);
lcd1.clear();
}
else {
digitalWrite(LED1, LOW);
digitalWrite(LED2, HIGH);
servo1.write(0);
delay(500);
lcd1.setCursor(5, 0);
lcd1.print("SMART");
lcd1.setCursor(5, 1);
lcd1.print("TOILET");
delay(800);
lcd1.clear();
}
if(digitalRead(IR1) == LOW ){
servo1.write(90);
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
23
delay(500);
lcd1.setCursor(0, 0);
lcd1.print("TERIMA");
lcd1.setCursor(0, 1);
lcd1.print("KASIH");
delay(800);
lcd1.clear();
}
}
• ARDUINO 2
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Servo.h>
long durasi1;
int jarak1;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
lcd1.begin(16, 2);
24
lcd1.setCursor(5, 0);
lcd1.print("PROJEK");
lcd1.setCursor(5, 1);
lcd1.print("AKHIR");
delay(500);
lcd1.clear();
lcd1.setCursor(5, 0);
lcd1.print("SMART");
lcd1.setCursor(5, 1);
lcd1.print("TOILET");
delay(500);
digitalWrite(LED2, HIGH);
servo1.write(0);
delay(500);
pinMode(trigPin1, OUTPUT);
pinMode(echoPin1, INPUT);
pinMode(IR1, INPUT);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
servo1.attach(servo);
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(trigPin1,LOW);
delayMicroseconds(2);
digitalWrite(trigPin1,HIGH);
delayMicroseconds(10);
digitalWrite(trigPin1,LOW);
durasi1 = pulseIn(echoPin1, HIGH);
25
jarak1 = (durasi1/2)/29.1;
Serial.println("AIR");
Serial.println(jarak1);
lcd1.setCursor(5, 0);
lcd1.print("SMART");
lcd1.setCursor(5, 1);
lcd1.print("TOILET");
delay(800);
lcd1.clear();
}
if(digitalRead(IR1) == LOW ){
servo1.write(90);
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
delay(500);
lcd1.setCursor(0, 0);
lcd1.print("TERIMA");
26
lcd1.setCursor(0, 1);
lcd1.print("KASIH");
delay(800);
lcd1.clear();
}
}
4.1 KESIMPULAN
Dari hasil analisis dan project yang kami buat maka analisa output berupa smart toilet
menggunakan Arduino dan Sensor ultrasocic sangat diperlukan dalam era pandemi pada
saat ini untuk mengurangi kontak fisik terharap orang lain pada saat menyentuh tutup botol
pump. Diharapkan project yang kami rancang dapat menurunkan orang yang terinfeksi virus
dan dapat membuat orang selalu menjaga kebersihan. Kesimpulan yang dapat diambil dari
project ini antara lain:
a. Alat ini dapat mendeteksi tangan minimal jarak 10cm .
b. Dapat menghindari kontak fisik.
c. Semoga sistem yang di bangun dapat berjalan sesuai harapan .
4.1 SARAN
Untuk pengembangan lebih lanjut, kami memberikan saran untuk pengembangan
dari project ini yaitu:
1) Sistem ini dapat di kembangkan lebih lanjut dengan menambahkan module
pendeteksi suhu untuk mengetahui suhu badan
2) Bisa di Kembangan dengan mikrokontroler yang lain seperti Arduino Nano dan
Arduino Mega
3) Sistem ini dapat di Kembangan lebih jlanjut menggunakan APP inventor dengan
memanfaatkan API
4) Sistem ini tidak harus menggunakan servo, bisa menggunakan pump water atau
solenoid valve
5) Sistem ini bisa ditambahkan module on/off
27
DAFTAR PUSTAKA
Rahmayadi, Rizko Febri. 2021. Membuat Alat Hand Sanitizer Otomatis Menggunakan
Arduino. Diakses pada 27 November 2021 09:30. Melalui :
https://informatika.untagsby.ac.id/backend/uploads/pdf/Rizko_Febri_Rachmayadi_146
1800170.pdf
Pambudi, Giri Wahyu. 2017. Harga dan Spesifikasi Arduino Uno r3. Diakses pada 27
Novermber 2021 09:40. Melalui : https://www.cronyos.com/harga-dan-spesifikasi-
arduino-uno-r3/
Sugeng, Mas. 2019. Module Pendeteksi Halangan Rintangan Inframerah, Infrared Module
Proximity Sensor Robot Line Follower dan Obstacle Avoider. Diakses pada 27
November 2021 11:25. Melalui : http://electronicsbot.blogspot.com/2019/06/module-
sensor-infrared-proximity.html
28