PENERAPAN ADC DENGAN POTENSIOMETER DAN LAMPU LED SEBAGAI VISUALISASI MENGGUNAKAN ARDUINO UNO
Disusun Oleh:
Fatkhur Rozaq | 24051204026 |
Ahmad Arkanul Falah Al Khalimi | 24051204033 |
Abdan Isa Ghaffara | 24051204235 |
BAB I
PENDAHULUAN
1.1 Latar Belakang
Analog to Digital Converter (ADC) merupakan salah satu fitur penting pada mikrokontroler yang memungkinkan pembacaan sinyal analog dari dunia nyata, seperti tegangan dari sensor atau potensiometer, untuk kemudian diolah secara digital. Arduino Uno memiliki ADC 10 bit yang mampu membaca tegangan 0-5V dan mengonversinya menjadi nilai digital 0-1023.
Untuk memahami penerapan ADC secara nyata, telah dibuat sebuah mini projek berupa indikator level tegangan (LED Bar Indicator) yang membaca nilai tegangan dari potensiometer dan menampilkannya dalam bentuk nyala LED bertahap, menyerupai indikator baterai atau VU meter pada perangkat audio. Proyek ini disimulasikan menggunakan platform Wokwi dan dikembangkan menggunakan Visual Studio Code beserta Arduino CLI.
1.2 Rumusan Masalah
- Bagaimana cara membaca nilai tegangan analog menggunakan fitur ADC pada Arduino Uno?
- Bagaimana mengonversi hasil pembacaan ADC menjadi representasi visual dalam bentuk nyala LED bertahap?
- Bagaimana merancang dan mensimulasikan rangkaian tersebut menggunakan Wokwi?
1.3 Tujuan
- Memahami konsep dan cara kerja ADC pada mikrokontroler Arduino Uno.
- Membuat rangkaian indikator level tegangan berbasis 8 LED yang menyala bertahap sesuai nilai ADC.
- Mengimplementasikan pemrograman input analog dan output digital pada Arduino.
- Melakukan simulasi dan pengujian rangkaian menggunakan Wokwi.
1.4 Manfaat
Proyek ini memberikan pemahaman praktis mengenai konsep ADC yang banyak diterapkan pada sistem embedded, seperti pembacaan sensor suhu, cahaya, kelembaban, maupun level baterai pada perangkat elektronik sehari-hari.
1.5 Batasan Masalah
- Sumber sinyal analog yang digunakan adalah potensiometer, bukan sensor fisik sesungguhnya.
- Jumlah LED indikator dibatasi sebanyak 8 buah.
- Pengujian dilakukan melalui simulasi pada platform Wokwi.
BAB II
TINJAUAN PUSTAKA
2.1 Dasar Teori
Internet of Things (IoT) merupakan konsep yang menghubungkan perangkat fisik dengan sistem pemrosesan sehingga dapat membaca kondisi lingkungan dan memberikan respon secara otomatis. Pada laporan ini, sistem yang dibangun berada pada lapisan dasar piramida IoT, yaitu pengambilan data dari sensor (potensiometer) dan eksekusi aktuator berupa LED sebagai indikator visual.
ADC (Analog to Digital Converter) adalah proses konversi sinyal analog menjadi data digital agar dapat diproses oleh mikrokontroler. Arduino Uno menggunakan ADC 10 bit, sehingga rentang tegangan 0-5V dipetakan menjadi nilai digital 0-1023. Fungsi analogRead() digunakan untuk membaca nilai tersebut pada pin analog (A0-A5).
Potensiometer berfungsi sebagai pembagi tegangan (voltage divider) yang nilainya dapat diubah secara manual, sehingga cocok digunakan sebagai sumber sinyal analog untuk pengujian ADC.
Fungsi map() digunakan untuk mengubah rentang suatu nilai menjadi rentang nilai lain secara linear. Dalam proyek ini, fungsi map() digunakan untuk mengkonversi nilai ADC (0-1023) menjadi jumlah LED yang menyala (0-8), sedangkan fungsi constrain() digunakan agar hasil pemetaan tersebut tetap berada dalam batas 0-8.
Arduino Uno merupakan salah satu papan mikrokontroler berbasis ATmega328P yang banyak digunakan untuk keperluan prototyping elektronika karena kemudahan penggunaannya dan dukungan pustaka (library) yang bersifat open source. Arduino Uno memiliki pin digital I/O yang dapat difungsikan sebagai output untuk menyalakan LED, serta komunikasi serial untuk menampilkan data hasil pembacaan pada Serial Monitor.
2.2 Komponen
| No | Nama | Jumlah | Fungsi |
|---|---|---|---|
| 1 | Arduino Uno | 1 | Mikrokontroler utama, melakukan pembacaan ADC dan mengontrol output digital |
| 2 | Potensiometer 10K | 1 | Sumber tegangan analog variabel (0-5V) sebagai input ADC |
| 3 | LED | 8 | Indikator visual level tegangan |
| 4 | Resistor 220 ohm | 8 | Pembatas arus LED |
| 5 | Kabel jumper | secukupnya | Menghubungkan antar komponen |
| 6 | Breadboard | 1 | Papan rangkai tanpa solder |
| 7 | Wokwi Simulator | - | Simulasi rangkaian dan program secara virtual |
| 8 | Visual Studio Code + Arduino CLI | - | Penulisan dan kompilasi kode program |
BAB III
PEMBAHASAN
3.1 Rancangan Rangkaian
Potensiometer dihubungkan dengan pin A0 (analog input) Arduino Uno, sedangkan VCC dan GND potensiometer disuplai dari rail breadboard. Delapan LED dipasang pada breadboard, masing-masing dihubungkan ke pin digital 2 sampai 9 Arduino melalui resistor 220 ohm sebagai pembatas arus. Katoda setiap LED dihubungkan ke rail negatif (GND) breadboard.
3.2 Cara Kerja Alat
- Potensiometer memberikan tegangan analog 0-5V ke pin A0 Arduino Uno sesuai posisi putarannya.
- Arduino membaca tegangan tersebut melalui fungsi analogRead() dan menghasilkan nilai digital 0-1023.
- Nilai tersebut dikonversi menjadi rentang 0-8 menggunakan fungsi map(), sesuai jumlah LED yang tersedia.
- Arduino menyalakan LED secara bertahap melalui pin digital sesuai jumlah level yang dihasilkan.
- Nilai ADC dan tegangan hasil konversi ditampilkan pada Serial Monitor sebagai data pendukung.
3.3 Program
#include <Arduino.h>
const int potPin = A0;
const int ledPins[8] = {2, 3, 4, 5, 6, 7, 8, 9}; // 8 pin digital untuk LED
const int numLeds = 8;
void setup() {
Serial.begin(9600);
for (int i = 0; i < numLeds; i++) {
pinMode(ledPins[i], OUTPUT);
digitalWrite(ledPins[i], LOW);
}
}
void loop() {
int adcVal = analogRead(potPin);
int level = map(adcVal, 0, 1023, 0, numLeds);
level = constrain(level, 0, numLeds);
for (int i = 0; i < numLeds; i++) {
if (i < level) {
digitalWrite(ledPins[i], HIGH);
} else {
digitalWrite(ledPins[i], LOW);
}
}
float voltage = adcVal * (5.0 / 1023.0);
Serial.print("ADC: ");
Serial.print(adcVal);
Serial.print(" | Voltage: ");
Serial.print(voltage, 2);
Serial.print(" V | LED aktif: ");
Serial.println(level);
delay(100);
}BAB IV
PENUTUP
4.1 Kesimpulan
- ADC pada Arduino Uno berhasil digunakan untuk membaca tegangan analog dari potensiometer dan mengonversinya menjadi nilai digital 0-1023.
- Nilai ADC berhasil dipetakan menjadi jumlah LED yang menyala menggunakan fungsi map(), sehingga membentuk indikator level tegangan yang berfungsi dengan baik.
- Simulasi menggunakan Wokwi terbukti efektif untuk menguji rangkaian dan program sebelum diimplementasikan pada perangkat keras sesungguhnya.
4.2 Saran
- Proyek dapat dikembangkan lebih lanjut dengan mengganti potensiometer menggunakan sensor fisik seperti LDR (cahaya) atau LM35 (suhu).
- Penambahan layar OLED/LCD dapat digunakan untuk menampilkan nilai tegangan secara lebih informatif.
- Pengujian pada perangkat keras (hardware) asli disarankan untuk memvalidasi hasil simulasi.
BAB V
DAFTAR PUSTAKA
Wokwi. Arduino Uno Simulator. https://wokwi.com
aisi555.com. Tutorial Dasar Input Analog Arduino. https://www.aisi555.com/2023/09/tutorial-dasar-input-analog.html
Kurniawan, Nyoman Yudi. Modul 2 - Digital & Analog Input Output. Materi Perkuliahan.
BAB VI
LAMPIRAN
Link video : projek 2 kelompok 9.mov
Tidak ada komentar:
Posting Komentar