• MUHILHAM • Electronics Hobbyist and Maker
  • Shop
  • Sitemap
  • Portfolio
  • Jasa Custom Project





  • Home Arduino Arduino Tutorial Elektronika Arduino Tutorial : Analog Input Potentiometer

    Arduino Tutorial : Analog Input Potentiometer

    MUHAMMAD ILHAM Penulis MUHAMMAD ILHAM


    Pada tutorial arduino kali ini kita akan masuk pada pembelajaran mengenai cara membaca data analog tegangan pada pin input analog arduino. Adapun arduino yang digunakan pada percobaan kali ini menggunakan Arduino Uno R3 dimana mikrokontroler ini memiliki 6 buah pin Analog Input dengan nama pin A0 - A5.


    Pada pin analog A0 - A5 dapat diberikan tegangan antara 0 s.d 5 vdc. Pin ini merupakan pin Analog to Digital Converter atau ADC pada ATmega, tegangan 0 s.d 5 vdc akan diubah menjadi data integer 0 s.d 1023 atau 10 bit.

    Langsung saja kita mulai experimen penggunaan Analog Input pada arduino. Adapun komponen yang diperlukan pada experimen ini adalah sebagai berikut.
    • 1x Arduino Uno R3 Board
    • 1x Breadboard
    • 1x Potentiometer
    • 1x LED or built in LED pin 13
    • Jumper Wires
    Wiring Diagram

    Wiring explanation
    Satu buah LED terhubung dengan pin 13 arduino. note: jika tanpa menggunakan led tambahan juga sudah bisa melakukan percobaan ini dikarenakan pada pin 13 sudah ada built in led yang akan menyala sesuai dengan kondisi pin tersebut.

    Sebuah potensiometer (variable resistor) yang terhubung pada pin analog A0. Dimana pada saat potensio diputar maka tegangan yang masuk pada pin analog arduino akan berubah-ubah. note: nilai resistansi potensio bebas, semakin besar nilai resistansi maka range perubahan nilai akan lebih lebar.

    Sketch Arduino
    
    
    int potentioPin = A0; // memilih pin analog yang digunakan (A0 - A5)
    int ledPin = 13;      // memilih pin untuk output LED
    int analogValue = 0;  // variabel untuk pembacaan data analog
    
    void setup() {
      Serial.begin(9600); // inisisalisai serial monitor
      pinMode(ledPin, OUTPUT); // inisialisali pin sebagai output (LED)
    }
    
    void loop() {
      analogValue = analogRead(potentioPin); // membaca data analog pada dan di masukkan pada variabel "analog value"
      // menampilkan data analog pada serial monitor
      Serial.print("Analog value : ");
      Serial.println(analogValue);
      
      digitalWrite(ledPin, HIGH); // menghidupkan LED
      delay(analogValue); // waktu tunda (sesuai dengan nilai analog)
      digitalWrite(ledPin, LOW);  // mematiakan LED
      delay(analogValue); // waktu tunda (sesuai dengan nilai analog)
    }
    

    Silahkan buka Serial Monitor untuk melihat nilai analog dari potensiometer.

    Sketch explanation
    • Pada baris 1 s.d 4 merupakan inisialisasi variabel global.
    • Pada baris 11 terdapat sintaks analogRead(potentioPin) yang merupakan perintah untuk merubah nilai tegangan 0 s.d 5 volt ke nilai analog 0 s.d 1023, artinya ketika potensio diputar hingga resitansi tertinggi maka nilai tegangan akan menyentuh 0 volt dan nilai analog akan mendakati nilai terendah, sedangkan ketika potensio diputar pada resistansi rendah maka nilai tegangan mendekati 5 volt dan nilai analog mendekati nilai tertinggi nya.
    • Pada baris 16 s.d 19 merupakan perintah untuk menghidupkan led dengan kondisi blink  yang menyesuaikan dengan nilai analog yang terbaca, jadi ketika nilai analog rendah maka kecepatan kedip led akan cepat dan kebalikannya ketika nilai analog besar maka led akan berkedip lebih lambat itu dipengaruhi oleh kondisi delay yang diberikan mengikuti nilai analog.

    Jika ada ingin berdiskusi silahkan tinggalkan di kolom komentar, thank you and happy for your experiment..

    Arduino
    Arduino Tutorial
    Elektronika

    Related Posts

    MUHAMMAD ILHAM

    MUHAMMAD ILHAM

    “ Ikat ilmu dengan menulisnya ”
    ― Ali bin Abi Thalib ―

  • This Is The Newest Post
    Previous Post

    1 comment

    1. AnonymousMay 17, 2022 at 10:08 PM

      #define ledHijau 3
      #define potPin A0
      #define pushButton1 7
      #define pushButton2 8

      int hijau;

      void setup() {
      // put your setup code here, to run once:
      pinMode (ledHijau, OUTPUT);
      pinMode (potPin, INPUT);
      pinMode (pushButton1, INPUT);
      pinMode (pushButton2, INPUT);
      Serial.begin(9600);
      }
      void loop() {
      // put your main code here, to run repeatedly:
      digitalWrite(ledHijau, LOW);
      int nilai = analogRead(potPin);
      int pin1 = digitalRead(pushButton1);
      int pin2 = digitalRead(pushButton2);
      hijau = map(nilai, 0, 1023, 0, 255);

      if (pin1 == 1) {
      analogWrite(ledHijau, hijau);
      }

      if (pin2 == HIGH)
      {
      if (nilai < 512)
      {
      digitalWrite(ledHijau, LOW);
      }
      if (nilai >= 512)
      {
      digitalWrite(ledHijau, HIGH);
      }
      }
      Serial.print(" Value = ");
      Serial.print(nilai);
      Serial.print(" ");
      Serial.print("Become = ");
      Serial.println(hijau);
      delay(100);
      }

      ReplyDelete
      Replies
        Reply
    Add comment
    Load more...


    EmoticonEmoticon

    Popular Posts

    • Download Cadsoft Eagle Professional 7.2.0 Full
    • Cara Mudah Cek HP Android Asli atau Palsu
    • Cara Mudah Membuat Layout PCB Dengan Menggunakan Lotion Anti Nyamuk
    • Membuat Mobil Remote Control dengan Arduino [RC Car Control with Bluetooth]
    • Cara Memperbaiki Kipas Angin Mati Total [Tidak Berputar Sama Sekali]

    Categories

    Elektronika Arduino Tips dan Trik Robotic Tutorial IoT Software Arduino Tutorial PCB STM32

    Recent Posts

     
    Copyright © MUHILHAM • Electronics Hobbyist and Maker. All Rights Reserved.