Hello temen-temen.
pada kesempatan kali ini, kita akan belajar membaca nilai ADC pada Arduino.
Apa itu ADC ?
ADC atau disebut juga dengan Analog to Digital Converter merupakan fitur yang di miliki oleh arduino sebagai mikrokontroler guna membaca sinyal analog kemudian di konversikan menjadi sinyal digital.
Apa itu Sinyal Analog ?
Sinyal Analog merupakan jenis sinyal kontinyu, biasanya digambarkan dengan bentuk sinyal sinus, karena menggambarkan bahwasanya setiap waktu memiliki nilai sendiri. ilustrasinya pada cahaya lampu, sinyal analog akan mengenal lampu mati, redup, agak terang, terang, terang sekali dan seterus nya.
Baca Juga : Belajar Arduino, Simulasi Arduino LCD 16×2
Apa itu Sinyal Digital ?
Sinyal Digital merupakan jenis sinyal diskrit, karena tidak setiap waktu memiliki nilai yang berbeda, pada sinyal digital digambarkan seperti sinyal kotak, sinyal digital hanya mengenal dua keadaan yaitu 0 atau 1, hidup atau mati.
kembali pada pembahasan judul artikel, yaitu membuat simulasi arduino membaca ADC.
kita akan menggunakan potensiometer yang berfungsi sebagai pembagi tegangan sehingga tegangan yang masuk ke pin Analog Arduino dapat kita atur dan dapat di rubah.
data yang masuk dari potensiometer berupa tegangan akan tetapi data yang di proses oleh arduino sendiri yaitu bilangan ADC. rumus untuk menentukan nilai ADC berdasarkan tegangan yang masuk sebagai berikut :
ADC = (Vin / Vreff) x 1023
Vin = tegangan yang masuk ke Arduino
Vreff = tegangan referensi pembacaan ADC pada Arduino (Default 5V)
1023 = arduino menggunakan 10 bit ADC
kita akan membuat program untuk menampilkan nilai ADC pada LCD I2C dan kemudian kita akan mengkonversi ke nilai tegangan. hasil dari program yang saya buat tampak seperti animasi dibawah ini :
DOWNLOAD
Code Arduino
DOWNLOAD
File Project Proteus
#define pinAdc0 A0
int adcVal;
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup()
{
// initialize the LCD
lcd.begin();
}
void loop()
{
lcd.clear();
float volt;
adcVal = analogRead(pinAdc0);
volt = (adcVal * 5.0) / 1023;
lcd.setCursor(0, 0);
lcd.print("Nilai ADC :");
lcd.print(adcVal);
lcd.setCursor(0, 1);
lcd.print("Tegangan :");
lcd.print(volt);
lcd.print(" V");
delay(500);
}