Pendahuluan
pada artikel sebelumnya sudah ada pembahasan mengenai script Python untuk menggerakan motor Servo. namun penggunaannya sebatas berputar pada sudut derajat yang sudah ada di script tersebut. kemudian pertanyaannya bagaimana menggunakan script Python untuk memutarkan motor servo sekian derajat dengan info derajat dikirim dari argument saat script Python tersebut dijalankan. misalkan saat menjalankan script Python seperti dibawah ini :
sudo python servo.py 100
Argument pada Python
Secara sederhana argument adalah nilai yang diberikan kepada sebuah fungsi, saat kita memanggil fungsi tersebut. kemudian nilai argument tersebut akan diberikan ke parameter fungsi tersebut. secara sederhana argument merupakan sebuah nilai misal 5, "hello" dan parameter sebuah simbol misal x, y dan lain sebagainya. contoh misal terdapat fungsi luas_segita dengan parameter alas dan tinggi maka dapat ditulis luasSegita(a, t) a dan t merupakan parameter untuk fungsi luasSegitiga, kemudian fungsi luasSegitiga dipanggil di fungsi utama seperti berikut luasSegitiga(4, 5) angka atau nilai 4 dan 5 merupakan nilai yang diberikan ke a dan t.
untuk menggunakan argument pada saat menjalankan script Python pertama-tama kita perlu meng-impor modul sys. kedua argument tersebut berbentuk list atau array, dimana setiap nilai akan di-assign-kan kedalam index yang berbeda contoh sys.argv[0], sys.argv[1].... berikut kita akan membuat script Python sederhana untuk menguji sebuah argument. berikut script sederhananya :
import sys
nilai1 = sys.argv[0]
niai2 = sys.argb[1]
print (nilai1 = , nilai1)
print (nilai2 = , nilai2)
simpan script diatas dengan nama testArg.py dan jalankan script dengan perintah python testArg.py 1 2 , perlu diingat bahwa semua nilai yang dilewatkan dari argument ini bertype data string, jika teman-teman ingin menggunakannya sebagai numerik atau int maka dapat mengunakan fungsi int() untuk mengubah string menjadi int output dari script diatas yaitu :
('nilai1 = ', 'tesArg.py')
('nilai2 = ', '1')
dapat dilihat bahwa nilai argument index 0 yaitu nama script dan nilai argument index 1 yaitu angka 1. dari sini kita belajar bahwa nilai pertama dari argument yang kita kirimkan akan menuju ke parameter sys.argv dengan index 1 ataua sys.argv[1] dan seterusnya.
Script Motor Servo
kita akan membuat script motor servo dimana nilai argument digunakan sebagai lebar pulsa untuk pengaturan derajat gerak motor servo. contoh: pyhton servo.py 100, maka angka 100 akan digunakan sebagai nilai lebat pulsa PWM. berikut adalah script Python untuk mengerakan motor servo :
import timeimport wiringpiimport syswiringpi.wiringPiSetupGpio()wiringpi.pinMode(18, wiringpi.GPIO.PWM_OUTPUT)wiringpi.pwmSetMode(wiringpi.GPIO.PWM_MODE_MS)wiringpi.pwmSetClock(192)wiringpi.pwmSetRange(2000)pulsa = sys.argv[1]wiringpi.pwmWrite(18, int(pulsa))
karena pinMode pwm perlu menggunakan permison sudo, maka untuk menjalankan script Python diatas dapat dijalankan dengan sudo python servo.py 100, pada script diatas angka 100 merupakan argument pertama yang kemudian di masukan ke dalam variable pulsa dan karena masih bertype data string perlu dirubah ke int dengan perintah int(pulsa).
angka 100 tersebut dapat dirubah nilainya dari 50 sampai 250 sesuai dengan lebar pulsa minimal dan maksimal pada motor servo. dengan begini kita hanya perlu membuat satu script Python untuk mengatur gerakan putar motor servo berapa derajat-pun kita mau dengan melewatkannya pada argument. sekian artikel kali ini semoga dapat bermanfaat terima kasih :) .
angka 100 tersebut dapat dirubah nilainya dari 50 sampai 250 sesuai dengan lebar pulsa minimal dan maksimal pada motor servo. dengan begini kita hanya perlu membuat satu script Python untuk mengatur gerakan putar motor servo berapa derajat-pun kita mau dengan melewatkannya pada argument. sekian artikel kali ini semoga dapat bermanfaat terima kasih :) .