Cara Membaca Input Tegangan Analog dengan Arduino

Syahrul Fadli
Cara Membaca Input Tegangan Analog dengan Arduino

Fungsi membaca tegangan analog dapat dilakukan dengan menggunakan pin A0, A1, A2, A3, A4, A5 pada arduino. Input yang masuk pada pin analog arduino akan dikonversi menjadi data digital dengan panjang 10 bit sehingga nilai input tegangan 0 volt sampai 5 volt(tegangan maksimal input Arduino) pada pin analog arduino mempunyai 1024 (di dapat dari 210) keadaan dengan rentang 0 sampai 1023.

Jadi pada rentang nilai 0 volt sampai 5 volt dipecah sehingga terdapat 1023 data digital. Proses konversi tegangan analog menjadi data digital disebut ADC (Analog to Digital Converter). Berikut cara untuk menghitung konversi tegangan 5 volt dari data digital 10 bit:

$${5\over 1023}=0,0048875855327468 volt$$

Jadi, setiap 1 data digital sama dengan 0,0048875855327468 volt. Sedangkan berapa nilai tegangan jika angka digital-nya adalah 512? Caranya adalah:

$${512 \times 5\over1023} = 2,50244… \approx 2,5 volt$$

Perintah yang akan kita gunakan pada pembaca input analog adalah analogRead([nomorpinanalog]);. Pada percobaan kali ini kita akan menggunakan pin A0 dan hasil output berupa data serial dan blink LED pada pin 13 (Built In) arduino. LED akan berkedip dengan delay berdasarkan pada nilai analog yang sudah dipetakan menjadi 0-1000 dengan satuan milidetik.

Baca juga: Cara Upload Program ke Arduino Pro Mini dengan USB to TTL PL2303

Alat dan Bahan

  1. Arduino x1
  2. Projectboard/Breadboard x1
  3. Potensio/Trimpot x1
  4. Kabel jumper secukupnya

Praktik

  1. Susun rangkaian arduino antara potensio dengan projectboard seperti gambar di bawah ini.

    Skema hubungan potensio dengan arduino
  2. Upload sketch program di bawah ini ke arduino.

    int sensorPin = A0;    // pin A0 diinisialisasi sebagai variable "sensorPin"
    int ledPin = 13;      // pin 13 dinisialisasi sebagai variable "ledPin"
    int dataInput = 0;   // variable untuk menyimpan data dari pembacaan nilai analog
    int analogDelay;    // varable untuk menyimpan data hasil pemetaan interval 0-1023 menjadi 0-1000;
    
    void setup() {
    // deklarasi variable ledPin/pin 13 sebagai Output
    pinMode(ledPin, OUTPUT);
    // Memulai komunikasi antara PC dengan Arduino dengan baudrate 9600
    Serial.begin(9600);
    }
    
    void loop() {
    // Membaca data dari pin A0 yang diwakilkan melalu variable sensorPin lalu disimpan ke variable dataInput
    dataInput = analogRead(sensorPin);
    // memetakan nilai analog 0-1023 menjadi 0-1000
    analogDelay = map(dataInput, 0, 1023, 0, 1000);
    // mencetak kalimat "Nilai analog = " pada serial monitor
    Serial.print("Nilai analog = ");
    // mencetak nilai analog pada serial monitor
    Serial.print(dataInput);
    // mencetak "(tab horizontal)Delay = " pada serial monitor
    Serial.print("\tDelay = ");
    // mencetak nilai dari variable analogDelay lalu membuat baris baru
    Serial.println(analogDelay);
    // output pin 13 = 1
    digitalWrite(ledPin, HIGH);
    // delay perintah selama [analogDelay] milliseconds:
    delay(analogDelay);
    // ouput pin 13 = 0
    digitalWrite(ledPin, LOW);
    // delay perintah selama [analogDelay] milliseconds:
    delay(analogDelay);
    }	
    
  3. Compile/Verify sketch program.

  4. Upload sketch program.

  5. Buka Serial Monitor pada Arduino IDE.

    Konfigurasi
  6. Putar ke kanan dan ke kiri potensio yang anda gunakan, lihat perubahan pada nilai pada serial monitor dan LED pada board Arduino.

    Konfigurasi

Baca juga: Rangkaian Sensor Cahaya DC dengan LDR

Sekian artikel ini semoga bermanfaat.

Pustaka

MEMBACA TEGANGAN ANALOG DENGAN ARDUINO - Amateur Physicist

Arduino | Unit Robotika ITB

Arduino - AnalogInput

Arduino - AnalogInOutSerial

Share on: