"MENGATUR KECEPATAN PUTAR MOTOR DC"
Gambar 4. 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);
analogWrite(motor, output);
Serial.print("potensiometer: ");
Serial.print(nilai);
Serial.print(" ");
Serial.print("output: ");
Serial.print(output);
delay(2);
}
Analisis :
1. Jika tidak menggunakan potensiometer apa yang terjadi dan bagaimana cara mengendalikan kecepatan motor?
Jawab :
Jika potensiometer pada listing program di hilangkan maka program akan error,otomatis rangkain tidak akan bisa di jalankan,namun jika potensiometer pada simulasi yang di hilangkan rangkain bisa saja berjalan dengan cara menghubungkan vcc langsung ke kaki input motor dc yang terhubung ke pin 9,hanya saja kecepatan motor tidak bisa terkontrol semakin lama akan semakin cepat,cara lain untuk mengontrolnya yaitu dengan PWM (pulse width modulation) Pada pin Arduino yang ada tanda tidle & dengan Menambahkan driver motor dc yaitu ic L293D maka kecepatan bahkan arah putar motor dapat di atur sesuka kita,akan tetapi listing programnya juga harus berubah karena komponen yang di gunakan juga berubah
pada rangkaian kita menggunakan VCC yang terhubung dengan potensiometer dimana salah satu kaki potensiometer terhubung dengan input analog arduino dan lainnya dengan ground. saat nilai potensiometer diubah atau diganggu maka nilai input yang diterima arduino juga berubah. nilai yang diterima oleh arduino pada kaki analognya akan di konversi oleh ADC sehingga menghasilkan besaran digital. lalu arduino akan memproses data tersebut dan mengirimkannya pada motor DC melalui kaki digital yang memiliki PWM (pulse width modulation) dimana lebar pulsa akan mempengaruhi nilainya. lalu motor akan berputar sesuai dengan nilai yang diberikan oleh PWM. untuk mengolah data pada percobaan ini diperlukan mapping dimana untuk nilai ADC berkisar dari rentang 0 sampai dengan 1023. untuk nilai PWM adalah dengan rentang 0 sampai dengan 255 {output = map(nilai, 0, 1023, 0, 255);}. saat nilai potensio diperbesar maka nilai pada ADC juga akan semakin besar hal ini akan menyebabkan nilai lebar pulsa yang dihasilkan juga bertambah lebar sehingga perputaran motor jadi semakin cepat. saat nilai potensio diubah menjadi 0 maka nilai PWM yang dihasilkan juga 0 sehingga motor tidak berputar atau berhenti berputar. dapat disimpulkan bahwa nilai yang dihasilkan potensio akan sebanding dengan nilai lebar pulsa dan sebanding juga dengan kecepatan putar motor DC ( nilai hasil potensio sebanding lebar pulsa sebanding dengan kecepatan putar motor).
Tidak ada komentar:
Posting Komentar