Anda di halaman 1dari 63

1|Page

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 :

2|Page
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.

3|Page
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.

4|Page
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.

5|Page
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
penyakit
penderita 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.

6|Page
 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

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

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

9|Page
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.

10 | 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.
Gambar 2.2. Sensor 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 :

11 | P a g e
Perbandingan Pengukuran Pada NXT Dengan Penggaris
25

20

15

10

0
10cm 15cm 20cm
Penggaris Penggaris Penggaris

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 (%)

12 | P a g e
dB dBA
Diam 2 1
Suara 32 25
Tepuk Tangan 25 20
Tabel Pengukuran Intensitas :
35

30

25

20
dB
15 dBA

10

0
Diam Suara Tepuk Tangan

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

13 | 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
Percobaan Merah
Jarak 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

14 | P a g e
Percobaan Hijau
Jarak 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
Percobaan Biru
Jarak 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
Percobaan Merah
Jarak Rata-rata (%)
Percobaan 1 (%) Percobaan 2 (%)

1 cm 55 52 53,5

2 cm 44 43 43,5

3 cm 39 37 38

15 | P a g e
 Hijau
Percobaan Hijau
Jarak Rata-rata (%)
Percobaan 1 (%) Percobaan 2 (%)

1 cm 44 41 42,5

2 cm 36 34 35

3 cm 33 31 32

 Biru
Percobaan Biru
Jarak 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
30
25
20
Percobaan 1
15
Percobaan 2
10
Rata - Rata
5
0
1 cm 2 cm 3 cm

16 | P a g e
 Hijau
30
25
20
Percobaan 1
15
Percobaan 2
10
Rata - Rata
5
0
1 cm 2 cm 3 cm

 Biru
24
23
22
Percobaan 1
21
Percobaan 2
20
Rata - Rata
19
18
1 cm 2 cm 3 cm

Grafik Pengukuran Intensitas dengan Metode Reflected :

 Merah
60
50
40
Percobaan 1
30
Percobaan 2
20
Rata-rata
10
0
1 cm 2 cm 3 cm

 Hijau

17 | P a g e
50
40
30 Percobaan 1

20 Percobaan 2

10 Rata-rata

0
1 cm 2 cm 3 cm

 Biru
50
40
30 Percobaan 1

20 Percobaan 2

10 Rata-rata

0
1 cm 2 cm 3 cm

2.2.4. Sensor Touch (Sentuh)

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.

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

19 | 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

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

Gambar 2.7. : Instalasi Motor pada NXT Brick.

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

Gambar 2.8. : Instalasi Sensor pada NXT Brick.


BAB 3
Installasi dan Perancangan Lego Mindstorms Robot

20 | P a g e
3.1. Building Robot

21 | P a g e
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
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.

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

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

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

37 | 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

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

39 | 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

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

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

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

43 | 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

44 | 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 :


45 | 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

46 | 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

47 | 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






48 | 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
SetSensorTouch("port"); //Setting sensor touch Sensor
SetSensor("port", SENSOR_TOUCH); //Setting sensor touch Touch
SetSensorType("port", SENSOR_TYPE_TOUCH);
Sensor("port"); //Baca Sensor

//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

49 | 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

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

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

52 | 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”

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

54 | 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”.

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

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

57 | 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

58 | 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

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

60 | 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

61 | 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

62 | P a g e
Gambar 5.9. : Robot Pengambil Bola Lego NXT.

63 | P a g e

Anda mungkin juga menyukai