Anda di halaman 1dari 21

BAB III

ANALISA DAN PERANCANGAN ALAT

Perancangan sistem “Water Spray and Mopping Floor Robot” melibatkan

perancangan perangkat keras dan perangkat lunak yang saling berinteraksi untuk

mencapai operasi yang diinginkan. Perangkat keras mencakup rangkaian arduino

uno, sensor ultrasonik, motor driver, motor dc, dan motor servo. Sedangkan

perangkat lunak menggunakan bahasa pemrograman arduino untuk

mengendalikan dan mengkoordinasikan komponen perangkat keras tersebut.

3.1 Analisa Alat

Tujuan dari perancangan “Water Spray and Mopping Floor Robot” adalah

menciptakan sebuah robot yang dapat melakukan pembersihan lantai secara

efisien dan efektif. Robot ini dirancang untuk menyemprotkan air dan

menggunakan mop otomatis untuk membersihkan lantai, mengurangi pekerjaan

manusia dalam proses pembersihan.

1. Kebutuhan Fungsional :

a. Deteksi Kotoran : Robot harus dilengkapi dengan sensor atau sistem

deteksi jarak untuk mengidentifikasi area yang akan di laluinya dan

memprioritaskan pembersihan pada area tersebut.

b. Semprotan Air : Robot memiliki mekanisme semprotan air (tetesan) yang

merata dan terkontrol untuk mengoptimalkan proses pembersihan.

52
53

c. Mop Otomatis : Robot dilengkapi dengan mekanisme mop yang dapat

bergerak (berputar) secara otomatis, menjaga kebersihan lantai dengan

membersihkan noda atau kotoran yang ada.

d. Navigasi dan Penghindaran Rintangan : Robot ini dapat bergerak dengan

lancar di sepanjang lantai dan menghindari rintangan seperti meja, kursi,

atau penghalang lainnya.

e. Pengisian Ulang Air : Air dalam robot ini harus diisi ulang oleh pengguna

dan pengguna memastikan pasokan air yang memadai selama proses

pembersihan.

f. Antarmuka pengguna : Robot hanya dilengkapi dengan Saklar ON/OFF

pengguna hanya dapat mengontrol dengan menekan tombol saklar untuk

menjalankan robot.

2. Arsitektur Sistem :

a. Perangkat Keras (Hardware):

a) Mikrokontroler : Arduino Uno atau mikrokontroler serupa sebagai otak

robot yang mengkoordinasikan semua komponen.

b) Sensor Ultrasonik : Untuk mendeteksi jarak antara robot dengan rintangan

di sekitarnya.

c) Motor DC : Untuk menggerakkan roda robot dan memungkinkan

pergerakan yang lancar.

d) Motor Servo : Untuk mengendalikan mekanisme kerja sensor ultrasonik.

e) Tangki Air : Untuk menyimpan air yang akan digunakan dalam proses

semprotan.

f) Motor driver : Untuk mengendalikan motor.


54

g) Motor DC Stepdown : Untuk mengurangi tegangan listrik yang masuk ke

motor DC.

h) Motor Pump 5v : Untuk menggerakkan pompa pada tegangan 5 volt.

3. Perangkat Lunak (Software):

a) Bahasa Pemrograman : Bahasa pemrograman Arduino untuk

mengembangkan program yang mengatur algoritma navigasi,

pengendalian motor, dan logika penghindaran rintangan.

b) Algoritma Navigasi : Untuk mengatur gerakan robot agar dapat bergerak

di sepanjang lantai dengan lancar.

c) Logika Penghindaran Rintangan : Untuk mendeteksi rintangan

menggunakan sensor ultrasonik dan mengambil tindakan yang sesuai,

seperti mengubah arah atau menghindari rintangan.

d) Kontrol Semprotan Air dan Mop : Untuk mengendalikan semprotan air

dan gerakan mop secara otomatis sesuai dengan kebutuhan pembersihan.

3.1.1 Gambaran Umum Alat

Deskripsi kerja secara keseluruhan dari sistem pada tugas akhir ini, sistem

ini akan mulai beroprasi ketika diberikan sumber tegangan melalui power suply ke

arduino. Dengan adanya tegangan pada arduino, sensor dapat menangkap data dan

dikirim ke arduino kemudian akan menampilkan data yang telah diolah melalui

sistem perangkat yang ada. Data yang ada di arduino akan memberi intruksi

kepada komponen yang beroperasi. Gambaran umum sistem ini ditampilkan

berupa flowchart alur kerja sistem.


55

Mulai

Arduino dapat
Selesai
Suplay Tegangan

Program Utama

Driver Motor

Inisial pin Pengon-


sensor ke trolan air
Arduino

Motor DC
bergerak

Gambar 3.1.1 Flowchart Diagram.


56

3.1.2 Prinsip Kerja

Pada kondisi awal saat alat dinyalakan, maka Arduino Uno melakukan

inisialisasi input output yang akan digunakan pada saat proses. Inisialisasi yang

dilakukannya penggunaan sensor ultrasonik untuk pembacaan jarak halangan

berjalan. Selanjutnya pada kondisi menyala motor dc bergerak memutar kain pel

yang menyatu. Pada kondisi ini arduino membaca masukan sensor ultrasonik

untuk maju dan mundurnya robot ini. Kemudian motor driver memberikan signal

kepada motor pump untuk menyemprotkan air sehingga air mengalir dari selang

infus ke kain pel. Sensor ultrasonik bekerja menggunakan satu jalur data input

output sebagai perintah dan pembacaan data antara arduino dan sensor ultrasonik

tersebut. Saat hasil pembacaan sensor ultrasonik diperoleh, maka robot akan

menghindari objek atau dinding yang menghalangi jalannya. Begitu seterusnya

proses ini berulang dan motor dc, motor pump kembali berputar dan menyiram

sehingga lantai yang dilalui bersih dari kotoran.

3.2 Analisis Kebutuhan Alat

Analisis kebutuhan sistem ini membahas kebutuhan software dan

hardware yang dibutuhkan untuk membangun sistem yang sesuai dengan fungsi

yang telah dirancang. Berikut kebutuhan sistem yang diperlukan :

1. Software

Software yang dibutuhkan dalam pembuatan Spray Water end Mopping Floor

Robot berbasis mikrokontroler arduino uno sebagai berikut :

a. IDE Arduino : Software processing yang digunakan untuk menulis program

kedalam Arduino.
57

b. Library Arduino IDE : kumpulan kode program Arduino dasar yang

dikemas untuk memberikan perintah terhadap suatu komponen agar bekerja

sesuai fungsinya.

2. Hardware

Hardware yang dibutuhkan dalam pembuatan Spray Water end Mopping Floor

Robot berbasis mikrokontroler sebagai berikut :

a) Arduino Uno

b) Sensor ultrasonic

c) Motor dc gear box

d) Motor dc stepdown

e) Motor pump 5v

f) Catudaya

g) Pin jumper

h) Laptop

i) Kain pel buatan

j) Motor servo

k) Motor driver

3.3 Perancangan Alat

3.3.1 Perancangan Perangkat Keras

Pada perancangan perangkat keras ini akan dibahas mengenai perakitan

hardware-hardware yang akan digunakan dalam pembuatan sistem ini. Perangkat

atau alat yang digunakan dalam pembuatan Spray Water And Mopping Floor
58

Robot bebasis mikrokontroler arduino uno. Adapun tahapan-tahapan perakitan alat

akan dijelaskan pada blok diagram sebagai berikut :

Baterai

Motor
Motor Pump 5v
Driver 1

Arduino
Uno Motor Sensor
Servo Ultrasonik
Motor
Driver 2

Motor Dc Kain
Stepdown Pel

Digaram 3.3.1 Blok Diagram Rangkaian Mikrokontroler.

Sesuai dengan blok diagram di atas maka fungsi setiap blok diagram pada

sistem kerja Water Spray And Mopping Floor Robot berbasis mikrokontroler

arduino uno secara keseluruhan adalah sebagai berikut :

1. Arduino Uno berfungsi sebagai pengendali utama sistem untuk melakukan

pembacaan sensor ultrasonik serta komunikasi pada motor driver.

2. Motor driver unutk penghubung komunikasi antara arduino uno dengan motor

dc, motor servo, sensor ultrasonik, motor pump 5v.

3. Sensor ultrasonik berfungsi untuk membaca keadaan yang ada di depannya.


59

4. Motor servo berfungsi penggerak sensor ultrasonik.

5. Motor dc stepdown berfungsi sebagai pemutar kain pelan.

6. Motor pump 5v berfungsi sebagai pengontrol pergerakan air dari wadah air

tersebut.

7. Baterai sebagai catudaya dari sitem ini.

Berikut tahapan-tahapan yang dilakukan dalam perakitan perangkat keras

sistem :

1. Perancangan Rangkaian Motor Driver L293 dengan 4 Motor DC Gear Box

Rangkaian motor driver L293 adalah sebuah komponen elektronik

yang berfungsi mengendalikan arah dan kecepatan motor DC. Motor DC

gearbox, seperti namanya, adalah sebuah motor DC yang memiliki gear

box atau gigi yang terpasang pada porosnya untuk meningkatkan torsi dan

mengurangi kecepatan putaran. Kabel-kabel yang saling terhubung dengan

pin masing-masing motor driver dan sesuai dengan warna kabel dari motor

dc gear box dapat di lihat pada gambar di bawah ini.


60

Gambar 3.3.1.1 Rangkaian motor diver l293 dengan motor dc gear box

Tabel 3.1 Konfigurasi Motor Driver L293 dengan Motor DC Gear Box

Motor Driver L293 Motor DC Gear Box

M1_A +

M1_B -

M2_A +

M2_B -

M3_A +

M3_B -

M4_A +

M4_B -

2. Perancangan Arduino Uno R3 dengan Motor Servo dan Sensor Ultrasonik.

Arduino uno r3 berperan dalam rangkaian ini sebagai otak

(mikrokontroler) dalam menjalankan motor servo dan sensor ultrasonik.

Mikrokontroler tersebut berfungsi untuk mengatur dan mengendalikan

motor servo dan sensor ultrasonik sesuai dengan program yang telah di

tetapkan. Ini sial pin yang sudah di tetapkan dapat di lihat pada gambar di

bawah ini.
61

Gambar 3.3.2 Rangkaian Arduino Uno dengan Motor servo dan

Sensor Ultrasonik.

Tabel 3.2 Konfigurasi Arduino dengan Motor servo dan Sensor Ultrasonik

Arduino Uno R3 Motor Servo Sensor Ultrasonik

A0 ⁓9 Echo

A1 Trig

5v 5v Vcc

Gnd Gnd Gnd

3. Perancangan Motor Driver L293 dengan Motor Pump 5v dan 1 motor DC

Stepdown

Dalam rangkaian ini motor driver terhubung dengan 2 motor, yaitu

motor pump 5v dan satu motor DC Stepdown. Motor pump 5v adalah

motor DC yang berfungsi unutuk menggerakkan pompa atau alat yang

membutuhkan aliran fluida , seperti air atau cairan lainnya. Motor DC

stepdown adalah motor DC yang biasanya digunakan pada sistem penurun

tegangan (stepdown) untuk mengurangi tegangan dari sumber yang lebih


62

tinggi menjadi tegangan yang lebih rendah. Berikut gambar rangkaian

serta penjelasan pin-pin yang saling terhubung.

Gambar 3.3.3 Rangkaian Motor Driver l293 dengan Motor pump

5v dan 1 Motor DC Stepdown.

Tabel 3.3 Konfigurasi Arduino dengan LCD

Motor Driver L293 Motor Pump 5v Motor DC Stepdown

M1_A Vcc +

Gnd Gnd -

4. Perancangan rangkaian keseluruhan

Perangkat sistem dimulai dari pemasangan motor DC gear box

yang di hubungkan dengan motor driver l293 sebagai pemutar roda untuk

berjalan. Selanjudnya pemasangan sensor ultrasonik pada motor servo

yang di hubungkan dengan motor driver/arduino uno r3 dan pasangan

selanjudnya adalah pengontrolan air dengan motor pum 5v serta motor dc

stepdown dengan motor driver l293. Rangkaian keseluruhan dari sistem ini

dapat dilihat pada gambar dibawah ini.


63

Gambar 3.3.4 Rangkaian Keseluruhan Sistem.

Tabel 3.4 Konfigurasi Keseluruhan

Arduino Motor Driver Motor Motor Motor DC Motor DC


Uno L293 Servo Pump 5v Gear Box Stepdown
5v M1_A 5v Vcc + +
Gnd M1_B Gnd Gnd - -
A0 M2_A ⁓9 +
A1 M2_B -
M3_A +
M3_B -
M4_A +
M4_B -

3.3.2 Perancangan Software

Pada perancangan perangkat lunak atau software ini adalah bagian dari

penyempurnaan dari perangkat keras agar dapat bekerja dengan semestinya dan

dapat berjalan secara otomatis. Pemrograman Mikrokontroler Arduino Uno

adalah pemrograman yang menginputkan suatu perintah atau program tanpa

dikendalikan oleh manusia lagi pada komponen. Sepeti yang dijelaskan pada

bagian sebelumnya bahwa disini untuk dapat menjalankan perangkat keras seperti
64

Motor servo, Motor pum 5v, Motor Driver, Sensor ultrasonik dan Motor DC

stepdown membutuhkan syntac coding agar dapat berjalan secara otomatis.

Arduino IDE digunakan untuk memberikan perintah-perintah terhadap perangkat

keras tersebut. Pada penulisan coding yang dilakukan pada Arduino IDE berisi

tentang beberapa fungsi, diantaranya adalah fungsi untuk menggerakkan setiap

motor dan sensor.

Selain menggunakan aplikasi Arduino IDE, pada pembuatan Water Spray

And Mopping Floor Robot berbasis mikrokontroler ini juga menggunakan library

pendukung lainnya yaitu Library Arduino yang digunakan untuk membuat

kumpulan kode program Arduino dasar yang dikemas untuk memberikan perintah

terhadap suatu komponen agar bekerja sesuai fungsinya.

Adapun tahapan pemrograman yang dilakukan dalam perakitan perangkat

lunak sistem (software) yang dapat dilihat pada listing program berikut ini.

//ARDUINO OBSTACLE AVOIDING CAR//

#include <AFMotor.h>

#include <NewPing.h>

#include <Servo.h>

#define TRIG_PIN A4

#define ECHO_PIN A5

#define MAX_DISTANCE 500

#define MAX_SPEED 100 // sets speed of DC motors

#define MAX_SPEED_OFFSET 50
65

NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

AF_DCMotor motor1(1, MOTOR12_1KHZ);

AF_DCMotor motor2(2, MOTOR12_1KHZ);

AF_DCMotor motor3(3, MOTOR34_1KHZ);

AF_DCMotor motor4(4, MOTOR34_1KHZ);

Servo myservo;

boolean goesForward=false;

int distance = 100;

int speedSet = 0;

void setup() {

myservo.attach(10);

myservo.write(115);

delay(2000);

distance = readPing();

delay(100);

distance = readPing();

delay(100);

distance = readPing();

delay(100);

distance = readPing();
66

delay(100);

void loop() {

int distanceR = 0;

int distanceL = 0;

delay(40);

if(distance<=15)

moveStop();

delay(100);

moveBackward();

delay(300);

moveStop();

delay(200);

distanceR = lookRight();

delay(200);

distanceL = lookLeft();

delay(200);

if(distanceR>=distanceL)

turnRight();
67

moveStop();

}else

turnLeft();

moveStop();

}else

moveForward();

distance = readPing();

int lookRight()

myservo.write(50);

delay(500);

int distance = readPing();

delay(100);

myservo.write(115);

return distance;

int lookLeft()
68

myservo.write(170);

delay(500);

int distance = readPing();

delay(100);

myservo.write(115);

return distance;

delay(100);

int readPing() {

delay(70);

int cm = sonar.ping_cm();

if(cm==0)

cm = 400;

return cm;

void moveStop() {

motor1.run(RELEASE);

motor2.run(RELEASE);

motor3.run(RELEASE);
69

motor4.run(RELEASE);

void moveForward() {

if(!goesForward)

goesForward=true;

motor1.run(FORWARD);

motor2.run(FORWARD);

motor3.run(FORWARD);

motor4.run(FORWARD);

for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) // slowly bring

the speed up to avoid loading down the batteries too quickly

motor1.setSpeed(speedSet);

motor2.setSpeed(speedSet);

motor3.setSpeed(speedSet);

motor4.setSpeed(speedSet);

delay(5);

}
70

void moveBackward() {

goesForward=false;

motor1.run(BACKWARD);

motor2.run(BACKWARD);

motor3.run(BACKWARD);

motor4.run(BACKWARD);

for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) // slowly bring

the speed up to avoid loading down the batteries too quickly

motor1.setSpeed(speedSet);

motor2.setSpeed(speedSet);

motor3.setSpeed(speedSet);

motor4.setSpeed(speedSet);

delay(5);

void turnRight() {

motor1.run(FORWARD);

motor4.run(FORWARD);

motor3.run(BACKWARD);

motor2.run(BACKWARD);

delay(500);

motor1.run(FORWARD);
71

motor2.run(FORWARD);

motor3.run(FORWARD);

motor4.run(FORWARD);

void turnLeft() {

motor1.run(BACKWARD);

motor4.run(BACKWARD);

motor3.run(FORWARD);

motor2.run(FORWARD);

delay(500);

motor1.run(FORWARD);

motor2.run(FORWARD);

motor3.run(FORWARD);

motor4.run(FORWARD);

Koding yang digunakan adalah bahasa C++ pada aplikasi Arduino IDE.

Bahasa program diatas akan diinputkan pada rangkaian Arduino Uno untuk

menjalankan suatu perintah pada alat tersebut tanpa dikendalikan manusia.


72

Anda mungkin juga menyukai