- Pendahuluan
Berbicara mengenai mikrokontroler salah satunya Arduino
tentu tidak lepas dari fitur-fitur yang disediakan oleh pengembang mikrokontroler
tersebut seperti fitur ADC, komunikasi serial, I2C, ataupun sinyal digital.
Pada pembahasan kali ini kita akan mengenal sedikit tentang salah satu fitur
mikrokontroler yaitu ADC (Analog Digital Converter) dari apa itu ADC,
karakteristiknya, prinsip kerja, hingga contoh program sederhana dalam Arduino.
ADC (Analog to Digital Converter) adalah
salah satu fasilitas mikrokontroler yang berfungsi untuk mengubah data analog menjadi data digital. ADC memiliki 2 karakter prinsip, yaitu kecepatan sampling dan resolusi. Kecepatan sampling suatu ADC
menyatakan seberapa sering sinyal analog dikonversikan ke bentuk sinyal digital
pada selang waktu tertentu. Kecepatan sampling bisanya dinyatakan dalam sample per second (SPS) (Afriansyah, 2012). Contoh ditunjukkan pada Gambar 1.
(a) (b)
Gambar 1. ADC (a) Kecepatan
Sampling Rendah (b) Tinggi
Resolusi ADC menentukan ketelitian
nilai hasil konversi ADC. contoh: ADC 8 bit akan memiliki output
8 bit data digital, ini berarti sinyal input
dapat dinyatakan dalam 255 (2n – 1) nilai diskrit. ADC 12 bit memiliki 12 bit output data digital, ini berarti sinyal input dapat dinyatakan dalam 4096 nilai
diskrit.
Prinsip kerja ADC adalah mengkonversi sinyal analog ke dalam bentuk besaran yang
merupakan rasio perbandingan sinyal input
dan tegangan referensi. Sebagai contoh, jika menggunakan ADC 8 bit dengan skala maksimum 255, akan
didapatkan sinyal digital sebesar 60% x 255 = 153 (bentuk desimal) atau
10011001 (bentuk biner) (Afriansyah, 2012).
- Perancangan
ADC (Analog Digital Converter) difungsikan
untuk mengkonversi keluaran analog dari sensor menjadi digital. Hal ini
dilakukan dengan menghubungkan output
dari sensor tersebut ke Port ADC yang
tersedia pada mikrokontroler Arduino.
ADC
yang digunakan pada perancangan alat biasanya menggunakan mode single input ended dimana hanya satu
masukan saja yang dibaca dari port yang diaktifkan dan menggunakan model konversi ADC 10
bit. Karena menggunakan ADC 10 bit maka nilai maksimum dari pembacaan ADC itu adalah
210 = 1024, untuk dapat
mengetahui hasil konversinya maka dapat dihitung dengan menggunakan rumus
berikut.
Keterangan:
ADC :
hasil konversi sinyal kedalam bentuk sinyal digital
V sinyal : Sinyal yang dikirimkan oleh sensor
ke mikrokontroler
V ref : Tegangan referensi dari sistem
ADC
Besar kenaikan tegangan
tiap step atau resolusi dari ADC ini
adalah:
- Pengujian
Arduino UNO
menggunakan IC ATMega328 yang merupakan
tipe AVR dengan
dilengkapi 6
saluran ADC internal. Sebelum melakukan pengujian, terlebih dahulu mikrokontroler diprogram dimana
bertujuan untuk mengetahui respon dari
konversi data ADC internal
mikrokontroler.
ADC mampu mengkonversi
masukan tegangan analog dari skala 0 volt sampai 5 volt
menjadi keluaran biner. Data keluaran (desimal) dari ADC menyesuaikan dengan resolusi dari ADC yang digunakan baik itu
8bit ataupun 10bit.
Berikut adalah program sederhana yang digunakan dalam pengujian ADC.
/*
Membaca data Analog
dari pin 0, dengan menampilkan hasilnya kedalam serial monitor.
Test Program Dasar
pembacaan Analog Serial Monitor Menggunakan Arduino
by Fungky King
*/
void setup() {
// initialize serial communication at 9600
bits per second:
Serial.begin(9600);
}
void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(A0);
// print out the value you read:
Serial.print(ADC: );
Serial.println(sensorValue);
delay(1); // delay in between reads for
stability
}
|
Tegangan referensi akan berubah
semakin besar mendekati tegangan masukan 5 volt jika potensio diputar ke kanan,
begitu juga sebaliknya nilai tegangan akan mengecil mendekati 0 volt jika
potensio diputar kekiri.
Gambar 2. Pengujian ADC dengan potensio
Pengamatan perubahan nilai ADC terhadap tegangan dapat terlihat di serial
monitor atau menggunakan LCD seperti Gambar 3 berikut.
Selain mengamati perubahan nilai ADC yang diujikan
melalui serial monitor atau LCD,
pengujian juga dapat menggunakan LED sebagai indikator perubahan nilai ADC
dimana ketika LED masih dalam keadaan redup hal ini berarti tegangan yang masuk
ke LED belum menukupi untuk menyalakannya. Sedangkan untuk hasil pengujian dari respon ADC dapat dilihat pada Tabel
1 dibawah ini.
No.
|
Vin ADC (Volt)
|
Keluaran ADC (Decimal)
|
Kondisi LED
|
|
Perhitungan
|
Pengamatan
|
|||
0
|
0
|
|||
2
|
0.5
|
25
|
25
|
|
3
|
1
|
51
|
52
|
|
4
|
1.5
|
76
|
77
|
|
5
|
2
|
102
|
103
|
|
6
|
2.5
|
127
|
128
|
|
7
|
3
|
153
|
154
|
|
8
|
3.5
|
178
|
179
|
|
9
|
4
|
204
|
205
|
|
10
|
4.5
|
229
|
230
|
|
11
|
5
|
255
|
255
|
Keterangan Kondisi LED:
-
Putih (LED padam)
-
Merah (LED menyala)
Berdasarkan hasil pengujian pada Tabel
1, maka dapat kita hitung nilai ADC terhadap tegangan masukan dengan
menggunakan persamaan (c-2) adalah:
Penyimpangan atau error pembacaan ADC sebesar:
Demikian penjabaran singkat tentang “ADC (Analog to Digital Converter) Pada Arduino”. Untuk selanjutnya, buat yang ingin mempelajari Arduino dan lebih mengenal Arduino silakan follow akun sosial media saya di facebook “fungkyking” juga diblog saya http://festyy.com/wNiBaj dan jangan lupa subscribe channel youtubenya di (fungky king) https://www.youtube.com/channel/UCWbN7TqlN68FxeFY7uCNhkA untuk melihat tulisan-tulisan serta hasil rancangan alat-alat berbasis mikrokontroler yang kami buat. Kami juga menerima pembuatan alat-alat elektronika baik untuk penelitian ataupun alat untuk syarat kelulusan.
Mohon
maaf jika terdapat kesalahan dalam penulisan yang mana semua ini semata-mata hanya
opini pribadi berdasarkan pengalaman. Jika ada kekurangan dan tambahan dari
materi pembahasan yang dibahas silahkan dapat teman-teman sertakan pada kolom
komentar tambahan materi yang ingin disampaikan, sampaikan pertanyaan dan isi
kolom komentar dengan bijak.
Terima Kasih,
Salam Otomatisasi
Afriansyah, S.T.
(Fungky King)
Kata
Kunci / Keywords: ATMEGA, Arduino, Arduino IDE, Arduino UNO, Bahasa C,
fungkynotes.blogspot.co.id, fungky corporation, fungky king, microcontroller,
otomatis, pemprograman, plc, NodeMCU, ESP8266, Internet of Things (IoT), Wi-Fi
Referensi / Reference:
- www.arduino.ac.id
- http://festyy.com/wNiBaj
- http://destyy.com/wMatJW
- http://arduino.cc/en/Main/Software
- Afriansyah. 2012. Pengukur Kadar pH Air Berbasis Mikrokontroler ATMega 8, Universitas Gadjah Mada, Yogyakarta.
- Afriansyah. 2017. “Perancangan Monitoring Sinyal EKG (Elektrokardiografi) Jantung Menggunakan Mikrokontroler Berbasis Android Sebagai Penampil Sinyal Dengan Memanfaatkan Komunikasi Bluetooth”, Skripsi, Institut Sains & Teknologi AKPRIND Yogyakarta, Yogyakarta.
- https://www.arduino.cc/reference/en/language/functions/communication/serial/
- https://www.arduino.cc/reference/en/language/functions/communication/serial/print/
- https://www.arduino.cc/reference/en/language/functions/communication/serial/println/
- https://fungkynotes.blogspot.com/2019/03/menghubungkan-aplikasi-arduino-ide.html
- https://fungkynotes.blogspot.com/2019/02/instruksi-instruksi-dasar-pada.html
- https://fungkynotes.blogspot.com/2019/02/apa-itu-sketch-arduino.html
- http://arduino.cc/en/Guide/Windows
- www.google.com
No comments:
Post a Comment
Berfikirlah kreatif dengan komentar yang bijak. Salam Otomatisasi.!