1 | P a g einformatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-ROBOTIK.pdf · bawah air dan luar...
Transcript of 1 | P a g einformatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-ROBOTIK.pdf · bawah air dan luar...
2 | P a g e
BAB 1
Robot dan Robotika
1.1. Pengertian
Robotika adalah satu cabang teknologi yang berhubungan dengan desain, konstruksi, operasi,
disposisi struktural, pembuatan, dan aplikasi dari robot. Robotika terkait dengan ilmu pengetahuan bidang
elektronika, mesin, mekanika, dan perangkat lunak komputer.
Robotika merupakan salah satu wacana teknologi untuk menuju peradaban yang lebih maju. Kebanyakan
orang selalu beranggapan bahwa robot adalah kemajuan teknologi yang mampu menggeser tingkah laku
seseorang untuk melakukan suatu tindakan. Dengan kemajuan yang pesat, maka kebutuhan akan SDM
akan merosot tajam.
Sedangkan Robot sendiri adalah sebuah alat mekanik yang dapat melakukan tugas fisik, baik
menggunakan pengawasan dan kontrol manusia, ataupun menggunakan program yang telah didefinisikan
terlebih dulu (kecerdasan buatan). Istilah robot berasal dari bahasa Cheko “robota” yang berarti pekerja
atau kuli yang tidak mengenal lelah atau bosan. Robot biasanya digunakan untuk tugas yang berat,
berbahaya, pekerjaan yang berulang dan kotor. Biasanya kebanyakan robot industri digunakan dalam
bidang produksi. Penggunaan robot lainnya termasuk untuk pembersihan limbah beracun, penjelajahan
bawah air dan luar angkasa, pertambangan, pekerjaan "cari dan tolong" (search and rescue), dan untuk
pencarian tambang. Belakangan ini robot mulai memasuki pasaran konsumen di bidang hiburan, dan alat
pembantu rumah tangga, seperti penyedot debu, dan pemotong rumput.
Saat ini hampir tidak ada orang yang tidak mengenal robot, namun pengertian robot tidaklah
dipahami secara sama oleh setiap orang. Ada banyak defenisi yang dikemukakan oleh para ahli mengenai
robot. Orang awam beranggapan bahwa robot mengandung pengertian suatu alat yang menyerupai
manusia, namun struktur tubuhnya tidak menyerupai manusia melainkan terbuat dari logam.
Pada kamus Webster pengertian robot adalah :
An automatic device that performs function ordinarily ascribed to human beings (sebuah alat
otomatis yang melakukan fungsi berdasarkan kebutuhan manusia).
Dari kamus Oxford diperoleh pengertian robot adalah :
A machine capable of carrying out a complex series of actions automatically, especially one
programmed by a computer (Sebuah mesin yang mampu melakukan serangkaian tugas rumit secara
otomatis, terutama yang diprogram oleh komputer).
Pengertian dari Webster mengacu pada pemahaman banyak orang bahwa robot melakukan tugas
manusia, sedangkan pengertian dari Oxford lebih umum.
Beberapa organisasi di bidang robot membuat definisi tersendiri. Robot Institute of America
memberikan definisi robot sebagai :
3 | P a g e
A reprogammable multifunctional manipulator designed to move materials, parts, tools or other
specialized devices through variable programmed motions for the performance of a variety of tasks
(Sebuah manipulator multifungsi yang mampu diprogram, didesain untuk memindahkan material,
komponen, alat, atau benda khusus lainnya melalui serangkaian gerakan terprogram untuk melakukan
berbagai tugas).
International Standard Organization (ISO 8373) mendefinisikan robot sebagai :
An automatically controlled, reprogrammable, multipurpose, manipulator programmable in three
or more axes, which may be either fixed in place or mobile for use in industrial automation applications
(Sebuah manipulator yang terkendali, multifungsi, dan mampu diprogram untuk bergerak dalam tiga aksis
atau lebih, yang tetap berada di tempat atau bergerak untuk digunakan dalam aplikasi otomasi industri).
Dari beberapa definisi di atas, kata kunci yang ada yang dapat menerangkan pengertian robot
adalah:
Dapat memperoleh informasi dari lingkungan (melalui sensor),
Dapat diprogram,
Dapat melaksanakan beberapa tugas yang berbeda,
Bekerja secara otomatis,
Cerdas (intelligent),
Kebanyakan digunakan di industri.
1.2. Sejarah Perkembangan Robot Dunia
Perkembangan robotika pada awalnya bukan dari disiplin elektronika melainkan berasal dari
ilmuwan biologi dan pengarang cerita novel maupun pertunjukan drama pada sekitar abad XVIII. Para
ilmuwan biologi pada saat itu ingin menciptakan makhluk yang mempunyai karakteristik seperti yang
mereka inginkan dan menuruti segala apa yang mereka perintahkan, dan sampai sekarang makhluk yang
mereka ciptakan tersebut tidak pernah terwujud menjadi nyata, tapi matrak menjadi bahan pada
novelnovel maupun naskah sandiwara panggung maupun film.
Baru sekitar abad XIX robot mulai dikembangkan oleh insinyur teknik, pada saat itu berbekal
keahlian mekanika untuk membuat jam mekanik mereka membuat boneka tiruan manusia yang bisa
bergerak pada bagian tubuhnya.
Pada tahun 1920 robot mulai berkembang dari disiplin ilmu elektronika, lebih spesifiknya pada
cabang kajian disiplin ilmu elektronika yaitu teknik kontrol otomatis, tetapi pada masa-masa itu
komputer yang merupakan komponoen utama pada sebuah robot yang digunakan untuk pengolaan data
masukan dari sensor dan kendali aktuator belum memiliki kemampuan komputasi yang cepat selain
ukuran fisik komputer pada masa itu masih cukup besar.
4 | P a g e
Robot-robot cerdas mulai berkembang pesat seiring berkembangnya komputer pada sekitar
tahun1950-an.
Dengan semakin cepatnya kemampuan komputasi komputer dan semakin kecilnya ukuran
fisiknya, maka robot-robot yang dibuat semakin memiliki kecerdasan yang cukup baik untuk melakukan
pekerjan-pekerjan yang biasa dilakukan olaeh manusia. Pada awal diciptakaanya, komputer sebagai alat
hitung saja, perkembangan algoritma pemrograman menjadikan komputer sebagai instrumentasi yang
memiliki kemammpauankemampuan seperti otak manusia. Artificial intellegent atau kecerdasan buatan
adalah algoritma pemrograman yang membuat komputer memiliki kecerdasan seperti manusia yang
mampu menalar, mengambil kesimpulan dan keputusan berdasarkan pengalaman yang dimiliki.
1.3. Konstruksi Robot
Robot memiliki berbagai macam konstruksi. Di antaranya adalah :
Robot Mobile (Bergerak)
Robot Mobil atau Mobile Robot adalah konstruksi robot yang ciri khasnya adalah mempunyai
aktuator berupa roda untuk menggerakkan keseluruhan badan robot tersebut, sehingga robot tersebut dapat
melakukan perpindahan posisi dari satu titik ke titik yang lain. Robot mobil ini sangat disukai bagi orang
yang mulai mempelajari robot. Hal ini karena membuat robot mobil tidak memerlukan kerja fisik yang
berat. Untuk dapat membuat sebuah robot mobile minimal diperlukan pengetahuan tentang
mikrokontroler dan sensor-sensor elektro.
Gambar 1.1. : Mobile Robot.
5 | P a g e
Robot Manipulator (Tangan)
Robot ini memiliki tangan seperti tangan
manusia. Dalam konteksnya, bagian tangan ini dikenal
sebagai manipulator yaitu sistem gerak yang
berfungsi untuk memanipulasi (memegang,
mengambil, mengangkat, memindah, atau
mengolah) suatu obyek. Pada robot industri fungsi
lengan ini dapat berupa perputaran
(memasang mur-baut, mengebor/drilling, milling, dll.),
tracking (mengelas,
membubut, dll.) ataupun mengaduk (control
proses). Yang pada dasarnya dibuat dengan
Gambar 1.2. : Robot Manipulator.
tujuan untuk mempermudah pekerjaan manusia.
Flying Robot
Robot yang mampu terbang , robot ini menyerupai pesawat model yang diprogram khusus untuk
memonitor keadaan di tanah dari atas, dan juga untuk meneruskan komunikasi.
Gambar 1.3. : Flying Robot.
Robot Berkaki (Hexapod)
Robot Berkaki adalah konstruksi robot yang ciri
khasnya memiliki kaki seperti hewan atau manusia, yang
mampu melangkah, seperti robot serangga, robot kepiting
dll.
Gambar 1.4. : Robot Berkaki.
6 | P a g e
Robot Animalia
Robot Animalia adalah konstruksi robot
yang memiliki bentuk fisik yang sama seperti
bentuk hewan pada umumnya. Robot
binatang (Animal Robot)
tak ubahnya seperti binatang aslinya, salah
satu contoh robot binatang yang sudah
diproduksi adalah robot kucing dari Jepang dan
robot anjing dari Inggris. Robot – robot ini
melakukan perannya sama halnya seperti pada
binatang aslinya. Pada awalnya
pasien robot binatang ini diciptakan untuk menolong
penderita penyakit
Gambar 1.5. : Robot Animalia.
Dimensia. Demensia adalah suatu sindroma penurunan kemampuan intelektual progresif yang
menyebabkan deteriorasi kognitif dan fungsional, sehingga mengakibatkan gangguan fungsi sosial,
pekerjaan dan aktivitas sehari-hari.
Hilangnya minat dan inisiatif membuat pasien demensia mengalami penurunan interaksi dengan
lingkungan sekitar. Robot binatang (Animal Robot) merupakan salah satu hasil penelitian yang dapat
digunakan untuk pasien demensia dalam interaksi , komunikasi dan keperacayaan diri pada pasien
demensia.
Gambar 1.6. : Interaksi Robot Animalia.
7 | P a g e
Robot Humanoid
Robot Humanoid adalah konstruksi robot yang penampilan keseluruhannya dibentuk berdasarkan
tubuh manusia, mampu melakukan interaksi dengan peralatan maupun lingkungan yang dibuat untuk
manusia. Secara umum robot humanoid memiliki tubuh dengan kepala, dua buah lengan dan dua kaki,
meskipun ada pula beberapa bentuk robot humanoid yang hanya berupa sebagian dari tubuh manusia,
misalnya dari pinggang ke atas. Beberapa robot humanoid juga memiliki 'wajah', lengkap dengan 'mata'
dan 'mulut'.
Kebanyakan orang awam membayangkan robot adalah robot humanoid yang secara fisik tubuh
dan kerangkanya serta bagian-bagian yang lain semuanya dibuat dengan kombinasi besi maupun baja
yang dilengkapi dengan alat-alat serta senjata-senjata yang canggih. Namun pada konstruksinya Robot
humanoid bukan satu-satunya robot yang ada. Dan bukan seperti yang biasa orang bayangkan.
Siapa yang tidak mengenal Titan?
Titan merupakan salah satu Robot Humanoid yang
paling terkenal didunia. Titan adalah sebuah robot termahal di
dunia seharga 7 Miliar dan diperuntukkan hanya untuk disewa
untuk menggelar pertunjukan hiburan robot di berbagai tempat
seperti di mal atau taman hiburan. Disini Titan akan
menampilkan berbagai pertunjukan seperti berjalan, menyapa
pengunjung, bercanda, bernyanyi dan bergerak kesana-kemari.
Robot Titan memiliki tinggi sekitar 2,4 meter dengan
berat 60 kg dan berat totalnya adalah 350 kg apabila
digabungkan dengan peralatan kursi roda yang sering
dipakainya.
Gambar 1.7. : Robot Humanoid (The Titan).
1.4. Sistem Robot
Pada umumnya sebuah sistem robot agar dapat berjalan sempurna harus memiliki elemenelemen
dasar seperti pada gambar 1.6. yaitu :
1. Sensor
2. Aktuator
3. Manipulator
4. Kontroler
8 | P a g e
Gambar 1.8. : Sistem Robot.
1.4.1. Sensor
Merupakan perangkat atau komponen yang bertugas mendeteksi (hasil) gerakan atau fenomena
lingkungan yang diperlukan oleh sistem kontroler. Dapat dibuat dari sistem yang paling sederhana
seperti sensor ON/OFF menggunakan limit switch, sistem analog, hingga sistem mata kamera.
Gambar 1.9. : Contoh Elemen Robot – Sensor:Light.
9 | P a g e
1.4.2. Aktuator
Merupakan perangkat elektromekanik yang menghasilkan daya gerakan. Dapat dibuat dari
sistem motor listrik (motor DC (permanent magnet, brushless, shunt dan series), motor DC servo,
motor DC stepper, ultrasonic motor, linear motor, torque motor, solenoid, dll.), System Pneumatic
(perangkat kompresi berbasis udara atau gas nitrogen), dan perangkat hidrolik (berbasis bahan cair
seperti oli). Untuk meningkatkan tenaga mekanik aktuator atau torsi gerakan dapat dipasang sistem
gearbox, baik sistem direct-gear (sistem lurus, sistem ohmic/worm-gear, planetary gear, dll.),
spochet-chain (gear-rantai, gear-belt, ataupun system wire-roller, dll.).
Gambar 1.10. : Contoh Elemen Robot – Aktuator:Pneumatic.
1.4.3. Manipulator
Yaitu sistem gerak yang berfungsi untuk memanipulasi (memegang, mengambil, mengangkat,
memindah, atau mengolah) obyek. Pada robot industri fungsi mengolah ini dapat berupa perputaran
(memasang mur-baut, mengebor/drilling, milling, dll.), tracking (mengelas, membubut, dll.) ataupun
mengaduk (control proses). Untuk robot tangan, desain sendi-lengan diukur berdasarkan DOF
(Degree Of Freedom). Lengan dapat dibuat kaku/tegar (rigid) ataupun fleksibel (fleksibel
manipulator). Sistem tangan memiliki bagian khusus yang disebut sebagai gripper atau grasper
(pemegang).
1.4.4. Kontroler
Kontroler adalah bagian yang amat penting dalam robotik. Sistem robotik tanpa kontroler hanya
akan menjadi benda mekatronik yang mati. Dalam sistem kontroler robotik terdapat dua bagian yaitu
perangkat keras elektronik dalam perangkat lunak yang berisi program kemudi dan algoritma kontrol.
Sistem Kontrol Robotik terbagi atas 2 yaitu :
Sistem Kontrol Loop Terbuka (Open Loop).
10 | P a g e
Kontrol loop terbuka atau umpan maju (FeedForward Control) dapat dinyatakan sebagai
sistem kontrol yang outputnya tidak diperhitungkan ulang oleh kontroler.
Gambar 1.11. : Open Loop
Sistem Kontrol Loop Tertutup (Close Loop).
Gambar 1.12. : Close Loop Control.
Pada gambar diatas, jika hasil gerak aktual telah sama dengan referansi maka input kontroler akan
nol. Artinya kontroler tidak lagi membarikan sinyal aktuasi kepada robot karena target akhir
perintah gerak telah diperoleh.
BAB 2 NXT Mindstorm Lego Education
2.1. NXT Brick
NXT Brick adalah otak dan sumber tenaga dari robot LEGO Mindstorms NXT. Program yang sudah
dibuat akan dimasukkan dan dijalankan oleh NXTBrick. Stimulasi yang didapat robot yang dapat berupa
sentuhan, suara, atau intensitas cahaya, juga akan dikirim ke NXT Brick untuk diproses lebih lanjut. Tenaga
yang diperlukan motor untuk menggerakkan robot juga didapatkan dari NXT Brick.
Gambar 2.1. NXT Brick.
11 | P a g e
2.2. Sensor
2.2.1. Sensor Ultrasonic
Gelombang ultrasonik adalah gelombang dengan besar
frekuensi diatas frekuensi gelombang suara yaitu lebih dari 20
KHz. Sensor ultrasonik terdiri dari rangkaian pemancar ultrasonik
yang disebut transmitter dan rangkaian penerima ultrasonik yang
disebut receiver.
Sinyal ultrasonik yang dibangkitkan akan dipancarkan dari
transmitter ultrasonik. Ketika sinyal mengenai benda penghalang,
maka sinyal ini dipantulkan, dan diterima oleh receiver ultrasonik.
Sinyal yang diterima oleh rangkaian receiver dikirimkan ke rangkaian mikrokontroler yang
selanjutnya diolah untuk menghitung jarak terhadap benda di depannya (bidang pantul). Prinsip kerja dari
sensor ultrasonik adalah sebagai berikut :
1. Sinyal dipancarkan oleh pemancar ultrasonik. Sinyal tersebut berfrekuensi diatas 20 KHz,
biasanya yang digunakan untuk mengukur jarak benda adalah 40kHz. Sinyal tersebut di bangkitkan oleh
rangkaian pemancar ultrasonik.
2. Sinyal yang dipancarkan tersebut kemudian akan merambat sebagai sinyal/gelombang bunyi
dengan kecepatan bunyi yang berkisar 340 m/s. Sinyal tersebut kemudian akan dipantulkan dan akan
diterima kembali oleh bagian penerimaUltrasonik.
3. Setelah sinyal tersebut sampai di penerima ultrasonik, kemudian sinyal tersebut akan diproses
untuk menghitung jaraknya. Jarak dihitung berdasarkan rumus : S = 340.t/2 dimana S adalah jarak
antara sensor ultrasonik dengan bidang pantul, dan t adalah selisih waktu antara pemancaran gelombang
ultrasonik sampai diterima kembali oleh bagian penerima ultrasonik. Tabel Pengukuran Intensitas :
Jarak Pada Penggaris Jarak Pada NXT Perbandingan Tingkat Eror
10cm 12cm 2cm 20%
15cm 16cm 1cm 6,6%
20cm 21cm 1cm 6,6%
Diagram Pengukuran Intensitas :
Gambar 2. 2 . Sensor Ultrasonik
12 | P a g e
2.2.2. SENSOR SUARA
Sensor Suara adalah sebuah alat yang mampu mengubah gelombang Sinusiuda suara menjadi gelombang
sinus energi listrik (Alternating Sinusioda Electric Curret).
Sensor suara bekerja berdasarkan besar/kecilnya kekuatan
gelombang suara yang mengenai membran sensor yang
menyebabkan bergeraknya membran sensor yang juga
Gambar 2. 3. Sensor Suara terdapat sebuah kumparan kecil dibalik membran tadi naik
Oleh karena kumparan tersebut sebenarnya adalah ibarat sebuah pisau berlubang-lubang, maka
pada saat ia bergerak naik turun, ia juga telah membuat gelombang magnet yang mengalir melewatiya
terpotong-potong. Kecepatan gerak kumparan menentukan kuat-lemahnya gelombang listrik yang
dihasilkannya. Komponen yang termasuk dalam Sensor suara adalah Micropone.
KONDISI INTESITAS (%)
0
5
10
15
20
25
10 cm Penggaris
15 cm Penggaris
20 cm Penggaris
Perbandingan Pengukuran Pada NXT Dengan Penggaris
13 | P a g e
dB dBA
Diam 2 1
Suara 32 25
Tepuk Tangan 25 20
Tabel Pengukuran Intensitas :
2.2.3. Sensor Light (Cahaya)
Sensor cahaya adalah sensor yang dapat menerima
cahaya dan mengukur intensitas cahaya dari objek yang
memiliki intensitas warna. Luaran besaran cahaya yang diterima
dapat sebagai satuan lumens ataupun persentasi dari intensitas
cahaya yang diterima. Sensor ini hanya dapat
mengukur nilai dari Kecerahan (Brightness) dari warna melalui
pantulan cahaya dari lampu LED.
Gambar 2. 4. Sensor Cahaya
Prinsip kerja dari sensor cahaya adalah dengan mengubah energy foton (cahaya) menjadi energi
electron (listrik). Dimana satu foton dapat membangkitkan satu elektron. Dan besaran electron itulah yang
membangkitkan medan listrik dari hasil inputan cahaya.
Disini lampu LED akan memancarkan cahaya dimana cahaya tersebut akan memantul kembali
pada objek yang memiliki intensitas warna, pantulan itu sendiri akan diterima oleh Photo Dioda dan pada
0
5
10
15
20
25
30
35
Diam Suara Tepuk Tangan
dB
dBA
14 | P a g e
photo diode ini akan mengukur nilai dari pantulan cahaya sehingga mengetahui intensitas warna dari objek
tersebut.
Dalam lego mindstrom, terdapat 2 metode yang digunakan untuk mengukur cahaya, yaitu
Reflected dan Ambient :
• Metode Reflected menggunakan cahaya yang dikeluarkan dari lampu LED dipantulkan oleh
bidang berwarna yang ada di depannya, cahaya akan diterima oleh “Photo Diode” dari pantulan
cahaya yang dipantulkan dari objek yang berwarna, cara ini digunakan untuk mendeteksi warna ,
karena setiap warna memiliki pantulan cahaya yang berbeda. Metode ini lebih bagus dikarenakan
pantulan cahaya dari luar tidak akan berpengaruh besar dikarenakan cahaya yang
dilepaskan/disinari oleh lampu LED.
• Metode Ambient tidak menggunakan pantulan cahaya dari lampu LED melainkan memanfaatkan
pantulan cahaya yang ada disekitarnya. Dimana pantulan cahaya dari objek warna akan langsung
diterima. Metode ini digunakan untuk mengukur intensitas cahaya pada suatu ruangan. Contohnya
saja cahaya yang dating dari jendela pada ruangan tertutup.
Tabel Pengukuran Intensitas dengan Metode Ambient :
Merah
Jarak
Percobaan Merah
Rata-rata (%)
Percobaan 1 (%) Percobaan 2 (%)
1 cm 22 23 22,5
2 cm 25 26 25,5
3 cm 27 28 27,5
Hijau
15 | P a g e
Jarak
Percobaan Hijau
Rata-rata (%)
Percobaan 1 (%) Percobaan 2 (%)
1 cm 21 22 21,5
2 cm 24 25 24,5
3 cm 25 26 25,5
Biru
Jarak
Percobaan Biru
Rata-rata (%)
Percobaan 1 (%) Percobaan 2 (%)
1 cm 21 20 20,5
2 cm 22 23 22,5
3 cm 23 23 23
Tabel Pengukuran Intensitas dengan Metode Reflected :
Merah
Jarak
Percobaan Merah
Rata-rata (%)
Percobaan 1 (%) Percobaan 2 (%)
1 cm 55 52 53,5
2 cm 44 43 43,5
3 cm 39 37 38
16 | P a g e
Hijau
Jarak
Percobaan Hijau
Rata-rata (%)
Percobaan 1 (%) Percobaan 2 (%)
1 cm 44 41 42,5
2 cm 36 34 35
3 cm 33 31 32
Biru
Jarak
Percobaan Biru
Rata-rata (%)
Percobaan 1 (%) Percobaan 2 (%)
1 cm 47 44 45,5
2 cm 38 37 38,5
3 cm 34 33 33,5
Diagram Pengukuran Intensitas dengan Metode Ambient :
Merah
0
5
10
15
20
25
30
1 cm 2 cm cm 3
Percobaan 1
Percobaan 2
Rata - Rata
17 | P a g e
Hijau
Biru
Grafik Pengukuran Intensitas dengan Metode Reflected :
Merah
Hijau
0
5
10
15
20
25
30
1 cm 2 cm cm 3
Percobaan 1
Percobaan 2
Rata - Rata
18
19
20
21
22
23
24
1 cm 2 cm cm 3
Percobaan 1
Percobaan 2
Rata - Rata
0
10
20
30
40
50
60
1 cm 2 cm cm 3
Percobaan 1
Percobaan 2
Rata-rata
18 | P a g e
Biru
Sensor Touch adalah sensor yang mampu mendeteksi adanya
sentuhan. Misalnya, jika robot mengenai benda atau bertabrakan
dengan robot lain, maka kejadian ini dapat dideteksi oleh sensor
sentuh. Selain itu, sensor sentuh ini mempunyai 3 metode
pendeteksian yaitu Pressed, Released, dan Bumped.
Gambar 2.5. Sensor Sentuh
1. Metode Pressed
Metode ini bekerja apabila kita menekan sensor sentuh, maka program akan dieksekusi oleh robot.
Misalnya, ketika sensor sentuh ditekan maka robot akan bergerak maju kedepan.
2. Metode Released
Program akan dieksekusi terus menerus, apabila sensor terkena sentuhan maka program akan
berhenti. Misalnya, robot terus berjalan maju dan apabila sensor terkena sentuhan maka robot
akan berhenti.
0
10
20
30
40
50
1 cm 2 cm cm 3
Percobaan 1
Percobaan 2
Rata-rata
0
10
20
30
40
50
1 cm 2 cm 3 cm
Percobaan 1
Percobaan 2
Rata-rata
2. 2 . 4. Sensor Touch (Sentuh)
19 | P a g e
3. Metode Bumped
Metode tekan lepas. Sensor akan bekerja apabila terkena tekanan dan lepasan (memantul).
Misalnya, robot berjalan maju dan apabila sensor terkena tekanan dan lepas maka robor akan
berjalan mundur.
2.3. Motor Servo
Motor adalah Alat yang digunakan untuk mengubah
energi listrik menjadi tenaga mekanik yang akan
mengerakkan gear dan tenaga yang dikeluarkan motor adalah
5 V.
Fungsi motor servo adalah sebagai motor untuk
menggerakkan komponen lain dalam LEGO Mindstorms NXT. Kecepatan sudut maksimum
motor adalah 2π per detik Gambar 2.6. Motor Servo atau satu putaran per detik.
Motor Servo ini dilengkapi dengan kemampuan untuk menghitung perubahan sudut yang dialami
motornya. Servo motor dapat menghitung berapa derajat rotasi yang telah dilakukannya. Akurasi dari
sensor servo motor ini mencapai kurang lebih 1 derajat.
Motor Servo juga dilengkapi dengan sebuah lubang untuk as yang dihubungkan dengan rangkaian
axle dan roda sebagai penggerak robot. Pada rangkaian penggerak dilengkapi pula lubanglubang untuk
modifikasi gerakan motor.
Didalam rangkaian servo motor ini sudah dirancang sedemikan rupa sehingga, kita bisa
menentukan banyaknya putaran sesuai jarak tempuh yang kita inginkan. Posisi sudut jika motor akan
berputar dan lain sebagainya, yang dapat dimonitor melalui LCD pada NXT Brick. Oleh karena itu servo
motor dilengkapi dengan kabel USB yang dihubungkan ke NXT Brick.
Ada tiga motor servo yang dapat digunakan robot agar dapat bergerak, yang terdiri dari port A, B,
C. Jika anda menggunakan menu pada NXT brick (NXT Program) maka secara otomatis port B dan C
yang digunakan servo motor akan bekerja bersamaan, sehingga robot anda dapat bergerak lurus.
Adapun beberapa metode dalam perputaran pada motor servo NXT Lego Mindstorm.
Diantaranya yaitu :
1. Rotation, yaitu perputaran motor mengacu pada duration atau waktu yang hasil akhirnya untuk
menentukan banyaknya jumlah putaran.
20 | P a g e
2. Second, yaitu perputaran motor mengacu pada duration atau waktu yang hasil akhirnya untuk
menentukan banyaknya jumlah putaran berdasarkan waktu yang telah ditentukan.
3. Degrees, yaitu perputaran motor mengacu pada derajat yang telah ditentukan.
4. Unlimited, yaitu perputaran pada motor tidak dibatasi oleh waktu, rotasi, maupun derajat.
Biasanya metode ini digunakan untuk proses looping.
2.4. Instalasi NXT, Motor Dan Sensor
Gambar 2.7. : Instalasi Motor pada NXT Brick.
Gambar 2.8. : Instalasi Sensor pada NXT Brick.
BAB 3
Installasi dan Perancangan Lego Mindstorms Robot
2.4 .1 . Connecting Motors
Untuk menghubungkan motor ke NXT,
pasang salah satu ujung kabel hitam untuk
motor tersebut. Pasang ujung lainnya ke salah
satu port (A, B, C).
2.4 .2 . Connecting Sensors
Untuk menghubungkan Sensor ke
NXT, pasang salah satu ujung kabel hitam ke
Sensor. Pasang ujung lainnya ke salah satu
port (1, 2, 3, 4).
34 | P a g e
BAB IV Lego Mindstorm NXT Programming
Lego Mindstorm NXT Programming merupakan aplikasi bawaan dari robot Lego NXT yang
berbentuk GUI (Graphical User Interface).
Gambar di bawah ini merupakan tampilan awal dari Lego Mindstorms NXT Programming, untuk
memulai membuat sebuah program ketikan nama file yang akan dibuat pada Start New Program kemudian
klik “Go”.
Gambar 4.1. Tampilan Awal Aplikasi Lego Setelah
itu akan muncul jendela baru untuk mulai pemrograman NXT.
35 | P a g e
Gambar 4.2. Lembar Kerja NXT Programming
Keterangan Tools :
1. Block Move, yaitu untuk mengatur pergerakan motor pada robot.
2. Block Record/Play, yaitu untuk merekam gerakan yang dilakukan robot dan menjalankan gerakan
itu kembali.
3. Block Sound, yaitu untuk menjalankan file suara atau nada.
4. Block Display, yaitu untuk menampilkan gambar atau teks dari NXT Brick.
5. Block Wait untuk mengatur tindakan robot pada kondisi tertentu, dalam block ini terdapat perintah
untuk mengaturan pendeteksian sensor diantaranya adalah sensor sentuh, sensor cahaya, sensor
suara, dan sensor ultrasonic.
Gambar 4.3. Perintah-perintah Block Wait
6. Block Loop, yaitu untuk mengulang proses pergerakan robot.
7. Block Switch, yaitu untuk membuat dan menyeleksi 2 proses yang berbeda.
4.1. Koneksi PC dengan NXT.
36 | P a g e
Gambar 4.4. Fungsi-fungsi Program ke NXT Brick
1. Sebelum membuat program ke dalam NXT Brick koneksikan dulu PC anda dengan NXT Brick
dengan cara klik tombol nomor 1 pada gambar di atas. Setelah itu akan muncul jendela baru
seperti gambar di bawah ini dan pilih scan.
Gambar 4.5. Scanning perangkat NXT Brick
Jika ditemukan, maka pada tab Communications akan muncul NXT yang terkoneksi. Pilih
koneksi NXT lewat Bluetooth atau USB, setelah itu pilih tombol “Connect”.
Gambar 4.6. Konektifitas dengan NXT Brick
2. Download and run selected (tombol nomor 2) untuk mendownload file dan langsung
menjalankan pada robot NXT dengan memilih dulu file yang akan dijalankan.
3. Stop (tombol nomor 3) berfungsi untuk menghentikan program yang sedang running.
4. Download and Run (tombol nomor 4) untuk mendownload file dan langsung menjalakan pada
robot NXT.
5. Download (tombol nomor 5) hanya untuk mendownload program ke NXT Brick.
37 | P a g e
4.2.2. Running Program Pada NXT Brick.
Gambar 4.7. Menjalankan Program yang sudah di download
Keterangan :
1. Cari file atau program yang sudah didownload pada NXT file.
2. Pilih nama file yang sudah dibuat kemudian Run.
4.1.1. Pengenalan Tools
1. Move
Tools berupa output gerak dari NXT Programming yaitu untuk mengatur gerakan motor pada
robot.
Membuat program sederhana
Masukkan perintah seperti gambar dibawah ini.
Klik pada blok move tersebut dan Atur pengaturan sesuai keinginan.
Save dan Download program ke NXT Brick kemudian jalankan program.
38 | P a g e
2. Record/Play
Tools untuk merekam gerakan yang dilakukan robot dan menjalankan gerakan itu kembali
Membuat program sederhana
Masukkan perintah-perintah seperti pada gambar dibawah ini
Atur pengaturan motor A dan B blok move dengan 5 detik untuk jalan maju, dan 5
detik untuk jalan mundur.
Pada pengaturan blok record/play (dengan lambang bulat) pilih record dan masukkan
time-nya selama 10 detik.
Pada pengaturan blok play/play (dengan lambang play) pilih play.
Lalu jalankan program.
3. Sound
Tools berupa output suara, untuk memutar suara yang tersimpan di NXT.
Membuat program sederhana
Masukkan perintah seperti pada gambar dibawah ini
39 | P a g e
Atur perintah blok sound sebagai berikut (atau atur sesuai keinginan)
Jalankan program.
4. Display
Ouput Tools yang berfungsi untuk menampilkan gambar atau teks dari NXT Brick.
Membuat program sederhana
Masukkan program berikut
Atur pengaturan blok display sesuai yang diinginkan
Lalu jalankan program.
40 | P a g e
5. Wait
Tools yang dijadikan referensi gerak (inputan) untuk melakukan berbagai tindakan robot.
Dalam block ini terdapat perintah untuk mengaturan pendeteksian sensor diantaranya adalah
sensor sentuh, sensor cahaya, sensor suara, dan sensor ultrasonic.
5.1 Time
Referensi gerak yang berfungsi untuk mengatur tindakan robot berdasarkan waktu.
Membuat program sederhana
Masukkan beberapa perintah seperti gambar dibawah ini
Atur pengaturan blok time sesuai keinginan.
Lalu jalankan program.
5.2. Sensor Sentuh
Masukkan beberapa perintah seperti gambar dibawah ini.
Gambar 4.8.Peng-inputan Perintah Sensor Touch dan Display
41 | P a g e
Klik pada perintah sensor sentuh sehingga muncul properties seperti pada gambar di bawah
ini :
Gambar 4.9.Pengaturan Sensor Touch Keterangan
:
1. Pilih Control Sensor.
2. Pilih Port mana yang terhubung dengan Sensor Sentuh.
3. Pilih Action Pressed, Released atau Bumped untuk mengaktifkan perintah pada sensor
sentuh, pada contoh ini menggunakan Action Pressed.
4. Pilih Touch Sensor.
Klik pada perintah display, sehingga muncul properties seperti pada gambar di bawah ini :
Gambar 4.10.Pengaturan Display Keterangan
:
1. Pilih Text jika menginginkan output dari NXT Brick berupa text.
2. Tampilan output pada NXT Brick.
3. Pilih Line untuk menetukan dimana letak text.
4. Untuk menentukan teks yang akan ditampilkan pada NXT Brick.
5. Untuk menghapus konten yang ada di layar NXT Brick.
Save dan Download program ke NXT Brick kemudian jalankan program.
42 | P a g e
5.3 Sensor Cahaya
Buatlah percabangan menggunakan Block Switch dengan properties seperti gambar di
bawah ini :
Gambar 4.11.Contoh Program Menggunakan Switch
Keterangan :
1. Proses yang dijalankan jika sensor cahaya mendeteksi terang.
2. Proses yang dijalankan jika sensor cahaya mendeteksi gelap.
3. Untuk mengatur nilai intensitas cahaya yang akan dideteksi menggunakan slider.
4. Untuk mengatur nilai intensitas cahaya yang akan dideteksi menggunakan inputan nilai
(Optional pengganti slider).
5. Penentuan intensitas cahaya yang akan dideteksi lebih dari atau kurang dari nilai yang
ditentukan.
6. Jika box ini di-check, maka lampu LED akan menyala dan sensor akan menerima pantulan
cahaya dari lampu LED tersebut.
7. Untuk merubah tampilan percabangan, mendatar atau bercabang.
Kemuadian masukkan 2 Block Display dan 1 Block Wait (Time) pada percabangan awal
(deteksi terang).
43 | P a g e
Gambar 4.12.Proses Ketika Mendeteksi Terang
Time digunakan untuk memberi jeda antara satu proses dengan proses selanjutnya.
Gambar 4.13.Pengaturan Block Wait - Time
Kemudian pada Block Display yang terakhir dilakukan proses Display dengan Action :
Reset yang berfungsi untuk menampilkan tampilan default yaitu icon LEGO MINDSTORMS.
Gambar 4.14.Display Dengan Action : Reset
Lakukan proses yang sama pada percabangan kedua (deteksi gelap), tapi dengan Display
yang berbeda.
44 | P a g e
Gambar 4.15.Proses Ketika Mendeteksi Gelap
Save dan Download program ke NXT Brick kemudian jalankan program.
5.4 Sensor Ultrasonik
Masukkan beberapa perintah seperti gambar dibawah ini.
Gambar 4.16.Proses Switch Motor Dengan Sensor Ultrasonik
Klik pada Switch dan atur sesuai dengan gambar dibawah ini :
Gambar 4.17.Pengaturan Sensor Ultrasonik
Atur Motor pertama seperti gambar dibawah ini :
Gambar 4.18.Pengaturan Jika Salah Satu Motor Aktif
45 | P a g e
Atur Motor kedua seperti gambar dibawah ini :
Gambar 4.19.Pengaturan Jika Salah Satu Motor Pasif
Save dan Download program ke NXT Brick kemudian jalankan program.
5.5 Sensor Suara
Masukkan beberapa perintah seperti gambar dibawah ini.
Gambar 4.20.Proses Switch Motor Dengan Sensor Suara
Klik pada Switch dan atur sesuai dengan gambar dibawah ini :
Gambar 4.21.Pengaturan Sensor Suara
Atur Motor pertama seperti gambar dibawah ini :
Gambar 4.22. Pengaturan Jika Salah Satu Motor Pasif
Atur Motor kedua seperti gambar dibawah ini :
46 | P a g e
Gambar 4.23.Pengaturan Jika Salah Satu Motor Aktif
Save dan Download program ke NXT Brick kemudian jalankan program.
6. Loop
Tool untuk mengulang kegiatan robot.
Contoh program sudah dipraktikan pada poin 5.4 dan 5.5. Berikut
penjelasan toolnya :
Pada gambar terlihat bahwa loop akan dilakukan selama “Forever” (selamanya). Jadi
selama robot dinyalakan program yang ada didalam loop akan terus dieksekusi.
Kita juga bisa mengaturnya sesuai keinginan.
7. Switch
Tool yang berfungsi untuk menggambarkan dua buah kondisi yang berbeda. Robot akan
melakukan dua aktivitas yang berbeda pada masing-masing kondisi yang digambarkan pada
switch. Contohnya bisa dilihat pada point 5.4 dan point 5.5
BAB 5 Pemrograman NXT dengan Bahasa C
4.1. Aplikasi
47 | P a g e
Selain menggunakan aplikasi Lego Mindstorms NXT Programming yang berbasis GUI, NXT juga
bisa diprogram menggunakan bahasa C. Adupun salah satu aplikasi yang dapat digunakan adalah aplikasi
bernama BricxCC (Bricx Command Center). Struktur Penulisan Program :
task main() { Statement1; Statement2; Statement3; }
4.2. Setting Program
Saat pertama kali program dijalankan, pendeteksian Brick akan langsung dilakukan. Tentukan port
dimana Brick terhubung (bisa diset secara Automatic). Kemudian pilih Tipe Brick yang digunakan yaitu
NXT. Pilih Firmware Standar kemudian tekan OK.
Gambar 4.1. : Setting Program BricxCC.
4.3. Pemrograman C
4.3.1. LCD (Display NXT Brick)
Sintaks LCD
ClearScreen(); //hapus layar ClearLine("line"); //hapus baris TextOut("x", "line", "txt", "options"); //tampilkan teks NumOut("x", "line", "val", "options"); //tampilkan nomor
ResetScreen(); //reset layar
Contoh Program
48 | P a g e
task main() { while(true) { TextOut(16, LCD_LINE4, "Lab. Robotik"); //tampilkan teks Lab. Robotik NumOut(38, LCD_LINE4, 2012); //tampilkan nomor 2012 } }
4.3.2. Button (Tombol NXT Brick)
Sintaks Button
ButtonPressed("btn"); //tekan button ButtonCount("btn"); //count tekan button
Contoh Program Button Pressed
task main() { while
(true) { if (ButtonPressed(BTNRIGHT,false)) { //tekan tombol kanan ClearScreen(); //hapus layar TextOut(15, LCD_LINE4, "Tombol Kanan"); } if (ButtonPressed(BTNLEFT,false)) { //tekan tombol kiri ClearScreen(); //hapus layar TextOut(17, LCD_LINE4,"Tombol Kiri"); } if (ButtonPressed(BTNCENTER,false)) { //tekan tombol pilih ClearScreen(); //hapus layar TextOut(15, LCD_LINE4,"Tombol Pilih"); } } }
4.3.3. Motor
Sintaks Control Motor
OnFwd("ports", "pwr"); //motor maju OnRev("ports", "pwr"); //motor mundur
OnFwdSync("ports", "pwr", "turnpct"); //motor maju dengan sync OnRevSync("ports", "pwr", "turnpct"); //motor mundur dengan sync
RotateMotor("ports", "pwr", "angle"); //rotasi motor Off("ports"); //motor stop
49 | P a g e
Contoh Program
task main() { OnFwd(OUT_AB,50); Wait(2000); //delay 2000ms = 2 detik OnRev(OUT_AB,50); Wait(2000); Off(OUT_AB); Wait(500); //delay 500ms = 0.5 detik OnFwdSync(OUT_AB,50,35); Wait(2000); }
4.3.4. Sensor Touch
Sintaks
Sensor
Touch
//Setting sensor touch
Contoh Program
task main(){ SetSensorTouch(IN_1); //setting sensor while(true) { OnFwd(OUT_AB,50); if
(Sensor(IN_1)==1) { Off(OUT_AB); //motor stop Wait(500); //delay 500ms = 0.5 detik OnRev(OUT_AB,50); Wait(2000); //delay 2000ms = 2 detik OnFwdSync(OUT_AB,50,-35); Wait(2000); } } }
4.3.5. Sensor Light
Sintaks Sensor Light
SetSensorLight("port"); //Setting sensor light SetSensor("port", SENSOR_LIGHT); //Setting sensor light
SetSensorType("port", SENSOR_TYPE_LIGHT_ACTIVE); //lampu Led ON
SetSensorTouch("port"); //Setting sensor touch SetSensor("port", SENSOR_TOUCH); //Setting sensor touch SetSensorType("port", SENSOR_TYPE_TOUCH); Sensor("port"); //Baca Sensor
50 | P a g e
SetSensorType("port", SENSOR_TYPE_LIGHT_INACTIVE); //lampu Led OFF
Sensor("port"); //Baca Sensor
Contoh Program
task main() { SetSensorLight(IN_1); while(true) { Off(OUT_AB); if(Sensor(IN_1)>40) { OnFwd(OUT_A,40); Wait(200); }
else { OnFwd(OUT_B,40); Wait(200); } }
}
4.3.6. Sensor Sound
Sintaks Sensor Sound
SetSensorSound("port"); //setting sensor sound SetSensorType("port", SENSOR_TYPE_SOUND_DB); SetSensorType("port", SENSOR_TYPE_SOUND_DBA); Sensor("port"); //Baca Sensor
Contoh Program
void delay(int x) { Wait(x*1000); //x*1000ms } task main() { SetSensorSound(IN_4); while (true) { if (Sensor(IN_4)>=60) { OnFwd(OUT_AB,50); delay(3); //3 detik } } }
4.3.7. Sensor Ultrasonic
Sintaks Sensor Ultrasonic
SetSensorLowspeed("port"); //setting sensor US SensorUS("port"); //baca nilai sensor
51 | P a g e
Contoh Program Robot Explorer
void check() { int
ka=0,ki=0; RotateMotor(OUT_A, 30, -90);
Wait (200); ka=SensorUS(IN_1); RotateMotor(OUT_A, 30, 180); Wait(200); ki=SensorUS(IN_1); RotateMotor(OUT_A, 30, -90); if
(ka>ki){ OnFwdSync(OUT_BC,50,30); }
else { OnFwdSync(OUT_BC,50,-30); }
} task main() { SetSensorLowspeed(IN_1); TextOut(30, LCD_LINE4, "WELCOME"); TextOut(9, LCD_LINE5, "Robot Explorer"); TextOut(20, LCD_LINE6, "by Robotic Laboratory"); while
(true) { OnRev(OUT_BC,60); if (SensorUS(IN_1)<=30) { Off(OUT_BC); check(); Wait(1000); } } }
BAB 5 Pemrograman NXT dengan Visual Basic
5.1. Aplikasi
Visual Basic adalah salah satu bahasa pemrograman Komputer Tingkat Tinggi. Bahasa
Pemrograman Adalah Perintah-perintah yang dimengerti oleh komputer untuk melakukan tugas-tugas
tertentu. Visual Basic merupakan salah satu bahasa Pemrograman yang Object Oriented Programming
(OOP) atau Pemrograman yang Berorientasi Pada Object. Kata “Visual” menunjukkan cara yang
digunakan untuk membuat Graphical User Interface (GUI). Dengan Cara ini, kita tidak perlu lagi
menuliskan instruksi pemrograman dalam kode-kode baris hanya untuk membuat sebuah Desaign
Form/Aplikasi. Tetapi dengan sangat mudah yakni kita cukup melakukan Drag and drop object-object
yang akan kita gunakan. Visual Basic dapat kita jdaikan alat Bantu untuk membuat berbagai macam
program computer. Aplikasi Visual Basic hanya dapat dijalankan pada system Operasi Windows.
52 | P a g e
5.2. Library
Library adalah kumpulan bahasa pemrograman yang berisi fungsi-fungsi untuk pembuatan suatu
program termasuk robot lego mindstroms. Library ini berfungsi untuk mempermudah pembuatan program
robot Lego Mindstroms NXT.
5.3. Setting Program
Buka Visual Basic dan buat project windows form application. Yang harus dilakukan pertama kali
adalah melakukan import library dengan cara mengklik kanan pada “WindowsApplicationX” (nama
project yang dibuat) melalui Solution Explorer
Gambar 5.1. : Setting Project VB. Pada Add Refence pilih
“Browse” untuk mencari lokasi penyimpanan library dan pilih semua library yang ada pada folder
tersebut. Klik Ok.
53 | P a g e
Gambar 5.2. : Memilih Library yang akan ditambahkan. Di solution explore
terdapat menu “show all”, pilih “Reference” lalu pilih library yang tadi kita tambahkan.
Gambar 5.3. : Menampilkan konten project.
Setelah itu pada “properties”, menu “copy local” ganti dengan “True”
54 | P a g e
Gambar 5.4. : Mengcopy library ke folder project. Lalu beranjak pada menu bar
“Build” pilih “Rebuild Solution”. Jika sukses maka akan muncul di sebelah kiri bawah.
Gambar 5.5. : Rebuild Solution.
Jika selsesai maka secara otomatis library tersebut akan berpindah di folder project.
55 | P a g e
Gambar 5.6. : Library sudah ter-copy di folder project.
Catatan :
Jika menggunakan joystick untuk mengendalikan robot, maka kita harus merubah menu bar “Debug”.
Klik “Debug” pilih “exeptions”.
Gambar 5.7. : Merubah Menu Debug.
Pilih “Managed Debugging Assistants”, lalu hilangkan tanda centang (√) pada “LoaderLock”.
56 | P a g e
Gambar 5.8. : Merubah Format Joystick.
5.4. Pemrograman VB dengan Library NXT
Import library
Imports project_LAB.robotik_informatika_controller Imports project_LAB.robotik_informatika_ITN_lego
1. Joystik
sintaks joystik
joystik.arah_analog(jenis arah analog) joystik.koordinat_analog(jenis arah analog, jenis
koordinat) joystik.pasang_joystik()
joystik.tekan_tombol(jenis tombol)
Contoh Program :
joystik.arah_analog(joystik.jenis_analog.kanan)
joystik.koordinat_analog(joystik.jenis_analog.kanan,joystik
.koord inat.x)
joystik.pasang_joystik()
joystik.tekan_tombol(joystik.tombol.arah_atas)
57 | P a g e
2. Keyboard
sintaks keyboard
keyboard.tekan_tombol(tombol yang ditekan)
Contoh program :
keyboard.tekan_tombol(Keys.A)
3. NXT
sintaks nxt
nxt.apakah_terkoneksi()
nxt.bunyikan_suara(frekuensi, durasi)
nxt.daftar_program_di_robot()
nxt.daftar_sound_di_robot()
nxt.hentikan_suara()
nxt.jalankan_program(nama
program) nxt.kondisi_baterai()
nxt.konek()
nxt.koneksi_port(port berapa)
nxt.nama_robot() nxt.putar_lagu(judul
lagu) nxt.putus_koneksi()
Contoh program :
nxt.apakah_terkoneksi()
nxt.bunyikan_suara(70, 100)
nxt.daftar_program_di_robot()
nxt.daftar_sound_di_robot()
nxt.hentikan_suara()
nxt.jalankan_program("robot_jalan"
) nxt.kondisi_baterai()
nxt.konek() nxt.koneksi_port(2)
nxt.nama_robot()
nxt.putar_lagu("tes")
nxt.putus_koneksi()
4. Motor
Sintaks program
motor.pasangkan_motorA()
motor.pasangkan_motorB()
motor.pasangkan_motorC() motor.berhenti(pilhan
motor)
58 | P a g e
motor.gerakkan_motor(jenis gerakan, pilihan motor, kecepatan)
motor.singkronkan_gerakan_motor(pilihan motor1, pilhan motor2,
kecepatan)
Contoh program
motor.pasangkan_motorA()
motor.pasangkan_motorB()
motor.pasangkan_motorC()
motor.berhenti(motor.pilihan_motor.motorA) motor.gerakkan_motor(motor.pilihan_putaran_motor.maju,
motor.pilihan_motor.motorA, 60)
motor.singkronkan_gerakan_motor(motor.pilihan_motor.motorA,
motor.pilihan_motor.motorB, 60)
5. Sensor Cahaya
sintaks program
sensor_cahaya.pasangkan(port berapa)
sensor_cahaya.hidupkan_lampu = boelan
sensor_cahaya.intensitas_cahaya
Contoh program
sensor_cahaya.pasangkan(info_sensor.port.port1)
sensor_cahaya.hidupkan_lampu = True
Label1.Text = sensor_cahaya.intensitas_cahaya
6. Sensor Compas
Sintaks program
sensor_compas.pasangkan(port berapa)
sensor_compas.magnitudo
Contoh program sensor_compas.pasangkan(info_sensor.port.port2)
sensor_compas.magnitudo
59 | P a g e
7. Sensor Sentuh
Sintaks program
sensor_sentuh.pasangkan(port berapa)
sensor_sentuh.apakah_ditekan_shared
Contoh program
sensor_sentuh.pasangkan(info_sensor.port.port3)
Label1.Text = sensor_sentuh.apakah_ditekan
8. Sensor Suara
Sintaks program
sensor_suara.pasangkan(port berapa)
sensor_suara.intensitas_suara
Contoh program sensor_suara.pasangkan(info_sensor.port.port4)
Label1.Text = sensor_suara.intensitas_suara
9. Sensor Ultrasonik
Sintaks program
sensor_ultrasonik.pasangkan(port
berapa) sensor_ultrasonik.jarak
Contoh program sensor_ultrasonik.pasangkan(info_sensor.port.port1)
Label1.Text = sensor_ultrasonik.jarak
Program Project
60 | P a g e
Imports project_LAB.robotik_informatika_controller Imports project_LAB.robotik_informatika_ITN_lego Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button1.Click
nxt.koneksi_port(Byte.Parse(TextBox1.Text))
motor.pasangkan_motorA() motor.pasangkan_motorB()
motor.pasangkan_motorC() joystik.pasang_joystick() sensor_ultrasonik.pasangkan(info_sensor.port.port1) nxt.konek() Threading.Thread.Sleep(1000) Timer1.Enabled = True End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Label1.Text
= sensor_ultrasonik.jarak baterai.Value =
nxt.kondisi_baterai 'maju If sensor_ultrasonik.jarak >= 15 AndAlso
joystik.tekan_tombol(joystik.tombol.silang) = True AndAlso
joystik.tekan_tombol(joystik.tombol.arah_kanan) = False AndAlso
joystik.tekan_tombol(joystik.tombol.arah_kiri) = False Then
motor.gerakkan_motor(motor.pilihan_putaran_motor.maju,
motor.pilihan_motor.motorB, 60) motor.gerakkan_motor(motor.pilihan_putaran_motor.maju,
motor.pilihan_motor.motorA, 60)
61 | P a g e
motorA_.Value = 60 motorB_.Value
= 60 'kiri ElseIf joystik.tekan_tombol(joystik.tombol.silang) = True AndAlso
joystik.tekan_tombol(joystik.tombol.arah_kiri) = True AndAlso
sensor_ultrasonik.jarak >= 22 AndAlso joystik.tekan_tombol(joystik.tombol.arah_kanan) = False Then
motor.gerakkan_motor(motor.pilihan_putaran_motor.maju,
motor.pilihan_motor.motorB, 30) motor.gerakkan_motor(motor.pilihan_putaran_motor.maju,
motor.pilihan_motor.motorA, 60) motorA_.Value = 60
motorB_.Value = 30 'kanan ElseIf joystik.tekan_tombol(joystik.tombol.silang) = True AndAlso
joystik.tekan_tombol(joystik.tombol.arah_kanan) = True AndAlso
sensor_ultrasonik.jarak >= 22 AndAlso joystik.tekan_tombol(joystik.tombol.arah_kiri) = False Then
motor.gerakkan_motor(motor.pilihan_putaran_motor.maju,
motor.pilihan_motor.motorA, 30) motor.gerakkan_motor(motor.pilihan_putaran_motor.maju,
motor.pilihan_motor.motorB, 60) motorA_.Value = 30
motorB_.Value = 60 'mundur ElseIf joystik.tekan_tombol(joystik.tombol.segitiga) = True AndAlso joystik.tekan_tombol(joystik.tombol.arah_kanan) = False
AndAlso joystik.tekan_tombol(joystik.tombol.arah_kiri) = False Then motor.gerakkan_motor(motor.pilihan_putaran_motor.mundur,
motor.pilihan_motor.motorB, 60) motor.gerakkan_motor(motor.pilihan_putaran_motor.mundur,
motor.pilihan_motor.motorA, 60) motorA_.Value = 60
motorB_.Value = 60 'mundur kanan ElseIf joystik.tekan_tombol(joystik.tombol.segitiga) = True AndAlso joystik.tekan_tombol(joystik.tombol.arah_kiri) = True
AndAlso joystik.tekan_tombol(joystik.tombol.arah_kanan) = False Then motor.gerakkan_motor(motor.pilihan_putaran_motor.mundur,
motor.pilihan_motor.motorB, 30) motor.gerakkan_motor(motor.pilihan_putaran_motor.mundur,
motor.pilihan_motor.motorA, 60) motorA_.Value = 60
motorB_.Value = 30 'mundur kiri ElseIf joystik.tekan_tombol(joystik.tombol.segitiga) = True AndAlso joystik.tekan_tombol(joystik.tombol.arah_kanan) = True
AndAlso joystik.tekan_tombol(joystik.tombol.arah_kiri) = False Then motor.gerakkan_motor(motor.pilihan_putaran_motor.mundur,
motor.pilihan_motor.motorA, 30) motor.gerakkan_motor(motor.pilihan_putaran_motor.mundur,
motor.pilihan_motor.motorB, 60) motorA_.Value = 30
62 | P a g e
motorB_.Value = 60 'maju
jarak pendek ElseIf joystik.tekan_tombol(joystik.tombol.silang) = True AndAlso
joystik.tekan_tombol(joystik.tombol.arah_kiri) = False AndAlso
sensor_ultrasonik.jarak < 22 AndAlso joystik.tekan_tombol(joystik.tombol.arah_kanan) = False Then
motor.berhenti(motor.pilihan_motor.motorA)
motor.berhenti(motor.pilihan_motor.motorB) nxt.bunyikan_suara(70, 100) ElseIf joystik.tekan_tombol(joystik.tombol.kotak) = True Then
motor.gerakkan_motor(motor.pilihan_putaran_motor.maju, motor.pilihan_motor.motorC, 10) ElseIf joystik.tekan_tombol(joystik.tombol.bulat) = True Then
motor.gerakkan_motor(motor.pilihan_putaran_motor.mundur,
motor.pilihan_motor.motorC, 10)
Else motor.berhenti(motor.pilihan_motor.motorA)
motor.berhenti(motor.pilihan_motor.motorB)
motor.berhenti(motor.pilihan_motor.motorC)
motorA_.Value = 0 motorB_.Value = 0 End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click nxt.putus_koneksi() Timer1.Enabled = False End Sub End Class