Sabtu, 12 April 2014

Membaca Masukan Analog (Potensiometer), Kirim ke Komputer

Contoh ini menunjukkan bagaimana membaca input analog dengan menggunakan potensiometer. Potensiometer adalah perangkat mekanis sederhana yang menhasilkan jumlah resistensi bervariasi ketika diputar. Dengan melewatkan tegangan melalui potensiometer dan menjadi input analog pada Arduino, kita dapat mengukur tegangan dari perubahan resistansi sebagai nilai analog. Dalam contoh ini akan memantau keadaan potensiometer dan membangun komunikasi serial antara Arduino dan komputer.

Hardware yang Diperlukan

  1. Board Arduino
  2. Potensiometer 10 KOhm

Skema Sirkuit

Skema Sirkuit
Gambar 1: Skema Sirkuit

Hubungkan tiga kaki dari potensiometer ke papan Arduino. Yang pertama dari salah satu pin sisi luar potensiometer ke Ground. Yang kedua dari pin sisi luar lainnya ke 5 volt. Yang ketiga (paling tengah) ke analog input 0 (A0).

Dengan memutar poros potensiometer, akan terjadi perubahan jumlah hambatan di kedua sisi wiper yang terhubung ke pin tengah potensiometer. Hal ini akan mengubah tegangan pada pin. Tegangan ini adalah tegangan analog yang dibaca sebagai masukan.

Arduino memiliki sirkuit yang disebut analog-to-digital-converter (ADC) yang membaca perubahan tegangan dan mengkonversinya ke angka antara 0 dan 1023. Fungsi analogRead() akan mengembalikan angka antara 0 dan 1023 yang sebanding dengan jumlah tegangan yang diterapkan pada pin.

Kode Program

Memulai komunikasi serial, dengan 9600 bit data per detik:
Serial.begin(9600);
Selanjutnya di loop utama, Anda perlu membuat variabel untuk menyimpan nilai resistansi (yang akan berada di antara 0 dan 1023, menggunakan tipe data int):
int sensorValue = analogRead(A0);
Terakhir, tulis kode untuk mengirim data tersebut ke komputer dalam bentuk desimal:
Serial.println(sensorValue)
Hasilnya, ketika jendela komunikasi COM dibuka, akan terlihat nilai dari 0 - 1023 tergantung putaran potensiometer.

Hasil Percobaan
Gambar 2: Hasil Percobaan

Hasil akhir kode program:

void setup() {
  // Inisialisasi komunikasi serial dengan baudrate 9600 bits per detik:
  Serial.begin(9600);
}

void loop() {
  // Membaca masukan dengan pin A0
  int sensorValue = analogRead(A0);
  // Mengirim data ke komputer
  Serial.println(sensorValue);
  delay(1000);        // Tunggu selamat 1 detik
}

Tidak ada komentar :

Posting Komentar