Website ini menggunakan Cookies untuk memastikan pengalaman terbaik Anda saat di website kami. Baca selengkapnya di halaman Privasi kami.

Cara Membaca Input Tegangan Analog dengan Arduino

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(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/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:

512x5/1023 = 2,5024437927663734115347018572825 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.

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.
  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.
  6. Putar ke kanan dan ke kiri potensio yang anda gunakan, lihat perubahan pada nilai pada serial monitor dan LED pada board Arduino.
Sekian artikel ini semoga bermanfaat.

Pustaka

MEMBACA TEGANGAN ANALOG DENGAN ARDUINO - Amateur Physicist
Arduino | Unit Robotika ITB
Arduino - AnalogInput
Arduino - AnalogInOutSerial

Artikel ini bermanfaat? Yuk bagikan :D

Artikel terkait:

Newest Post
Disqus Comments