1 | P a g einformatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-ROBOTIK.pdf · bawah air dan luar...

63
1 | P a g e

Transcript of 1 | P a g einformatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-ROBOTIK.pdf · bawah air dan luar...

1 | P a g e

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).

21 | P a g e

3.1. Building Robot

22 | P a g e

23 | P a g e

24 | P a g e

25 | P a g e

26 | P a g e

27 | P a g e

28 | P a g e

29 | P a g e

30 | P a g e

31 | P a g e

32 | P a g e

33 | P a g e

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

63 | P a g e

Gambar 5.9. : Robot Pengambil Bola Lego NXT.