ada yang tau cara nggerakin servo pake assembly tdk?
share dunk,,,bingung nich...pada pake C ama bascom semua...
Sebenarnya gampang kok bikinnya asal dah bisa merubah logika pin MK dan bikin delay (waktu tunda).
Prisip pengerakan sederhananya servo adalah memberikan pulsa high low pada pin pulse. (servo ada 3 pin, 2 untuk catu daya, 1 pin pulse). Sedangkan untuk sudut tergatung delay logika high dan logika lownya. Lebar pulsa 20 ms ( jumlah delay high dan delay low dalam mili second / mili detik) .
aturannya seperti ini:
jika delay pulsa high =0.5 mS dan delay pulsa low = 19.5 mS maka servo pada sudut 0 derajat.
jika delay pulsa high =1.5 mS dan delay pulsa low = 18.5 mS maka servo pada sudut 90 derajat.
jika delay pulsa high =2.5 mS dan delay pulsa low = 17.5 mS maka servo pada sudut 180 derajat.
Perhatikan jumlah delay high dan delay low =20 mS.
untuk sudut lain coba dihitung sendiri.....
Algoritmanya seperti ini contoh untuk asembli 89x5x
awal:
setb p1.0 ; beri logika 1 pada pin P1.0 (pin mk yg di hub ke pin pulse Servo)
call tunda05ms ; pangil procedure penundaaan 0,5 ms ( buat sendiri ya!!!)
clr p1.0 ; beri logika 0 pada pin P1.0
call tunda195ms ; pangil procedure penundaaan 19,5 ms ( buat sendiri ya!!!)
jmp awal ; ulangi ke awal
potongan program tersebut diatas menerakan servo ke sudut 0 derajat.
silahkan di coba...