Ketemu lagi dengan Servo..!! 😀
Namun kali ini aplikasi penggunaan servo nya lebih sederhana dari post yang sebelumnya..
Kali ini servo yang dikontrol cuma 1 buah dan tanpa menggunakan Servo Controller ..
Untuk menggerakkan servo CW (Clock Wise) dan CCW (Counter Clock Wise) menggunakan dua buah push button (Tombol UP dan DOWN) kemudian tombol ketiga (SWEEP) digunakan untuk menggerakkan servo secara terus menerus dari posisi minimum ke maksimum dan seterusnya..
Langsung saja, berikut hasilnya :
Keterangan :
– Tombol UP = PORTB.0
– Tombol DOWN = PORTB.1
– Tombol SWEEP = PORTB.2
– RC Servo = PORTD.7
Listing Programnya :
'Oleh : Pramudita J.I. (joe4cva) 'Elektronika Dan Instrumentasi 'Universitas Gadjah Mada $regfile = "m32def.dat" $crystal = 16000000 Config Portb.7 = Output Config Servos = 1 , Servo1 = Portd.7 , Reload = 20 Config Lcdpin = Pin , Db4 = Portc.5 , Db5 = Portc.4 , Db6 = Portc.3 , Db7 = Portc.2 , E = Portc.6 , Rs = Portc.7 Config Lcdbus = 4 Config Lcd = 16 * 2 Cursor Off Config Portd.7 = Output Config Pinb.0 = Input Config Pinb.1 = Input Config Pinb.2 = Input Set Portb.0 Set Portb.1 Set Portb.2 Tombol1 Alias Pinb.0 Tombol2 Alias Pinb.1 Tombol3 Alias Pinb.2 Dim Nilai As Byte , I As Byte Nilai = 0 Enable Interrupts Cls Utama: Do Locate 1 , 1 Lcd " Servo Tester" Locate 2 , 1 Lcd "Nilai = " ; Nilai ; " " If Tombol2 = 0 Then Incr Nilai Waitms 20 End If If Tombol1 = 0 Then Decr Nilai Waitms 20 End If Servo(1) = Nilai If Tombol3 = 0 Then Bitwait Tombol3 , Set Goto Sweep End If Loop Sweep: Locate 2 , 1 Lcd "Sweep Mode" Do For Nilai = 105 To 33 Step -1 Servo(1) = Nilai Waitms 10 If Tombol3 = 0 Then Bitwait Tombol3 , Set Goto Utama End If Next For Nilai = 33 To 105 Step 1 Servo(1) = Nilai Waitms 10 If Tombol3 = 0 Then Bitwait Tombol3 , Set Goto Utama End If Next Loop
Jika ingin mempercepat gerakan servonya, maka nilai dari “Reload” pada “Config Servos” atau jumlah “Step” pada “For” dinaikkan / ditambah..
Oiya jika Servo yang digerakkan merk “HiTec”, maka port yang digunakan untuk output ke servo WAJIB DI CONFIG SEBAGAI OUTPUT (Pada program saya servo saya pasang di PORTD.7).. Soalnya kalo ga di config output servonya ga akan gerak..
Kapi kalo make Servo “Tower Pro” dan “Parallax”, portnya ga di config gpp..
Untuk merk servo yg lain saya kurang tau perlu di config output dulu apa ga.. Belum pernah nyoba soalnya..
Semoga Bermanfaat.. 😀