LAPORAN PRAKTIKUM INTERNET OF THINGS (IOT)
SIMULASI MINI PARKING SENSOR
MENGGUNAKAN WOKWI DAN ARDUINO
Disusun Oleh:
Revalina Natasya Sinaga 24051204123
Muchammad Ainur Rizal 24051204127
M. Mazidannur Jibril Murtadlo 24051204130
Akhmad Furqon Al Farid 24051204134
BAB I
PENDAHULUAN
1.1
Latar Belakang
Mikrokontroler
merupakan salah satu perangkat yang banyak digunakan dalam pembuatan sistem
otomatis karena mampu menerima input, mengolah data, dan menghasilkan output
sesuai dengan program yang diberikan. Dalam proses tersebut, mikrokontroler
dapat menggunakan input digital maupun analog. Salah satu contoh penerapannya
adalah sistem yang dapat mendeteksi kondisi tertentu berdasarkan nilai input
yang diterima.
Pada
praktikum ini dibuat sebuah simulasi Mini Parking Sensor menggunakan
Arduino Uno pada platform Wokwi. Sistem ini menggunakan potentiometer sebagai
simulasi sensor jarak. Nilai analog yang dihasilkan potentiometer dibaca oleh
Arduino melalui pin analog A0. Nilai tersebut kemudian dikonversi menjadi
perkiraan jarak dalam satuan sentimeter.
Hasil
pembacaan jarak digunakan untuk menentukan kondisi area parkir. Sistem memiliki
tiga indikator berupa LED hijau, LED kuning, dan LED merah. LED hijau
menunjukkan kondisi aman ketika jarak masih lebih dari 100 cm, LED kuning
menunjukkan kondisi hati-hati ketika jarak berada pada 31–100 cm, sedangkan LED
merah menunjukkan kondisi bahaya ketika jarak 30 cm atau kurang. Pada kondisi
bahaya, buzzer akan berbunyi sebagai peringatan.
Simulasi
ini dibuat untuk menerapkan materi Digital dan Analog Input Output, khususnya
penggunaan analog input, pembacaan nilai ADC, serta pengendalian output digital
pada Arduino. Materi praktikum juga menjelaskan bahwa Arduino Uno memiliki
analog input dengan ADC 10-bit serta pin digital yang dapat digunakan untuk
input maupun output.
1.2
Rumusan Masalah
- Bagaimana cara membaca nilai
input analog dari potentiometer menggunakan Arduino Uno?
- Bagaimana cara mengubah nilai
ADC menjadi nilai jarak yang dapat digunakan dalam simulasi sensor
parkir?
- Bagaimana cara mengendalikan
LED dan buzzer berdasarkan kondisi jarak yang diperoleh?
- Bagaimana hasil simulasi Mini
Parking Sensor pada platform Wokwi?
1.3
Tujuan Laporan
Tujuan
dari pembuatan laporan ini adalah:
- Memahami penggunaan analog
input pada Arduino Uno.
- Memahami proses pembacaan
nilai ADC 10-bit menggunakan analogRead().
- Menerapkan konversi nilai
analog menjadi nilai jarak menggunakan fungsi map().
- Menerapkan digital output
menggunakan LED dan buzzer.
- Membuat simulasi sederhana
sistem sensor parkir menggunakan Arduino Uno dan Wokwi.
- Mengetahui respon sistem
terhadap perubahan nilai input dari potentiometer.
1.4
Manfaat Penulisan
- Menambah pemahaman mengenai
konsep Digital dan Analog Input Output pada mikrokontroler.
- Memberikan pengalaman dalam
membuat simulasi rangkaian menggunakan platform Wokwi.
- Memahami proses pembacaan
nilai analog menggunakan Arduino Uno.
- Mengetahui penerapan LED dan
buzzer sebagai indikator suatu kondisi.
- Memberikan gambaran sederhana
mengenai penerapan sistem sensor parkir dalam kehidupan sehari-hari.
BAB II
TINJAUAN PUSTAKA
2.1
Dasar Teori
2.1.1
Digital Input dan Digital Output
Digital
input dan digital output merupakan bagian penting dalam proses komunikasi
antara mikrokontroler dengan komponen elektronik. Digital output digunakan
ketika mikrokontroler memberikan kondisi tertentu kepada perangkat, misalnya
menghidupkan atau mematikan LED.
Pada
Arduino, kondisi digital umumnya direpresentasikan dengan dua keadaan, yaitu
HIGH dan LOW. Konsep tersebut berkaitan dengan kondisi biner, seperti LED yang
dapat berada pada kondisi menyala atau mati.
Pada
simulasi ini, digital output digunakan untuk mengendalikan tiga LED dan sebuah
buzzer. LED digunakan sebagai indikator kondisi jarak, sedangkan buzzer
digunakan sebagai peringatan ketika jarak berada pada kondisi bahaya.
2.1.2
Analog Input dan ADC
Analog
input digunakan untuk membaca nilai dari perangkat yang menghasilkan sinyal
analog. Arduino Uno memiliki analog input yang menggunakan ADC atau Analog to
Digital Converter dengan resolusi 10-bit. Dengan resolusi tersebut, nilai
pembacaan analog berada pada rentang 0 sampai 1023.
Pada
simulasi ini, potentiometer digunakan sebagai sumber input analog. Nilai yang
dibaca melalui pin A0 kemudian digunakan untuk menentukan perkiraan jarak.
Pembacaan
input analog dilakukan menggunakan fungsi:
analogRead(POT_PIN);
Nilai yang
diperoleh kemudian diproses oleh program untuk menghasilkan nilai jarak.
2.1.3
Potentiometer
Potentiometer
merupakan komponen yang dapat menghasilkan perubahan nilai tegangan berdasarkan
posisi putarannya. Dalam simulasi ini, potentiometer digunakan sebagai
pengganti atau simulasi sensor jarak.
Potentiometer
tidak secara langsung mengukur jarak. Perubahan nilai potentiometer hanya
digunakan untuk mensimulasikan perubahan jarak sehingga sistem dapat diuji
tanpa menggunakan sensor jarak sebenarnya.
2.1.4
LED
LED atau
Light Emitting Diode merupakan komponen yang dapat menghasilkan cahaya ketika
dialiri arus listrik. Dalam simulasi ini digunakan tiga LED dengan fungsi
sebagai indikator kondisi:
- LED hijau → kondisi aman.
- LED kuning → kondisi
hati-hati.
- LED merah → kondisi bahaya.
Ketiga LED
dikendalikan menggunakan output digital Arduino dengan fungsi digitalWrite().
2.1.5
Buzzer
Buzzer
merupakan komponen output yang menghasilkan suara sebagai tanda atau
peringatan. Pada simulasi ini, buzzer digunakan untuk memberikan peringatan
ketika jarak berada pada kondisi bahaya.
Buzzer
dikendalikan menggunakan fungsi tone() untuk menghasilkan suara dengan
frekuensi 1000 Hz dan noTone() untuk menghentikannya.
2.2
Komponen
Komponen
yang digunakan dalam simulasi sistem ini beserta fungsinya adalah sebagai
berikut.
|
Komponen |
Jumlah |
Fungsi |
|
Arduino
Uno |
1 |
Membaca
input dan mengolah data |
|
Pontentiometer |
1 |
Simulasi
sensor jarak/input analog |
|
LED
Hijau |
1 |
Indikator
kondisi aman |
|
LED
Kuning |
1 |
Indikator
kondisi hati-hati |
|
LED
Merah |
1 |
Indikator
kondisi bahaya |
|
Resistor |
3 |
Membatasi
arus LED |
|
Buzzer |
1 |
Memberikan
peringatan suara |
BAB III
PEMBAHASAN
3.1
Penjelasan Simulasi
3.1.1
Rangkaian Simulasi
Rangkaian
Mini Parking Sensor dibuat menggunakan Arduino Uno pada platform Wokwi.
Potentiometer digunakan sebagai simulasi sensor jarak dan dihubungkan ke pin
analog A0 Arduino.
Rangkaian
terdiri dari tiga LED sebagai indikator kondisi dan satu buzzer sebagai
indikator suara. Setiap LED menggunakan resistor 220 Ω untuk membatasi arus.
Konfigurasi
rangkaian yang digunakan adalah sebagai berikut.
- Potentiometer: pin SIG terhubung ke A0
Arduino sebagai analog input, sedangkan VCC terhubung ke 5V dan GND
terhubung ke GND.
- LED Hijau: terhubung ke pin digital 12
melalui resistor 220Ω dan digunakan sebagai indikator kondisi aman.
- LED Kuning: terhubung ke pin digital 8
melalui resistor 220Ω dan digunakan sebagai indikator kondisi hati-hati.
- LED Merah: terhubung ke pin digital 4
melalui resistor 220Ω dan digunakan sebagai indikator kondisi bahaya.
- Buzzer: pin positif terhubung ke pin
digital 2 dan pin negatif terhubung ke GND sebagai indikator suara.
Gambar 3.1. Tampilan simulasi rangkaian pada Wokwi
3.1.2 Cara Kerja Sistem
- Arduino melakukan inisialisasi
komunikasi Serial dengan kecepatan 9600 baud.
- Pin A0 digunakan sebagai input
untuk membaca nilai dari potentiometer.
- Ketiga LED dan buzzer diatur
sebagai output.
- Arduino membaca nilai analog
potentiometer menggunakan analogRead().
- Nilai analog yang diperoleh
berada pada rentang 0–1023 karena Arduino Uno menggunakan ADC 10-bit.
- Nilai ADC tersebut dikonversi
menjadi nilai jarak dengan rentang 200–0 cm menggunakan fungsi map().
- Jika jarak lebih dari 100 cm,
LED hijau menyala dan buzzer dalam keadaan mati. Kondisi ini menunjukkan
keadaan AMAN.
- Jika jarak lebih dari 30 cm
hingga 100 cm, LED kuning menyala dan buzzer tetap mati. Kondisi ini
menunjukkan keadaan HATI-HATI.
- Jika jarak 30 cm atau kurang,
LED merah menyala dan buzzer berbunyi dengan frekuensi 1000 Hz. Kondisi
ini menunjukkan keadaan BAHAYA.
- Nilai jarak juga ditampilkan
pada Serial Monitor sehingga perubahan nilai input dapat diamati.
3.1.3
Hasil dan Pembahasan
Berdasarkan
logika program yang dibuat, perubahan posisi potentiometer akan memengaruhi
nilai analog yang dibaca oleh Arduino. Nilai tersebut kemudian dikonversi
menjadi nilai jarak menggunakan fungsi map().
Program
menggunakan perintah:
int jarak
= map(nilaiAnalog, 0, 1023, 200, 0);
Dengan
konfigurasi tersebut, nilai potentiometer yang lebih kecil akan menghasilkan
nilai jarak yang lebih besar, sedangkan nilai potentiometer yang lebih besar
akan menghasilkan nilai jarak yang lebih kecil.
Sistem
memiliki tiga kondisi utama. Ketika jarak lebih dari 100 cm, LED hijau menyala
sebagai tanda bahwa kondisi masih aman. Ketika jarak berada pada 31–100 cm, LED
kuning menyala sebagai tanda hati-hati. Sementara itu, ketika jarak 30 cm atau
kurang, LED merah menyala dan buzzer berbunyi sebagai tanda bahwa kendaraan
sudah berada pada jarak yang dekat atau kondisi bahaya.
|
Kondisi
Jarak |
LED |
Buzzer |
Status |
|
> 100
cm |
Hijau |
Mati |
Aman |
|
31-100
cm |
Kuning |
Mati |
Hati-hati |
|
,< 30
cm |
Merah |
Bunyi
1000 Hz |
Bahaya |
Pada
Serial Monitor, program menampilkan nilai jarak dalam satuan sentimeter. Dengan
demikian, perubahan nilai potentiometer dapat diamati sekaligus melihat
perubahan status sistem.
Gambar
3.2 Hasil simulasi pada kondisi aman
Gambar
3.3 Hasil simulasi pada kondisi hati-hati
Gambar
3.4 Hasil simulasi pada kondisi bahaya
3.2
Program
Berikut
kode program yang digunakan dalam simulasi Mini Parking Sensor adalah sebagai
berikut:
|
#define POT_PIN A0 #define LED_GREEN 12 #define LED_YELLOW
8 #define LED_RED 4 #define BUZZER_PIN
2 void setup() { Serial.begin(9600); pinMode(POT_PIN,
INPUT); pinMode(LED_GREEN,
OUTPUT); pinMode(LED_YELLOW,
OUTPUT); pinMode(LED_RED,
OUTPUT); //
Catatan: Buzzer menggunakan fungsi tone(), //
pinMode untuk buzzer sebenarnya opsional jika pakai tone(), pinMode(BUZZER_PIN,
OUTPUT); Serial.println("Sistem
Sensor Parkir Aktif"); } void loop() { int
nilaiAnalog = analogRead(POT_PIN); int
jarak = map(nilaiAnalog, 0, 1023, 200, 0); Serial.print("Jarak:
"); Serial.print(jarak); Serial.println("
cm"); if (jarak
> 100) { //
--- AMAN (Jauh) --- digitalWrite(LED_GREEN,
HIGH); digitalWrite(LED_YELLOW,
LOW); digitalWrite(LED_RED,
LOW); noTone(BUZZER_PIN);
// Mematikan suara buzzer } else
if (jarak > 30 && jarak <= 100) { //
--- HATI-HATI (Sedang) --- digitalWrite(LED_GREEN,
LOW); digitalWrite(LED_YELLOW,
HIGH); digitalWrite(LED_RED,
LOW); noTone(BUZZER_PIN);
// Mematikan suara buzzer } else
{ //
--- BAHAYA (Dekat) --- digitalWrite(LED_GREEN,
LOW); digitalWrite(LED_YELLOW,
LOW); digitalWrite(LED_RED,
HIGH); //
MEMBUNYIKAN BUZZER DENGAN FREKUENSI 1000 Hz tone(BUZZER_PIN,
1000); } delay(150); } |
BAB IV
PENUTUP
4.1
Kesimpulan
Berdasarkan
Berdasarkan simulasi yang telah dibuat, dapat disimpulkan bahwa Arduino Uno
dapat digunakan untuk membaca input analog dari potentiometer dan mengolahnya
menjadi nilai jarak yang digunakan sebagai dasar pengambilan keputusan pada
sistem Mini Parking Sensor. Pembacaan potentiometer dilakukan menggunakan
analogRead() dengan rentang nilai ADC 0–1023, kemudian dikonversi menjadi
perkiraan jarak 200–0 cm menggunakan fungsi map().
Hasil
pengolahan nilai tersebut digunakan untuk mengendalikan tiga LED sebagai
indikator kondisi. LED hijau menyala ketika jarak lebih dari 100 cm sebagai
kondisi aman, LED kuning menyala ketika jarak berada pada 31–100 cm sebagai
kondisi hati-hati, dan LED merah menyala ketika jarak 30 cm atau kurang sebagai
kondisi bahaya. Pada kondisi bahaya, buzzer juga diaktifkan menggunakan fungsi
tone() dengan frekuensi 1000 Hz.
Melalui
simulasi ini, konsep analog input, ADC, digital output, serta pengolahan
kondisi menggunakan percabangan if-else dapat diterapkan dalam sebuah sistem
sederhana yang memiliki penerapan pada kehidupan sehari-hari.
4.2
Saran
Untuk
pengembangan selanjutnya, simulasi dapat dibuat lebih mendekati kondisi nyata
dengan mengganti potentiometer menggunakan sensor jarak seperti HC-SR04. Sistem
juga dapat dikembangkan dengan menambahkan LCD atau OLED untuk menampilkan
jarak secara langsung, serta membuat pola bunyi buzzer yang berbeda sesuai
dengan tingkat kedekatan kendaraan. Selain itu, sistem dapat dikembangkan agar
memiliki lebih banyak rentang jarak sehingga indikator yang diberikan menjadi
lebih detail.
DAFTAR
PUSTAKA
Arduino.
(n.d.). analogRead(). Arduino Documentation.
https://docs.arduino.cc/language-reference/en/functions/analog-io/analogRead/
Arduino.
(n.d.). digitalWrite(). Arduino Documentation.
https://docs.arduino.cc/language-reference/en/functions/digital-io/digitalWrite/
Arduino.
(n.d.). map(). Arduino Documentation. https://docs.arduino.cc/language-reference/en/functions/math/map/
Arduino.
(n.d.). tone(). Arduino Documentation.
https://docs.arduino.cc/language-reference/en/functions/advanced-io/tone/
Modul
Praktikum. (2026). Digital & Analog Input Output: Mengenal Proses I/O
pada Mikrokontroler. Materi Praktikum Mikrokontroler.
Wokwi.
(n.d.). Wokwi Documentation. https://docs.wokwi.com/
Tidak ada komentar:
Posting Komentar