Bagi para pemula di bidang robotika dan mikrokontroler , biasanya selalu bertanya :
1. Bagaimana cara memulai membuat robot ?
2. Berapa biaya yang diperlukan untuk membuat robot ?
3. Apa yang harus saya pelajari terlebih dahulu ?
4. Buku apa yang membahas lengkap mengenai robot ?
5. Bagaimana cara membuat dan mengupload program kedalam mikrokontroler ?
6. Apa itu mikrokontroler ? apa hubungannya dengan robot ?
Dan umumnya jika kita tanyakan ke forum diskusi online , jawabannya kurang memuaskan.
masih membingungkan , apalagi jika kita bukan siswa jurusan teknik elektronika atau komputer.
Saya coba urutkan hal yang mungkin wajib kita baca jika kita ingin mulai belajar tentang membuat robot.
1. Cara memulai pembuatan robot ,
Beli
komponen dasarnya dulu. Ini penting , karena pada akhirnya anda harus
praktekkan apa yang selama ini anda pelajari. Jadi tidak mungkin hanya
bertanya - tanya dan baca tutorial saja kita bisa bikin robot
Apa saja yang harus dibeli ?
Pilih
satu proyek robot , misal Robot Line Follower ( Pengikut garis ) ,
Robot penghindar rintangan ( Obstacle Avoidance ) , Robot pembaca
sensor
( suhu , tekanan udara , detektor gas ).
( suhu , tekanan udara , detektor gas ).
Cari cara pembuatannya di berbagai situs di Google. Gunakan bahasa Inggris agar mudah mendapat materinya .
Berikut Situs yang menyediakan Tutorial Robotik :
www.instructables.com
www.apcmag.com
www.letsmakerobot.com
Berikut Situs asing yang menyediakan komponen robotik :
www.banggood.com
www.ebay.com
Ebay seller yang cukup baik ( murah produknya dan paket tiba dgn sukses ) diantaranya :
alice1101983
chip_partner
e_goto
electronics_lee
sure-hifi
Pemesanan via ebay & Banggood menggunakan fasilitas Paypal dan kartu kredit Visa
Lamanya proses pengiriman dari Ebay tergantung dari negara asal pengirim dan kota
kita selaku penerima barang. Umumnya jika pesan dari seller China dan Hongkong lama
waktu pengiriman sekitar 1 bulan untuk tiba di kawasan Jabodetabek . Untuk wilayah
lain , seperti di Kalimantan , bisa sampai 3 bulan. Itu jika metodenya free shipping.
Ada opsi pengiriman via express courier tinggal kontak sellernya saja.
Jika menggunakan express courier seperti DHL , USPS bisa lebih cepat , tapi biayanya
tentu bertambah. Untuk pembelian dibawah US$ 50 tidak kena pajak , tapi hanya kena
biaya bea cukai. Biasanya berkisar Rp 5000 sd Rp 10000.
Alur belanja di Ebay :
masukkan username dan password - klik kategori - ketik nama
barang yang dicari - klik Opsi Buy it now , Free shipping - klik best match atau lowest
price - pilih barang - masukkan shopping cart jika beli banyak jenis barang -
klik Buy it now - otomatis masuk ke akun Paypal - bayar - Kartu kredit Visa Anda akan
menampilkan tagihannya nanti.
barang dikirim - akan ada surat dari kantor pos yg berisi pemberitahuan agar mengambil
paket di kantor pos yang ditentukan atau kadang barang diantar langsung ke alamat.
Jika belum ada kabar hingga 2 bulan , anda bisa tanyakan pada seller via form di Ebay.
Jika telah terkirim , berarti Anda tanyakan ke kantor pos dengan membawa nomer track
pengiriman atau jika free shipping tanpa nomer tracking pun , titipkan saja no Hp pada
petugas pos agar memberi kabar jika ada pengiriman buat Anda.
Jika meragukan barang sampai atau tidak , Anda bisa meminta uang kembali ke Ebay.
Sebelum melakukan itu sebaiknya berkomunikasi dulu dengan seller ybs.
Berikut sejumlah situs lokal penyedia komponen robotik :
www.klinikrobot.com
www.klinik_robot.com
www.iseerobot.com
www.famosa.com
www.geraicerdas.com
www.toko-embedded.com
One-electronic Tokopedia.
Para seller di Kaskus dan Group Facebook .
Setidaknya ada beberapa komponen dasar yang biasa dipakai , kita tidak perlu
membeli semuanya , karena tergantung jenis robot yang mau dibuat ini diantaranya :
DC Gearbox Motor
Servo
Dual DC motor controller
Roda dan Caster
PCB atau Breadboard
Sensor ( Sensor Ultrasonik HC-SR05 , Sensor Infrared )
LCD 16x2 line
Baterai dan rumah baterai
Sejumlah resistor , dioda , led , IC sesuai proyeknya.
Arduino boards ( Arduino Uno paling populer buat pemula )
Selain Arduino masih banyak boards atau minimum system lain yang bisa digunakan.
Tetapi karena lebih kompleks proses upload programmya , maka sementara buat pemula
boleh bermain dengan Arduino dahulu .
Bisa juga beli Kit Arduino yang sudah berisi komponen2 diatas.
Alat penunjangnya :
Adaptor
Komputer PC atau Laptop
Solder dan bahan pendukungnya.
Jika menggunakan breadboard tidak perlu solder , hanya harus punya banyak
kabel jumper sebagai sarana untuk menghubungkan komponen elektroniknya.
kabel jumper sebagai sarana untuk menghubungkan komponen elektroniknya.
2. Biayanya ?
Ada beberapa jenis board Arduino , ada yang original , clone dan palsu.
Original artinya asli dari produsennya.
Clone artinya hasil rakitan sendiri atau dari produsen lain dengan desain label berbeda
dari Arduino originalnya namun sama persis fungsinya.
Palsu artinya jiplakan dari Arduino original yang desain labelnya mirip aslinya.
Semua jenis board diatas berfungsi sama baiknya , tentu ada kelebihan lain dari
produk original , misal kualitas komponennya sesuai standar RoHs.
Kisaran harga di tahun 2015 sbb :
Arduino Uno original harganya Rp 299 ribu
Arduino Uno clone harganya bisa sampai Rp 185 ribu
Arduino Uno palsu harganya bisa sampai Rp120 ribu.
Dalam membeli Arduino clone ada yg menyertakan kabel USBnya dan ada yang tidak.
Jadi tanyakan dulu pada Seller/Penjualnya.
DC Double Gearbox motor Tamiya Rp 130 ribu
DC Gearbox motor plastik yang kuning Rp 35 ribu
Sensor Ultrasonik HC - SR05 harganya Rp 25 ribu.
Micro servo dari harga Rp 30 ribu
Roda harga bervariasi dari harga Rp 30 ribu
Belanja Komponen Online di situs lokal dan luar negeri
Jika beli di situs online lokal , ditambah ongkos kirim tapi cepat sampai.
Jika beli di situs Ebay / Banggood , bisa free shipping dan harga bisa lebih murah ,
tapi free shipping lama pengirimannya bisa sampai 3 bulan.
Coba saja buka situs Ebay , saat ini bahkan harganya jauh lebih murah.
ada Arduino Nano V3 clone/palsu hanya seharga $ 2.99 ! atau sekitar Rp 36.000 saja.
Uniknya jika kita beli hanya sebuah pun , mereka tetap kirim ke alamat kita.
Hanya saja lebih baik kita membeli beberapa item dari satu Seller agar kepastian
pengiriman barangnya lebih terjamin.
Cuma ya itu , pegel nunggunya 3 bulan....
Kebijakan baru ttg pengiriman paket dari China telah membuat prosedurnya lebih lama.
Padahal penyedia komponen di Ebay rata2 seller dari China.
Jadi terserah , mau komponen super murah tapi nunggu lama , atau mahal dikit
tapi langsung dapet. ( Sebetulnya beda harganya jauh banget sih )
Mahal ngga ? ya mahal banget kalo cuma lihat fisik robotnya , dengan uang segitu
bisa beli mainan RC Tank atau mobil RC yang jauh lebih keren kan ?
Tapi jika kita menguasai pemrograman robot , mau bikin model robot apa saja ,
bisa , bahkan jadi modal pengetahuan untuk karir di masa depan juga bisa !
3. Yang harus dipelajari ?
Pengenalan terhadap Microcontroler dan komponen elektronika.
Pengenalan Pemrograman / Bahasa Pemrograman.
Pengetahuan dasar komputer.
Bahasa Inggris.
4.Buku tentang Robot ?
Banyak , tapi tak ada yang membahas secara keseluruhan secara detail.
Karena robotika terdiri dari banyak disiplin ilmu.
Cara belajar sketch Arduino bisa dengan mengubah variabel dari contoh yang sudah ada.
Jadi kita harus banyak searching di Google , baca tutorial , gabung grup robot di facebook
baca buku2 tentang programming , pengen cepat ya kursus atau bahkan kuliah lebih baik.
Untuk Arduino anda cukup buka situs resmi Arduino.cc saja , langsung ngerti deh.
Bagi para pemula , sebaiknya ketahui dahulu ikhtisar bukunya , seringkali judul buku tidak
sesuai dengan harapan kita. Banyak judul menarik , tapi pastikan sesuai dengan kebutuhan
Kadang kita ingin buku berisi praktek pembuatan robot , setelah dibuka
ternyata lebih banyak pembahasan teori dasar komponen
elektronika.
Empat cover buku diatas nampaknya bagus bagi pemula Arduino.
Soalnya tidak mudah cari buku semacam itu dalam bahasa Indonesia.
Buku itu dijual di Toko buku Gramedia.
Soalnya tidak mudah cari buku semacam itu dalam bahasa Indonesia.
Buku itu dijual di Toko buku Gramedia.
5.Apakah Mikrokontroler itu ?
Secara gambaran awam sebagai berikut ,
Mikrokontroler berbentuk seperti IC ( Integrated Circuit ) namun memiliki RAM , ROM
CPU ( Central Processing Unit ), Clock , ADC ( Analog to Digital Converter ) dan
Port I/O ( Input Output ) sekaligus didalamnya.
Fungsinya tentu sebagai pusat pengolah data , sebagai otak dari sebuah robot.
Program yang kita masukkan kedalam Mikrokontroler akan menentukan cara kerja robot
tersebut. Berbagai sensor dapat terhubung ke input mikrokontroler
demikian pula aktuator seperti misalnya motor listrik , lampu LED dsb
akan mendapat output sinyal dari mikrokontroler tsb.
demikian pula aktuator seperti misalnya motor listrik , lampu LED dsb
akan mendapat output sinyal dari mikrokontroler tsb.
Jenis Mikrokontroler
Diantaranya seri yg cukup populer al : AVR , Atmel MCS-51 , PIC & ARM .
Nama perusahaan pembuat mikrokontroler al :
Atmel , Freescale Semiconductor , Intel , Holtek , Microchip , NEC , Texas Instrument
Xilinx , Philips Semiconductors , STmicroelectronics ( wikipedia ).
Mikrokontroler tidak dapat berdiri sendiri tanpa bantuan komponen pendukung lain
seperti resistor , kristal & kapasitor , dia pun membutuhkan power supply dan komponen
input/output seperti sensor , layar display LCD , servo dsb , sesuai tujuan proyeknya.
Rangkaian pendukung mikrokontroler ini biasa disebut minimum system board / minsys.
Mikrokontroler bisa diprogram secara langsung maupun tidak langsung.
Secara langsung ,
Artinya program yang ditulis di layar IDE / komputer langsung ditanamkan pada
mikrokontroler via alat downloader.
( misal alat USBASP atau alat lain spt Arduino board as ISP )
( misal alat USBASP atau alat lain spt Arduino board as ISP )
tentu dengan bantuan minimum system board.
Biasanya menggunakan bahasa pemrograman seperti Assembly , Bahasa C.
Secara tidak langsung ,
Artinya , program yang ditulis di layar IDE / komputer ditanamkan pada mikro
kontroler via board pendukung dan bantuan Bootloader.
( misal chip ATmega328 ditanamkan software bootloader Arduino )
dan diberi rangkaian minimum system yang sesuai /board Arduino.
( misal chip ATmega328 ditanamkan software bootloader Arduino )
dan diberi rangkaian minimum system yang sesuai /board Arduino.
Biasanya menggunakan bahasa pemrograman tingkat tinggi
yg telah dipermudah pemakaiannya. Bahasa pemrograman tingkat tinggi memerlukan
baris perintah program yang lebih singkat dibanding bahasa Assembly / Bahasa Mesin.
yg telah dipermudah pemakaiannya. Bahasa pemrograman tingkat tinggi memerlukan
baris perintah program yang lebih singkat dibanding bahasa Assembly / Bahasa Mesin.
Arduino adalah contoh bahasa tingkat tinggi yang mirip bahasa pemrograman C# .
Ada banyak jenis mikrokontroler dan minimum system yang menjadi pendukungnya.
Misal :
Mikrokontroler ATMega 328 dan Arduino board nya
MSP430G2553 dan Launchpad nya
AT89C2051 dan downloadernya.
6.Cara memasukkan program kedalam Mikrokontroler
Masing masing pasangan mikrokontroler dengan minimum systemnya memiliki cara
pemrograman yang berbeda.
Intinya Komputer PC harus memiliki software programming
atau disebut juga Integrated Development Environment ( IDE )yaitu tempat kita menulis
program menggunakan bahasa pemrograman , menggabungkan program , compiling
process , dan kemudian mengirimkannya kedalam mikrokontroler yang melekat pada
minimum system / board tadi melalui kabel USB atau kabel serial ( DB9 ) atau kabel
paralel ( contoh kabel printer ).
Tampilan Arduino IDE di layar PC
Tampilan IAR embedded workbench IDE untuk MSP430
Tampilan AVR Studio 4 untuk mikrokontroler Atmel
Penulisan program pada IDE diatas menggunakan 'Bahasa Program'
Ada banyak bahasa program , silakan saja baca di Wikipedia.
Diantaranya Bahasa Assembler , bahasa C , C++ , C# , Pascal dsb.
Menulis program sering diistilahkan ' coding ' yaitu menyusun code bahasa program.
Biasanya orang memiliki kesukaan yang berbeda dalam memilih bahasa program.
Artinya , ada yg menyukai Assembly , C maupun C# . Jarang yg menguasai banyak bahasa
pemrograman sekaligus. Jadi tergantung kebiasaan pengguna bahasanya saja.
Masing masing bahasa program memiliki kelebihan dan kekurangan.
Untuk bahasa Assembly misalnya irit space di memorynya , tapi panjang
programnya , Maklum bahasa Assembly ( bhs mesin ) ini bahasa
low level yg membutuhkan kejelian
bagi penggunanya.
bagi penggunanya.
Untuk Bahasa C relatif lebih singkat penulisan programnya , tapi memakan space memory
lebih besar pada memory di mikrokontroler.
Mudah dan sulitnya sih tergantung kebiasaan masing masing pengguna.
MSP430 dan IDE nya menggunakan bahasa C dalam programnya .
Arduino menggunakan Processing & Wiring yang merupakan turunan bahasa C / mirip C#
Rangkaian program / code dalam Arduino disebut Sketch.
Namun ada juga IDE Energia yang bisa ditulis menggunakan Sketch dan diupload
ke MSP430.
Istilah upload berarti memindahkan program yang kita tulis dan telah dikompilasi
pada IDE di PC kedalam mikrokontroler kita .
Mikrokontroler yang akan diisi program tadi disebut sebagai 'Target'
Upload juga diistilahkan sebagai ' Burn / Burning program '.
Tetapi istilah Burning program dipakai pada keadaan dimana program dimasukkan
kedalam chip target secara langsung tanpa bantuan ' Bootloader ' seperti di Arduino.
( Bootloader adl semacam program kecil yg ditanamkan pada chip target sbg alat bantu
dalam proses uploading program dari IDE di pc ).
Ketika selesai menulis program di IDE , program tersebut akan diproses dalam
software IDE , dikaitkan antara Library & Object dsb kemudian diubah formatnya jadi
file Hex. Setelah itu barulah diupload kedalam mikrokontroler.
Pada umumnya untuk mikrokontroler selain Arduino diprogram menggunakan IDE
dan Compiler yang terpisah. Seperti MSP430 menggunakan IDE dan Compiler terpisah.
Pada Arduino IDE , compiler dsb sudah termasuk dalam satu software.
Pada system lain , misal BASCOM , setelah menuliskan program dalam bahasa Basic pada
layar IDE nya kita akan gunakan software lain ( misal Sinaprog ),
untuk mengkompilasi dan mengubahnya dalam kode mesin
yang dapat dipahami mikrokontroler.
untuk mengkompilasi dan mengubahnya dalam kode mesin
yang dapat dipahami mikrokontroler.
Mikrokontroler yang telah diisi program selanjutnya bisa tetap di board atau bisa juga
dicabut / dipindahkan pada rangkaian robot yang akan dibuat
Untuk Arduino , biasanya mikrokontroler ATMega 328 tetap dibiarkan melekat pada
boardnya , jadi robot akan membawa Arduino board nya kemana mana.
Arduino Board memiliki rangkaian minimum system yang mampu
menerima hasil kompilasiIDE sekaligus memasukkannya pada
ATMega chip yang jadi otaknya.
menerima hasil kompilasiIDE sekaligus memasukkannya pada
ATMega chip yang jadi otaknya.
Kemudian ATMega chip menjalankan program melibatkan segala macam sensor
( misal : Sensor suhu ) & aktuator ( misal DC Motor , Servo , LED )
yang terhubung pada Arduino boardnya.
Tapi jika ingin banyak membuat robot , kita bisa mengkloning Arduino pada mikro
kontroler ATMega 328 lain yang masih kosong ( belum ada bootloadernya ).
Bootloader adalah software yang diburn / ditanamkan pada memory flash
mikrokontroler dan berfungsi seperti sistem operasi yang membantu masuknya program
melalui jalur komunikasi Tx/Rx ke memory flash dalam mikon tersebut.
ATMega 328 yang kosong , setelah diisi bootloader Arduino
menggunakan alat spt USBASP downloader , barulah disebut Arduino.
Sedangkan untuk mikrokontroler dalam keadaan kosong tanpa bootloader ,
umumnya diprogram menggunakan IDE dan Compiler yang terpisah.
Seperti MSP430 menggunakan IDE dan Compiler terpisah.
Tidak ada yang sulit , hanya saja untuk pemula , Arduino nampak simple.
Kalau tiap Papan pengembang ( Development boards ) macam MSP430 , Arduino
memiliki banyak tutorial berbahasa Indonesia , mungkin tak ada yang sulit.
Dan tetap saja Bahasa C lebih luas jangkauannya dalam bidang pemrograman ,
dibanding bahasa pada Arduino , karena bahasa C ibarat induknya.
Kalau Arduino , IDE dan Compilernya menyatu dalam satu software.
Hanya saja penggunaan bootloader akan memakan ruang memori pada
mikrokontroler itu , meski tidak banyak.
7.Membuat robot tidak harus menggunakan Mikrokontroler.
Bisa juga membuat robot sederhana menggunakan komponen elektronika dasar dan IC
Sumber : Seattle Robotics
Misalnya pada BEAM Robot nya Mark Tilden.
BEAM singkatan dari Biology , Electronics , Aesthetics and Mechanics .
Mottonya " Keep It Simple " menggunakan komponen sedikit mungkin .
Biasanya terdiri dari dua motor DC ukuran kecil , LDR , Transistor , resistor ,kapasitor
dioda , saklar dan sebuah sel surya atau baterai jam.
Robot ini dapat dibuat agar mengikuti cahaya , atau menjauhi cahaya , atau menghindari
halangan menggunakan " Bump sensor " artinya jika menabrak sesuatu , saklarnya akan
terhubung. Komponen pendukungnya sederhana , dari bahan kawat dan bahan bekas.
BEAM robot berbeda dengan Robot yang memiliki mikrokontroler , karena berisi
program yang kompleks , sehingga robot dengan mikrokontroler sering disebut sebagai
Robot cerdas.Banyaknya percabangan pada program konon menentukan tingkat kecer
dasan robot.
Mulailah dengan searching Google menggunakan kata kunci berbahasa Inggris , entah
kenapa banyak yang menganggap para pemula robotika malas searching di Google ,
saya mengira penyebabnya adalah skill berbahasa Inggris yang minim dan pemilihan kata
kunci yang kurang tepat. Pemilihan kata kunci dengan bahasa Inggris akan mempercepat
pencarian topik. Lain halnya jika menggunakan bahasa Indonesia. Mungkin karena Google
bukan buatan Indonesia , ya jadinya seperti itu.
Programming is already hard enough , so putting effort in understanding what is meant
should be avoided. Itu sebabnya terjemahan proyek robotik perlu mendapat dukungan.
Bayangkan saja seperti belajar cara menyanyikan tembang Jawa dari keping kepingan
prasasti dan manuskrip Jawa kuno. (^_^).