Tutorial #6: Analog Input dengan Potentiometer

Dalam Tutorial ini, anda akan pelajari bagaimana menggunakan potentiometer sebagai Input-Analog pada Arduino. Signal Analog dari Potentiometer akan dipaparkan dalam Serial Monitor.

Dalam dunia electronics, terdapat 2 jenis signal Analog yang utama, iaitu :

  • Input Voltan (Volts)
  • Input Current (Amps)

Lain sistem mempunyai range Voltan dan range Current yang berlainan. Bagi Arduino, asas Analog-Inputnya menggunakan Voltan 5-Volt, dan signal Analog 5-Volt tersebut akan diubah ke dalam bentuk Digital oleh peripheral ADC (Analog-to-Digital Converter) dalam MCU Arduino.

ADC dalam Arduino adalah ADC 10-bit, di mana, range signal dari 0-Volt ke 5-Volt akan di-convert kepada range nombor 10-bit, iaitu dari 0 ke 1023.

Apabila anda cuba paparkan Signal Analog ini ke dalam Serial Monitor, anda pasti akan mendapat bacaan nombor dari 0~1023 . Juga, sebagai contoh, apabila signal Analog yang diterima adalah 2.5-Volt iaitu separuh dari 5-Volt, maka Serial Monitor juga akan memaparkan nilai yang separuh dari 1023, iaitu 512.

Teruskan dengan Tutorial ini untuk memahami dengan lebih lanjut mengenai ADC dan Analog Input.

PIN Analog Input.jpg

Arduino UNO, mempunyai 6 port/pin analog A0, A1, A2, A3, A4 dan A5

Perkara Asas Sebelum Mulakan Tutorial

Bagi menggunakan pin Analog algorythm berikut perlu digunakan:

  • Declare Pin, dalam Void Serup()
    pinMode(A1, INPUT); //tukar A1 kepada mana-mana A0---A5
    
  • Membaca Input Analog
    analogRead(A1);//memberikan value 0~1023

Untuk mengetahui lebih lanjut mengenai Analog Input dan potentiometr, anda boleh baca artikel berikut:

Teruskan dengan Tutorial ini, bagi memaparkan

Dalam tutorial ini, komponen-komponen berikut perlu disediakan:

  1. Arduino Uno (atau yang lain) (1 unit)
  2. Jumper cable (3 unit)
  3. Potentiometer 10k ohm (1 unit)
  4. Breadboard (1 unit)

LANGKAH #1: SAMBUNGAN LITAR

Sambungkan litar anda seperti gambarajah berikut:

Analog Input - DIAGRAM

Pastikan pin tengah Potentiometer disambung pada Analog Pin.

LANGKAH #2: CODING/SKETCH 

Copy sketch di bawah dan pastekan dalam Arduino IDE anda.

//Tutorial #6 : Analog Input
//Code disediakan oleh MatGyver.my

int nilaiSensor;
//declare variable untuk simpan data input Sensor

void setup() {
// masukkan code setup di sini, Void Setup berjalan sekali sahaja

 Serial.begin(9600);
 //mulakan connection Serial pada Baud Rate 9600
 
 pinMode(A1, INPUT);
 //declare pin A1 sebagai INPUT

 delay(100);
 //letak sedikit delay untuk Serial bermula dengan stabil

}//penutup Void Setup

void loop() {
// masukkan code utama di sini, untuk program yang berulang

 nilaiSensor = analogRead(A1);//baca bacaan sensor dengan READ
 //simpan nilai sensor dalam nilaiSensor
 
 Serial.println(nilaiSensor);
 //printkan value nilaiSensor dalam Serial Monitor

 delay(20);//delay 20milisecond adalah yang terlaju
           //Serial print juga akan lebih stabil
           //elakkan menggunakan delay yang lebih rendah

} //penutup Void Loop

Atau, anda boleh download file sketch .ino untuk tutorial ini di URL berikut:

Setelah sketch diupload, buka Serial Monitor.

Paparan Serial Monitor akan kelihatan seperti di bawah:

Serial 1- Analog Input

Di satu hujung putaran Potentiometer, paparan Serial Monitor akan menunjukkan nilai 0. Apabila, Potentiometer diputar ke arah berlawanan, nilai paparan akan meningkat sehingga 1023 pada maksimum putaran.

Dengan mengetahui nilai bacaan dari Analog input, data 0~1023 tersebut dapat dimanipulasi untuk digunakan dalam pelbagai applikasi dan autmasi seperti robot dan lain-lain lagi.

Nota Kaki : Bacaan input dapat disongsangkan dengan menukar tempat pin GND dengan 5V. 

Tutorial Tambahan – PS2 Joystick

dual_axis_xy_joystick_module_arduino.jpg

Analog Joystick PS2

PS2 Analog Joystick di atas, mempunyai 2 Potentiometer yang bertindak membaca posisi Joystick pada X-axis dan Y-axis. X-axis output ditandakan dengan VRx manakala Y-axis ditandakan dengan VRy, manakala Ground dan 5V telah disekalikan.

Apa yang anda perlu tahu, module joystick ini mempunyai spring yang menge-tengah-kan joystick apabila dilepas.Oleh itu, anda bole expect bacaan nilai setiap Potentiometer sepatutnya berada pada lebih kurang 512 tanpa digerakkan joystick.

Teruskan dengan Tutorial Bonus ini.

LANGKAH #1 : SAMBUNGAN LITAR
Sambungkan litar anda seperti gambarajah berikut:

BONUS DIAGRAM - Analog Input

Pin VRx disambung pada pin A1 dan pin VRy disambung pada pin A2.

LANGKAH #2 : CODING/SKETCH
Copy sketch di bawah dan pastekan dalam Arduino IDE anda.

//Tutorial #6 : Analog Input Bonus
//Code disediakan oleh MatGyver.my

int nilaiSensorX;
int nilaiSensorY;
//declare variable untuk simpan data input Sensor

void setup() {
// masukkan code setup di sini, Void Setup berjalan sekali sahaja

 Serial.begin(9600);
 //mulakan connection Serial pada Baud Rate 9600
 
 pinMode(A1, INPUT); //PIN VRx
 //declare pin A1 sebagai INPUT
 pinMode(A2, INPUT); //PIN VRy
 //declare pin A2 sebagai INPUT

 delay(100);
 //letak sedikit delay untuk Serial bermula dengan stabil

}//penutup Void Setup

void loop() {
// masukkan code utama di sini, untuk program yang berulang

 nilaiSensorX = analogRead(A1);
 //simpan nilai sensor VRx dalam nilaiSensorX
 nilaiSensorY = analogRead(A2);
 //simpan nilai sensor VRy dalam nilaiSensorY

 Serial.print("VRx =");
 Serial.print(nilaiSensorX);
 Serial.print(" VRy =");
 Serial.println(nilaiSensorY);
 //printkan value nilaiSensor dalam Serial Monitor

 delay(20);//delay 20milisecond adalah yang terlaju
           //Serial print juga akan lebih stabil
           //elakkan menggunakan delay yang lebih rendah

} //penutup Void Loop

Atau, anda boleh download file sketch .ino untuk tutorial ini di URL berikut:

PAPARAN SERIAL MONITOR

Serial B - Analog Input

Seperti yang dijangka, bacaan untuk setiap axis joystick adalah hampir pada 512. Jika Joystick digerakkan kekiri-kanan-atas-bawah, nilai-nilai itu akan turut berubah.

Nilai-nilai bacaan inilah yang dapat digubah untuk membuat pengawalan robot dan juga pelbagai applikasi lain.

Teruskan dengan Tutorial #7 melalui URL di bawah:

Senarai Tutorial asas Arduino MatGyver.my :

10 thoughts on “Tutorial #6: Analog Input dengan Potentiometer

  1. Pingback: Tutorial #10: Kawalan SERVO dengan Servo.h Library | MatGyver - DIY & Hobby Blog

  2. Pingback: Tutorial #9: AUTO Terang/Malap LED & for() Loop | MatGyver - DIY & Hobby Blog

  3. Pingback: Tutorial #8: Terang/Malap LED & PWM Output | MatGyver - DIY & Hobby Blog

  4. Pingback: Tutorial #7: Fungsi Mapping dan Analog Input | MatGyver - DIY & Hobby Blog

  5. Pingback: Tutorial #2: Traffic Light! | MatGyver - DIY & Hobby Blog

  6. Pingback: Tutorial #1: Digital Output Arduino dengan LED | MatGyver - DIY & Hobby Blog

  7. Pingback: Tutorial #11: Kawalan DC Motor Dengan Module L298N | MatGyver - DIY & Hobby Blog

  8. Pingback: Tutorial Beginners Arduino | MatGyver - DIY & Hobby Blog

  9. Pingback: Langkah Pertama dengan Arduino | Arduino | MatGyver - DIY & Hobby Blog

  10. Pingback: Potentiometer sebagai Analog Input | Arduino | MatGyver - DIY & Hobby Blog

Tinggalkan Jawapan

Masukkan butiran anda dibawah atau klik ikon untuk log masuk akaun:

WordPress.com Logo

Anda sedang menulis komen melalui akaun WordPress.com anda. Log Out /  Tukar )

Google+ photo

Anda sedang menulis komen melalui akaun Google+ anda. Log Out /  Tukar )

Twitter picture

Anda sedang menulis komen melalui akaun Twitter anda. Log Out /  Tukar )

Facebook photo

Anda sedang menulis komen melalui akaun Facebook anda. Log Out /  Tukar )

w

Connecting to %s