INTERNET OF THINGS
MODUL 3
INTEGRASI INPUT PROSES DAN OUTPUT DALAM ARDUINO
Disusun Oleh:
Kelompok 21
LAMPIRAN .................................................................................................................... 28
ii
DAFTAR GAMBAR
iii
DAFTAR TABEL
iv
BAB I
PENJELASAN UMUM PROGRAM
2
Gambar 1.2 Cara Kerja Sensor Ultrasonik
Secara detail, cara kerja sensor ultrasonik adalah sebagai berikut:
1. Pemancar ultrasonik akan memancarkan sinyal dengan durasi waktu dan
frekuensi tertentu. Sinyal yang dipancarkan mempunyai frekuensi diatas 20 kHz,
sinyal tersebut berfungsi untuk mengukur jarak sebuah benda dengan
menggunakan sensor jarak, maka frekuensi yang umum digunakan adalah 40 kHz.
2. Sinyal yang dipancarkan akan merambat sebagai gelombang bunyi dengan
kecepatan sekitar 340 m/s. Ketika menumbuk suatu benda, maka sinyal tersebut
akan dipantulkan oleh benda tersebut.
3. Setelah gelombang pantulan diterima oleh alat penerima, maka sinyal tersebut
akan diproses untuk menghitung jarak dari benda tersebut.
(Widharma, 2020)
Karena kecepatan bunyi adalah 340 m/s, maka untuk mencari jarak dapat
menggunakan rumus sebagai berikut:
340. 𝑡
𝑆=
2
3
dimana S adalah jarak antara sensor ultrasonik dengan benda atau bidang pantul, dan t
adalah selisih antara waktu pemancaran gelombang oleh transmitter dan waktu ketika
gelombang pantul diterima receiver. (Widharma, 2020)
Salah satu sensor ultrasonik yang siap pakai adalah sensor ultrasonik HC-SR04.
Alat ini memiliki 2 komponen utama sebagai penyusun yaitu transmitter dan receiver.
Transmitter adalah sebuah alat yang berfungsi sebagai pemancar gelombang ultrasonik
dengan frekuensi tertentu (misal, sebesar 40 kHz) yang dibangkitkan dari sebuah osilator.
Receiver berfungsi sebagai penerima gelombang pantulan yang berasal dari transmitter
yang dikenakan pada permukaan benda. (Nur, 2020)
Prinsip kerja sensor ultrasonik HC-SR04 dalam pengukuran jarak yaitu ketika
pulsa trigger diberikan pada sensor, transmitter akan mulai memancarkan gelombang
ultrasonik, diwaktu yang sama sensor akan menghasilkan output TTL transisi naik
menandakan sensor mulai menghitung waktu pengukuran, setelah receiver menerima
pantulan yang dihasilkan oleh suatu objek maka pengukuran waktu akan dihentikan
dengan menghasilkan output TTL transisi turun. (K, 2016)
4
3. Dalam bidang pertahanan, gelombang ultrasonik dapat digunakan sebagai radar
atau navigasi, di darat maupun di dalam air. Gelombang ultrasonik dimanfaatkan
oleh kapal pemburu untuk mengetahui keberadaan kapal selam, dan juga
dipasangkan pada kapal selam untuk mengetahui keberadaan kapal yang berada
di atas permukaan air, mengukur kedalaman palung laut, mendeteksi ranjau, serta
menentukan posisi sekelompok ikan. (Widharma, 2020)
4. Dalam bidang pertanian sensor ultrasonik dapat digunakan untuk mengetahui
ketinggian air yang ada di lahan pertanian dengan memanfaatkan gelombang
pantul ultrasonik. (Zulfikar, 2020)
5. Dalam bidang perairan sensor ultrasonik dapat digunakan sebagai pendeteksi
kadar air dalam suatu kolam sehingga dengan menggunakan sensor ultrasonik kita
dapat menjaga tingkatan air dalam kolam. (Wicaksana, 2020)
6. Dalam bidang peternakan sensor ultrasonik dapat digunakan untuk membantu
peternak dalam mengecek sisa pakan yang tersedia, dan secara otomatis dapat
menambahkan pakan melalui sensor ultrasonik dan motor servo yang terhubung
ke Arduino. (Fuadi, 2021)
5
jarak bahaya. Setelah mode 1 berhasil, dilanjutkan dengan mode 2 dengan meng-input
“2” praktikan diminta untuk menyalakan 1 LED biru ketika sensor membaca pada jarak
antara 65 cm dan 85 cm dengan serial monitor menunjukkan jarak yang terbaca dan
keterangan bahwa objek dekat. Lalu kami diminta untuk menyalakan 2 LED biru dan
kuning ketika sensor membaca pada jarak antara 85 cm dan 105 cm dengan serial monitor
menunjukkan jarak yang terbaca dan keterangan bahwa objek menjauh. Dan terakhir
praktikan diminta untuk menyalakan 3 LED biru, kuning, dan merah ketika sensor
membaca jarak di atas 105 cm dengan serial monitor menunjukkan jarak yang terbaca
dan keterangan bahwa objek hilang.
6
Gambar 1.3 Arduino Uno R3
2. Breadboard
Breadboard merupakan dasar konstruksi sebuah sirkuit elektronik dan merupakan
purwarupa dari suatu rangkaian elektronik. Breadboard sering digunakan untuk
merangkai komponen, karena dengan menggunakan breadboard, pembuatan
purwarupa tidak memerlukan proses menyolder (langsung tancap). Karena
breadboard memiliki sifat solderless sehingga dapat digunakan kembali, atau
memungkinkan pengguna untuk membuat dan membongkar rangkaian dengan
cepat sehingga sangat cocok digunakan pada tahapan proses pembuatan
purwarupa serta membantu dalam berkreasi dalam desain sirkuit elektronika.
Tetapi jika ingin membuat rangkaian yang bersifat permanen, maka pengguna
harus menggunakan PCB. (Nusyirwan, 2019)
7
LED (Light Emitting Diode) adalah sebuah komponen elektronika yang akan
menampilkan cahaya apabila diberikan tegangan. LED merupakan perangkat keras
dan padat (solid-state component) sehingga lebih unggul dalam ketahanan
(durability). Selama ini LED banyak digunakan pada perangkat elektronik karena
ukuran yang kecil, cara pemasangan praktis, serta konsumsi listrik yang rendah. Salah
satu kelebihan LED adalah usia relatif panjang, yaitu lebih dari 30.000 jam.
Kelemahannya pada harga per lumen (satuan cahaya) lebih mahal dibandingkan
dengan lampu jenis pijar, TL dan SL, mudah rusak jika dioperasikan pada suhu
lingkungan yang terlalu tinggi, misal di industri. (Suhardi, 2014)
8
Gambar 1.6 Kabel Jumper
5. Resistor
Resistor adalah komponen dasar elektronika pasif yang mempunyai nilai resitansi
atau hambatan tertentu yang digunakan untuk membatasi dan mengatur jumlah arus
yang mengalir dalam satu rangkaian elektronika, selain itu resistor berfungsi sebagai
pembagi dan penurunan tegangan listrik. Sesuai dengan namanya resistor bersifat
resistif dan umumnya terbuat dari bahan karbon. Resistor dipasang pada kutub negatif
breadboard karena aliran listrik berasal dari kutub negatif ke kutub positif.
Selanjutnya, kutub negatif tersebut dirangkaikan pada ground Arduino Uno R3.
Pemilihan resistor tergantung pada tegangan yang akan digunakan. Ukuran resistor
yang bisa digunakan berkisar 100 Ω hingga 1 KΩ, semakin besar nilainya maka nyala
LED semakin redup dan sebaliknya. (Nusyirwan, 2019)
9
Sensor ultrasonik tipe HC-SR04 adalah perangkat yang digunakan untuk mengukur
jarak dari suatu objek dengan kisaran jarak yang dapat diukur adalah sekitar 2-450
cm. Untuk mengkomunikasikan jarak yang terbaca sensor ultrasonik menggunakan
dua pin digital. Prinsip kerja dari sensor ultrasonik ini adalah dengan mengirimkan
pulsa ultrasonik sekitar 40 KHz, kemudian dapat memantulkan pulsa echo kembali,
dan menghitung waktu yang diambil dalam mikrodetik. (Puspasari, 2019)
10
BAB II
FLOWCHART
11
Gambar 2.1 Flowchart Program (Lanjutan)
12
2.2 Penjelasan Flowchart Program
Langkah pertama yang dilakukan adalah meng-input variabel untuk LED bewarna
merah, biru, dan kuning, serta pin echo dan trig. Setelah itu mengatur lampu LED, trig,
dan Serial.begin(9600) sebagai output, dan pin echo sebagai input pada void setup.
Langkah selanjutnya adalah membuat coding program sesuai skenario yang diinginkan.
Setelah coding siap, dilanjutkan dengan start simulation. Jika meng-input “1” pada saat
start simulation, maka program yang dijalankan adalah mode 1. Sedangkan jika meng-
input “2” pada start simulation, maka program yang dijalankan adalah mode 2.
Pada mode 1 apabila sensor digerakkan ke titik pada jarak antara 110 sampai 130
cm, maka LED kuning akan menyala dan akan muncul keterangan “Aman” pada serial
monitor. Jika tidak berada pada titik tersebut, maka dilakukan pengecekan apakah titik
tersebut berada diantara 80 sampai 110 cm. Jika ya, maka LED kuning dan merah akan
menyala, dan akan muncul keterangan “Tidak Aman” pada serial monitor. Jika tidak,
maka dilakukan pengecekan apakah titik tersebut berada pada jarak kurang dari 80. Jika
ya, maka LED kuning, merah, dan biru menyala, dan akan muncul keterangan ‘Bahaya”
pada serial monitor. Jika titik tidak berada pada ketiga kondisi tersebut, maka LED tidak
akan menyala. Setelah itu akan ada delay selama. Jika pada serial monitor muncul angka
dan keterangan yang sesuai dengan skenario, maka mode 1 dikatakan berhasil. Jika tidak
berhasil, maka kembali melihat coding yang sudah dibuat apakah ada kesalahan atau
tidak.
Pada mode 2 apabila sensor digerakkan ke titik pada jarak antara 65 sampai 85
cm, maka LED biru akan menyala dan akan muncul keterangan “Objek Dekat” pada
serial monitor. Jika tidak berada pada titik tersebut, maka melihat apakah titik tersebut
berada diantara 85 sampai 105 cm. Jika ya, maka LED biru dan kuning akan menyala,
dan akan muncul keterangan “Objek Menjauh” pada serial monitor. Jika tidak, maka
melihat titik tersebut berada pada jarak lebih dari 105. Jika ya, maka LED biru, kuning,
dan merah menyala, dan akan muncul keterangan ‘Objek Menghilang” pada serial
monitor. Jika titik tidak berada pada ketiga kondisi tersebut, maka LED tidak akan
menyala. Setelah itu akan ada delay selama. Jika pada serial monitor muncul angka dan
keterangan yang sesuai dengan skenario, maka mode 2 dikatakan berhasil. Jika tidak
13
berhasil, maka kembali melihat coding yang sudah dibuat apakah ada kesalahan atau
tidak.
14
BAB III
Program Arduino
15
Tabel 3.1 Sketch Program(Lanjutan)
12 pinMode (echo,INPUT); //menyatakan pin echo sebagai input
13 pinMode (merah,OUTPUT); //menyatakan merah sebagai output
14 pinMode (kuning,OUTPUT); //menyatakan kuning sebagai output
15 pinMode (biru,OUTPUT); //menyatakan abu-abu sebagai output
16 Serial.begin(9600); //menyatakan kecepatan arduino dalam mentransfer data
17 }
18
19 void keteranganJarak() //fungsi baru untuk menentukan sebuah jarak
20 {
21 digitalWrite(trig, LOW); //menyatakan pin trigger tidak dialiri listrik
22 delayMicroseconds(2); //menyatakan delay dalam satuan microsecond
23 digitalWrite(trig, HIGH); //menyatakan pin trigger dalam aliran listrik
24 delayMicroseconds(10); //menyatakan delay dalam satuan microsecond
25 digitalWrite(trig, LOW);
26
27 duration = pulseIn(echo,HIGH); //mendefinisikan waktu atau durasi dan
mengaktifkan echo
28 distance = (0.0343 * duration) / 2; //menyatakan jarak yang dipakai nantinya
berupa cm
29 }
30
31 void mode1() //inisiasi perintah untuk mode 1
32 {
33 keteranganJarak(); //menyatakan bahwa jarak yang digunakan mengikuti fungsi
void keterangan jarak()
34 if (distance <= 130 && distance >= 110) //menyatakan jika jarak diantara 110
dan 130 yang akan terjadi sesuai perintah dibawahnya
35 {
36 digitalWrite(biru, LOW); //menyatakan biru tidak dialiri listrik yang artinya
mati
16
Tabel 3.1 Sketch Program (Lanjutan)
37 digitalWrite(kuning, HIGH); //menyatakan kuning dialiri listrik yang artinya
nyala
38 digitalWrite(merah, LOW); //menyatakan merah tidak dialiri listrik yang
artinya mati
39 Serial.println("Jarak : " + (String)distance + "(Aman)"); //menyatakan hasil
yang dicetak pada serial monitor adalah jarak(cm)dan keterangannya aman
40 }
41 else if (distance <= 110 && distance >= 80) //menyatakan tambahan bahwa jika
jaraknya berada diantara 80 dan 110 akan terjadi perintah dibawahnya
42 {
43 digitalWrite(biru, LOW); //menyatakan biru tidak dialiri listrik yang artinya
mati
44 digitalWrite(kuning, HIGH); //menyatakan kuning dialiri listrik yang artinya
nyala
45 digitalWrite(merah, HIGH); //menyatakan merah dialiri listrik yag artinya
nyala
46 Serial.println("Jarak : " + (String)distance + "(Tidak Aman)"); //menyatakan
hasil yang dicetak pada serial monitor adalah jarak(cm)dan keterangannya tidak
aman
47 }
48 else if (distance <= 80) //menyatakan tambahan kondisi yaitu jika jarak dibawah
80
49 {
50 digitalWrite(biru, HIGH); //menyatakan biru dialiri listrik yang artinya nyala
51 digitalWrite(kuning, HIGH); //menyatakan kuning dialiri listrik yang artinya
nyala
52 digitalWrite(merah, HIGH); //menyatakan merah dialiri listrik yang artinya
nyala
53 Serial.println("Jarak : " + (String)distance + "(Bahaya)"); //menyatakan hasil
yang dicetak pada serial monitor adalah jarak(cm)dan keterangannya bahaya
17
Tabel 3.1 Sketch Program (Lanjutan)
54 }
55 delay(250); //menyatakan keterlambatan sebesar 250
56 }
57
58 void mode2() //inisiasi perintah mode 2
59 {
60 keteranganJarak();
61 if (distance <= 85 && distance >=65) //menyatakan jika jarak berada diantara
85 dan 65 maka akan menjalankan perintah dibawahnya
62 {
63 digitalWrite(biru, HIGH);
64 digitalWrite(kuning, LOW);
65 digitalWrite(merah, LOW);
66 Serial.println("Jarak : " + (String)distance + "(Objek Dekat)"); //menyatakan
hasil yang dicetak pada serial monitor adalah jarak(cm)dan keterangannya objek
dekat
67 }
68 else if (distance <= 105 && distance >= 85) //menyatakan jika jarak berada
diantara 85 dan 105 maka akan menjalankan perintah dibawahnya
69 {
70 digitalWrite(biru, HIGH);
71 digitalWrite(kuning, HIGH);
72 digitalWrite(merah, LOW);
73 Serial.println("Jarak : " + (String)distance + "(Objek Menjauh)");
//menyatakan hasil yang dicetak pada serial monitor adalah jarak(cm)dan
keterangannya Objek Menjauh
74 }
75 else if (distance >= 105){ //menyatakan jika jarak berada diatas 105 maka akan
menjalankan perintah dibawahnya
76 digitalWrite(biru, HIGH);
18
Tabel 3.1 Sketch Program (Lanjutan)
77 digitalWrite(kuning, HIGH);
78 digitalWrite(merah, HIGH);
79 Serial.println("Jarak : " + (String)distance + "(Objek Hilang)"); //menyatakan
hasil yang dicetak pada serial monitor adalah jarak(cm)dan keterangannya Objek
Hilang
80 }
81 delay(250);
82 }
83
84 void loop() // mengeksekusi dan menjalankan program yang sudah dibuat
85 {
86 char input = Serial.read(); //mengambil data pada inputan dan memanggil fungsi
read dari objek Serial()
87 while (Serial.available() == 0) { //fungsi untuk mengecek kesediaan data
88 if (input == '1') { //jika kita memasukkan 1
89 mode1(); //mode 1 akan berjalan
90 } else if (input == '2') { //jika kita memasukkan 2
91 mode2(); //mode 2 akan berjalan
92 } else if (input == 'x') { //jika kita memasukkan x
93 exit(0); // merupakan sebuah fungsi yang digunakan untuk menghentikan
program
94 }
95 }
96 }
19
Pada modul 3 ini kami membuat sebuah program yang sebagian besar
memanfaatkan sensor ultrasonik. Pada sketch program modul 3 ini sama seperti
modul 2 dimana rangkaiannya tetap menggunakan Arduino yang terdiri dari
beberapa komponen. Komponen tersebut diantara lain yakni Arduino Uno R3,
breadboard, LED, piezo, resistor, kabel, dan sensor ultrasonik HC-SR04. Dalam
rangkaian ini LED sebagai output, sensor ultrasonik HC-SR04 sebagai input dan
output dimana pin trigger sebagai output dan pin echo sebagai input. Komponen
lain seperti Arduino R3, breadboard, dan kabel merupakan objek utama dari
rangkaian arduino tersebut. Dalam rangkaian ini, kami memulai dengan mencari
dan memasangkan komponen Arduino R3 dan breadbroad. Pada breadboard
kami pasangkan 3 lampu dengan warna biru, kuning, dan merah. LED yang
pertama adalah LED berwarna biru yang kami pasangkan pada pin e3 breadboard
dan terhubung pada pin 13 Arduino R3. LED yang kedua adalah LED berwarna
kuning yang dipasangkan dengan pin e6 breadboard dan pin 12 Arduino R3. LED
yang terakhir adalah LED berwarna merah yang dipasangkan pin e10 breadboard
dan pin 11 Arduino R3.
Setelah semua LED terpasang pada breadboard komponen selanjutnya yang
kami pasang adalah resistor dengan hambatan sebesar 1 kΩ. dimana fungsi
resistor adalah sebagai hambatan. Sebuah resistor bisa digunakan apabila salah
satu kutub dipasangkan pada kutub negatif dan kutub lainnya menyambung pada
pin di breadboard yang diarahkan pada katoda lampu LED. Pada anoda LED
dipasangkan dengan pin yang ada di Arduino R3 menggunakan kabel. Arduino
R3 juga disambungkan pada breadboard dengan menggunakan kabel. Pin Ground
pada Arduino disabungkan pada terminal negatif resistor dan pin 5v pada Arduino
R3 disambungkan pada terminal positif resistor.
Lanjut pada komponen selanjutnya yaitu sensor ultrasonik HC-RS04 dimana
sensor ini digunakan untuk mengetahui jarak benda dengan sensor. Dalam sensor
ini terdapat 4 pin yang ada didalamnya. Pin yang pertama adalah pin VCC dimana
fungsinya adalah sebagai sumber tegangan positif. Pin ini dihubungkan pada
terminal positif dengan menggunakan kabel. Pin yang selanjutnya adalah pin
trigger, fungsinya sebagai trigger keluarnya sinyal dari sensor. Pin ini
20
disambungkan dengan pin 10 Arduino R3 melaui kabel yang disambungkan pada
breadboard. Pin ketiga adalah pin echo yang digunakan untuk menangkap sinyal
yang dikeluarkan oleh sensor. Pin ini disambungkan dengan pin 9 Arduino R3
melalui kabel melalui breadboard. Pin yang terakhir adalah pin ground yang
fungsinya sebagai sumber penutup rangkaiannya atau sumber tegangan negatif.
Pin ground ini disambungkan dengan terminal positif yang ada di breadboard.
b. Coding
Pada proses pembuatan sketch ini digunakan berbagai perintah untuk
menjalankan suatu rangkaian yang bertujuan untuk membentuk suatu program
tersebut bisa berhasil. Fungsi pertama yang kami gunakan adalah sebuah fungsi
yang digunakan untuk menentukan sebuah variabel. Dalam hal ini fungsi tersebut
memiliki kegunaan untuk merepresentasikan sebuah variabel yang berbentuk
angka yang biasanya disebut integer tipe data. Selain itu terdapat fungsi const atau
konstanta yang merupakan sebuah fungsi agar sebuah nilai tetap seperti const int
biru = 13 merupakan sebuah fungsi yang menunjukkan variabel biru berada pada
pin 13 Arduino R3, const int kuning = 12 sebuah fungsi yang menunjukkan
variabel biru berada pada pin 12 Arduino R3, const int merah = 11 sebuah fungsi
yang menunjukkan variabel biru berada pada pin 11 Arduino R3. Dan terdapat
cons int trig = 10, echo 9 untuk menunjukkan bahwa sensor ultrasonik HC-SR04
dipasangkan dengan pin 9 dan 10.
Perintah kedua adalah perintah voidsetup() dimana fungsinya untuk
mendeklarasikan suatu komponen memakai output atau input dan menentukan
kecepatan arduino dalam mengirimkan sebuah data. Dalam void setup hanya
sekali digunakan untuk menjalankan program arduino. Dalam fungsi ini terdapat
pin mode() yang memiliki fungsi untuk mengkonfigurasikan sebuah komponen
untuk menentukan output/input. Tetapi dalam hal ini LED digunakan sebagai
output karena kami ingin melihat hasil dari program yang kami jalankan. Pada
Sensor ultrasonik HC-SR04 memakai dua mode yang pertama pin VCC sebagai
output karena pin ini digunakan untuk mengirimkan sinyal dan yang kedua pin
GND sebagai input karena pin VCC digunakan untuk menangkap sebuah sinyal
yang dikirimkan melalui sensor. Diawal fungsi void setup() terdapat tanda kurung
21
kurawal yang memiliki fungsi untuk menentukan awalan dan akhiran suatu
pemograman. Serta terdapat tanda titik koma untuk membuat coding berhenti
dalam satu line. Terakhir ada fungsi serial.begin(9600) yang memiliki fungsi
untuk menentukan kecepatan arduino mentransfer data yaitu sebesar 9600 bytes
per detiknya. Pada sketch yang kami buat terdapat berbagai fungsi void setup().
Yang pertama, pinMode (trig,OUTPUT); yang menyatakan pin trigger sebagai
output. Yang kedua, pinMode (echo,INPUT); yang menyatakan pin echo sebagai
input. Yang ketiga pinMode (merah,OUTPUT); yang menyatakan merah sebagai
output. pinMode (kuning,OUTPUT); yang menyatakan kuning sebagai output.
Yang keempat ada pinMode (biru,OUTPUT); menyatakan abu-abu sebagai
output. Yang terakhir, Serial.begin(9600); menyatakan kecepatan Arduino R3
sebesar 9600 millisecond.
Langkah selanjutnya dalam sketch ini adalah membuat fungsi baru untuk
menginisiasi jarak dan keterangan, dalam hal ini kita harus menyalakan sensor
ultrasonik HC-SR04 dengan cara mematikan sensor dengan fungsi
digitalWrite(trig, LOW);. Selanjutnya membuat delay dengan satuan microsecond
dengan fungsi delayMicroseconds(2);. Membuat pin trigger menyala dengan
fungsi digitalWrite(trig, HIGH);. Cara selanjutnya membuat delay dalam
microsecond dengan fungsi delayMicroseconds(10);. Langkah terakhir adalah
mematikan pin trigger dengan fungsi digitalWrite(trig, LOW);. Dalam sketch ini
kami diperintah untuk menyatakan jarak dalam satuan cm dengan fungsi distance
= (0.0343 * duration) dan waktu dalam mengaktifkan echo dengan fungsi duration
= pulseIn(echo,HIGH);.
Setelah membuat fungsi void keteranganJarak(), kami membuat 2 mode
beserta keterangan jarak yang berbeda. Mode yang pertama adalah mode dimana
pada jarak 130 dan 110 memiliki keterangan aman pada serial monitor dan salah
satu LED menyala yaitu LED berwarna kuning. Yang kedua jika jarak berada
pada 110 da 80 keterangannya tidak aman pada serial monitor dan dua lampu
menyala bersamaan dengan warna LED nya yaitu kuning dan merah. Yang
terakhir dalam mode ini adalah jika jarak dibawah 80 keterangannya bahaya dan
lampu LED yang menyala sejumlah 3 buah LED berwarna biru, kuning, dan
22
merah. Berikut adalah cara untuk mengaplikasikan perintah tersebut. Yang
pertama if (distance <= 130 && distance >= 110) yang menyatakan jika jarak
diantara 110 dan 130 yang akan terjadi sesuai perintah dibawahnya. Yang kedua
digitalWrite(biru, LOW); yang menyatakan biru tidak dialiri listrik yang artinya
mati. Yang ketiga digitalWrite(kuning, HIGH); yang menyatakan kuning dialiri
listrik yang artinya nyala. Yang keempat digitalWrite(merah, LOW); menyatakan
merah tidak dialiri listrik yang artinya mati
Yang terakhir dalam perintah ini Serial.println("Jarak : " + (String)distance +
"(Aman)"); menyatakan hasil yang dicetak pada serial monitor adalah
jarak(cm)dan keterangannya aman. Selanjutnya jika terdapat fungsi else if
(distance <= 110 && distance >= 80) berarti fungsi ini menyatakan tambahan
bahwa jika jaraknya berada diantara 80 dan 110 akan terjadi perintah dibawahnya.
Yang pertama digitalWrite(biru, LOW); menyatakan biru tidak dialiri listrik yang
artinya mati. Kedua digitalWrite(kuning, HIGH); menyatakan kuning dialiri
listrik yang artinya nyala. Ketiga digitalWrite(merah, HIGH); menyatakan merah
dialiri listrik yag artinya nyala. Dan terakhir Serial.println("Jarak : " +
(String)distance + "(Tidak Aman)"); menyatakan hasil yang dicetak pada serial
monitor adalah jarak(cm) dan keterangannya tidak aman. Pada perintah yang
terakhir jika terdapat fungsi else if (distance <= 80) menyatakan tambahan kondisi
yaitu jika jarak dibawah 80. Yang pertama digitalWrite(biru, HIGH); menyatakan
biru dialiri listrik yang artinya nyala. Kedua digitalWrite(kuning, HIGH);
menyatakan kuning dialiri listrik yang artinya nyala. Yang ketiga
digitalWrite(merah, HIGH); menyatakan merah dialiri listrik yang artinya nyala.
Dan yang terakhir Serial.println("Jarak : " + (String)distance + "(Bahaya)");
menyatakan hasil yang dicetak pada serial monitor adalah jarak(cm) dan
keterangannya bahaya. Dalam mode ini kami tambahkan fungsi tambahan delay
dengan fungsi delay(250);.
Mode yang kedua adalah mode dimana pada jarak 85 dan 65 memiliki
keterangan objek dekat pada serial monitor dan salah satu LED menyala yaitu
LED berwarna biru. Yang kedua jika jarak berada pada 105 dan 85 keterangannya
objek menjauh pada serial monitor dan dua lampu menyala bersamaan dengan
23
warna LED nya yaitu kuning dan biru. Yang terakhir dalam mode ini adalah jika
jarak diatas 85 keterangannya objek hilang dan lampu LED yang menyala
sejumlah 3 buah LED berwarna biru, kuning, dan merah. Berikut adalah cara
untuk mengaplikasikan perintah tersebut. Yang pertama if (distance <= 85 &&
distance >=65) menyatakan jika jarak berada diantara 85 dan 65 maka akan
menjalankan perintah dibawahnya. digitalWrite(biru, HIGH); yang berarti LED
biru menyala. Yang kedua digitalWrite(kuning, LOW); berarti lampu kuning
nyala. Yang ketiga digitalWrite(merah, LOW); yang menyatakan LED merah
mati. Serial.println("Jarak : " + (String)distance + "(Objek Dekat)"); menyatakan
hasil yang dicetak pada serial monitor adalah jarak(cm) dan keterangannya objek
dekat. Selanjutnya jika terdapat fungsi else if (distance <= 105 && distance >=
85) menyatakan jika jarak berada diantara 85 dan 105 maka akan menjalankan
perintah dibawahnya. Pertama digitalWrite(biru, HIGH); menyatakan LED biru
menyala. Kedua digitalWrite(kuning, HIGH); yang menyatakan LED kuning
menyala. Ketiga digitalWrite(merah, LOW); menyatakan LED merah mati. Dan
fungsi terakhir adalah Serial.println("Jarak : " + (String)distance + "(Objek
Menjauh)"); yang menyatakan hasil yang dicetak pada serial monitor adalah
jarak(cm) dan keterangannya objek menjauh. Selanjutnya jika jarak berada diatas
105 maka akan menjalankan perintah dibawahnya dengan fungsi else if (distance
>= 105). Yang pertama digitalWrite(biru, HIGH); yang menyatakan LED biru
menyala. Yang kedua digitalWrite(kuning, HIGH); menyatakan LED kuning
menyala. digitalWrite(merah, HIGH); menyatakan LED merah menyala. Dan
yang terakhir adalah Serial.println("Jarak : " + (String)distance + "(Objek
Hilang)"); menyatakan hasil yang dicetak pada serial monitor adalah
jarak(cm)dan keterangannya Objek Hilang. Dalam mode ini kami juga
menggunakan fungsi delay(250); untuk delay sebesar 250 millisecond.
Perintah yang terakhir dalam menjalankan program ini adalah perintah
untuk menjalankan semua fungsi diatas dengan menggunakan void loop(). Dalam
void loop terdapat beberapa fungsi yang berada didalamnya seperti, char input =
Serial.read(); yang berfungsi untuk mengambil data pada inputan dan memanggil
fungsi read dari objek Serial(). Selanjutnya ada while (Serial.available() == 0)
24
adalah sebuah fungsi untuk mengecek kesediaan data. Untuk menjalankan mode
1 terdapat fungsi if (input == '1') yang berarti jika kita memasukkan variable 1
dalam serial monitor. Menyambung dengan fungsi diatas yaitu mode1(); maka
mode 1 akan berjalan. Selanjutnya, jika kita akan menjalankan mode 2 kita
menggunakan fungsi else if (input == '2') yang berarti jika kita memasukkan
variabel 2 pada serial monitor. Selanjutnya ada fungsi mode2(); yang berarti mode
2 akan berjalan. Dalam sketch ini jika semua data dimasukkan secara berurutan
dan tentunya dengan benar maka skenario 9 dapat berjalan. kan berjalan. Untuk
mengakhiri semua rangkaian diatas kami gunakan fungsi else if (input == 'x') yang
memiliki arti jika kita memasukkan x pada serial monitor dan fungsi exit(0) maka
seluruh rangkaian yang ada dalam program ini akan berhenti.
25
DAFTAR PUSTAKA