2. Alat dan Bahan [Kembali]
Rangkaian terdiri dari 1 Arduino Uno, 1
motor servo, dan 1 potensiometer. Pin motor servo yang berwarna merah dihubungkan
ke pin +5V, kabel hitam ke pin GND dan kabel putih dihubungkan ke pin 9 PWM Arduino.
Lalu pin A0 sebagai input analog terhubung ke potensiomter sebagai pengatur
kecepatan motor servo.
Untuk program arduino dapat dibuat
sebagai berikut.
byte pot= A0; //Deklarasi pin A0 untuk potensiometer
byte motor= 9; //Deklarasi pin 9 untuk motor
int nilai; //Deklarasi variabel nilai
int output; //Deklarasi variabel output
void setup(){ //Semua kode dalam fungsi ini dieksekusi sekali
pinMode(motor, OUTPUT); //Deklarasi motor sebagai OUTPUT
Serial.begin(9600); //Set baud rate 9600
}
void loop(){ //Semua kode dalam fungsi ini dieksekusi berulang
nilai= analogRead(pot); //Membaca nilai potensiometer
output= map(nilai, 0, 1023, 0, 255); //Memetakan range 0-1023 menjadi 0-255 lalu dimasukkan ke variabel output
analogWrite(motor, output); //Mengatur motor sesuai nilai ouput
Serial.print("potensiometer: "); //Mengirimkan data ke port serial
Serial.print(nilai); //Mengirimkan data ke port serial
Serial.print(" "); //Mengirimkan data ke port serial
Serial.print("output: "); //Mengirimkan data ke port serial
Serial.print(output); //Mengirimkan data ke port serial
delay(2); //Waktu delay 2 ms setelah dieksekusi
}
Untuk penjelasan program arduinonya yaitu deklarasi masing-masing variabel yang
akan digunakan byte pot= A0, byte motor= 9, int nilai, int nilai yaitu dengan deklarasi
pin A0 untuk potensiometer dan pin 9 untuk motor, lalu dekalrasi variabel nilai
dan output.
Fungsi Void setup() yang menunjukkan
kode dalam fungsi ini hanya dibaca satu kali. Kemudian pinMode(motor,OUTPUT)
untuk deklarasi motor sebagai output. Kemudian Serial.begin(9600) untuk menentukan
kecepatan dan penerimaan data melalui port serial yaitu 9600 bit.
Setelah itu ada fungsi void loop()
menunjukkan semua kode dalam fungsi ini dibaca berulang kali. Adapun kode di
dalamnya yaitu nilai= analogRead(pot) untuk membaca nilai potensiometer, output=
map(nilai, 0, 1023, 0, 255) untuk mengovenrsi range 0-1023 menjadi 0-255 dari
variabel output. Selanjutnya analogwrite(motor,output) untuk mengatur motor sesuai
nilai output. Kemudian terdapat beberapa sintaks serial.print yang akan mengirimkan
data ke port serial. Lalu delay 2ms setelah dieksekusi.
Setelah disimulasikan
dapat dilihat pengaruh potensimeter ketika diputar ke kanan atau
dinaikkan maka servo akan berputar berlawanan arah jarum jam, jika
potensiometer diputar ki kiri atau dikuangi maka servo akan berputar searah
jarum jam. Selain itu ada pengaruh duty cycle yang mengatur kecepatan servo.
Semakin besar duty cycle, maka kecepatan servo semakin cepat, sedangkan semakin
kecil duty cycle, maka kecepatan servo semakin lambat.
1. Pada percobaan, kita
menggunakan servo. Apa saja pin yang ada pada servo tersebut? Kemanakah pin
tersebut dihubungkan pada arduino? Bagaimana pengaruh potensiometer terhadap
pergerakan dari servo tersebut?
Jawab:
Motor servo mempunyai tiga buah pin yaitu VCC, GND, PWM/output dengan tiga buah kabel kabel yang berwarna merah, hitam, dan kuning. Kabel warna merah dihubungkan ke sumber tegangan positif (+5V), kabel warna hitam dihubungkan ke sumber tegangan negatif (GND), dan kabel warna putih (PWM) dihubungkan ke pin digital Arduino yaitu pin 9.
Pengaruh potensimeter
diputar ke kanan atau dinaikkan maka servo akan berputar berlawanan arah jarum
jam, jika potensiometer diputar ki kiri atau dikuangi maka servo akan berputar searah
jarum jam. Selain itu ada pengaruh duty cycle yang mengatur kecepatan servo.
Semakin besar duty cycle, maka kecepatan servo semakin cepat, sedangkan semakin
kecil duty cycle, maka kecepatan servo semakin lambat.
2. Diketahui suatu
rangkaian dengan besar Vin yaitu 5V, Duty Cycle : 65%, dan frekuensinya sebesar
50Hz. Tentukanlah berapa Vout, ton, toff, Von, dan Voff nya?
Jawab:
Tidak ada komentar:
Posting Komentar