#1 Mengenal arduino

Sebelum membahas apa itu arduino kita awali dengan mikrokontroler, macam-macam mikrokontroler kemudian software dan bahasa pemorgaman. Mikrokontroler adalah komputer kecil yang dikemas dalam sebuah IC(Integrated Circuit). Mikrokontroler adalah sebuah komputer kecil yang dikemas dalam bentuk chip IC (Integrated Circuit) dan dirancang untuk melakukan tugas atau operasi tertentu. Pada dasarnya, sebuah IC Mikrokontroler terdiri dari satu atau lebih Inti Prosesor (CPU), Memori (RAM dan ROM) serta perangkat INPUT dan OUTPUT yang dapat diprogram.

Aplikasi Mikrokontroler

Dalam pengaplikasiannya, Pengendali Mikro yang dalam bahasa Inggris disebut dengan Microcontroller ini digunakan dalam produk ataupun perangkat yang dikendalikan secara otomatis seperti sistem kontrol mesin mobil, perangkat medis, pengendali jarak jauh, mesin, peralatan listrik, mainan, kalkulator, jam, robot dan perangkat-perangkat yang menggunakan sistem tertanam lainnya.

Macam IC Mikrokontroler

Ada beberapa jenis keluarga mikrokontroler yang dikenal luas dan banyak digunakan untuk keperluan pendidikan, penelitian dan juga industri. Contohnya adalah :


AVR

Mikrokonktroler Alv and Vegard’s Risc processor atau sering disingkat AVR merupakan mikrokonktroler RISC 8 bit. Karena RISC inilah sebagian besar kode instruksinya dikemas dalam satu siklus clock. AVR adalah jenis mikrokontroler yang paling sering dipakai dalam bidang elektronika dan instrumentasi.

Secara umum, AVR dapat dikelompokkan dalam 4 kelas. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral dan fungsinya. Keempat kelas tersebut adalah keluarga ATTiny, keluarga AT90Sxx, keluarga ATMega dan AT86RFxx. ATMega 328 dan ATMega 2560 adalah seri mikrokontroler atmel yang sering digunakan dalam arduino


MCS-51

Mikrokonktroler ini termasuk dalam keluarga mikrokonktroler CISC. Sebagian besar instruksinya dieksekusi dalam 12 siklus clock. Mikrokontroler ini berdasarkan arsitektur Harvard dan meskipun awalnya dirancang untuk aplikasi mikrokontroler chip tunggal, sebuah mode perluasan telah mengizinkan sebuah ROM luar 64KB dan RAM luar 64KB diberikan alamat dengan cara jalur pemilihan chip yang terpisah untuk akses program dan memori data.

Salah satu kemampuan dari mikrokontroler 8051 adalah pemasukan sebuah mesin pemroses boolean yang mengijikan operasi logika boolean tingkatan-bit dapat dilakukan secara langsung dan secara efisien dalam register internal dan RAM. Karena itulah MCS51 digunakan dalam rancangan awal PLC (programmable Logic Control).


PIC

Pada awalnya, PIC merupakan kependekan dari Programmable Interface Controller. Tetapi pada perkembangannya berubah menjadi Programmable Intelligent Computer. PIC termasuk keluarga mikrokonktroler berarsitektur Harvard yang dibuat oleh Microchip Technology. Awalnya dikembangkan oleh Divisi Mikroelektronik General Instruments dengan nama PIC1640. Sekarang Microhip telah mengumumkan pembuatan PIC-nya yang keenam.


ARM

ARM adalah prosesor dengan arsitektur set instruksi 32­bit RISC (Reduced Instruction Set Computer) yang dikembangkan oleh ARM Holdings. ARM merupakan singkatan dari Advanced RISC Machine (sebelumnya lebih dikenal dengan kepanjangan Acorn RISC Machine). Pada awalnya ARM prosesor dikembangkan untuk PC (Personal Computer) oleh Acorn Computers, sebelum dominasi Intel x86 prosesor­ Microsoft di IBM PC

Software dan Bahasa Mikrokontroler

kalian tau program yang ada di komputer? sering menggunakannya? kita yang awam tentang dunia programmer tentu asing dengan bahasa-bahasa pemrograman, kita hanya terbiasa menggunakannya saja. Ada banyak sekali bahasa pemrograman yang ada di dunia ini, dan dari sekian banyaknya Bahasa pemrograman yang ada ternyata mempunyai tingkatan atau level masing-masing.

Penasaran dengan penejelasannya? lanjut disimak ya gan bacanya..


Bahasa Pemrograman / Bahasa Komputer adalah instruksi standar untuk memerintah komputer, yang merupakan suatu himpunan dari aturan sintaks dan semantik. seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data disimpan dan jenis langkah apa yang akan diambil dalam berbagai situasi.

Tingkatan Bahasa Pemrograman

  • Bahasa Tingkat Tinggi - Bahasa pemrograman masuk tingkat ini karena bahasa tersebut mendekati bahasa manusia. Contohnya seperti Bahasa Basic, Visual Basic, Pascal, Java, dan lainnya.

  • Bahasa Tingkat Menengah - Disebut tingkat menengah karena bisa masuk ke dalam bahasa tingkat tinggi maupun rendah. Contohnya seperti Bahasa C.

  • Bahasa Tingkat Rendah - Bahasa pemrograman tingkat ini karena bahasanya masih jauh dari bahasa manusia. Contohnya bahasa Assembly

  • Bahasa Mesin - Bahasa yang digunakan didalam prosessor. bahasa inilah yang sebenarnya dijalankan diberbagai perangkat elektronik misal calculator, smart TV, HP bahkan Komputer. Awalnya programer(orang yang membuat program) membuat program misalnya menggunakan bahasa menegah yaitu Bahasa C, kemudian dari program yang telah dibuat tersebut di terjemahkan menjadi bahasa mesin. Setelah menjadi bahasa mesin baru dimasukkan kedalam perangkat yang akan digunakan.

Setelah Mengetahui Tingkatan dari Bahasa Pemrograman, sekarang kita baca Macam-Macam Bahasa Pemrograman. Bahasa Pemrograman ini sering dipakai oleh programmer sekarang.


Macam-Macam Bahasa Pemrograman

1. Bahasa pemrograman C

Dibuat untuk memprogram sistem dan jaringan komputer namun bahasa ini juga sering digunakan dalam mengembangkan software aplikasi.

C juga banyak dipakai oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan terdapat beberepa compiler yang sangat populer telah tersedia.


2. Bahasa pemograman JAVA

Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Java tidak boleh disalahpahami sebagai JavaScript.


3. Bahasa pemograman MICROSOFT VISUAL BASIC

Visual Basic (sering disingkat sebagai VB saja) merupakan sebuah bahasa pemrograman yang menawarkan Integrated Development Environment (IDE) visual untuk membuat program perangkat lunak berbasis sistem operasi Microsoft Windows dengan menggunakan model pemrograman (COM), Visual Basic merupakan turunan bahasa pemrograman BASIC dan menawarkan pengembangan perangkat lunak komputerberbasis grafik dengan cepat.


4. Bahasa pemograman VISUAL C++

Visual C++ adalah sebuah produk Integrated Development Environment (IDE) untukbahasa pemrograman C dan C++ yang dikembangkan Microsoft.


5. Bahasa pemograman Arduino

Bahasa pemrograman Arduino pada dasarnya menggunakan bahasa pemograman C. Bahasa C sendiri merupakan bahasa tingkat yang sangat populer dan banyak digunakan oleh para programmer. Dengan demikian aturan penulisan dan penggunaan dari bahasa Arduino akan sama dengan bahasa C.

Arduino

Arduino adalah pengendali mikro single-board yang bersifat sumber terbuka, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Perangkat kerasnya memiliki prosesor Atmel AVR dan softwarenya memiliki bahasa pemrograman sendiri.

Arduino juga merupakan senarai perangkat keras terbuka yang ditujukan kepada siapa saja yang ingin membuat purwarupa peralatan elektronik interaktif berdasarkan hardware dan software yang fleksibel dan mudah digunakan. Mikrokontroler diprogram menggunakan bahasa pemrograman arduino yang memiliki kemiripan syntax dengan bahasa pemrograman C. Karena sifatnya yang terbuka maka siapa saja dapat mengunduh skema hardware arduino dan membangunnya.

Arduino menggunakan keluarga mikrokontroler ATMega yang dirilis oleh Atmel sebagai basis, namun ada individu/perusahaan yang membuat clone arduino dengan menggunakan mikrokontroler lain dan tetap kompatibel dengan arduino pada level hardware. Untuk fleksibilitas, program dimasukkan melalui bootloader meskipun ada opsi untuk mem-bypass bootloader dan menggunakan pengunduh untuk memprogram mikrokontroler secara langsung melalui port ISP.

Semuanya berawal dari sebuah thesis yang dibuat oleh Hernando Barragan, di Institute Ivrea, Italia pada tahun 2005, dikembangkan oleh Massimo Banzi dan David Cuartielles dan diberi nama Arduin of Ivrea. Lalu diganti nama menjadi Arduino yang dalam bahasa Italia berarti teman yang berani.

Tujuan awal dibuat Arduino adalah untuk membuat perangkat mudah dan murah, dari perangkat yang ada saat itu. Dan perangkat tersebut ditujukan untuk para siswa yang akan membuat perangkat desain dan interaksi.

Saat ini tim pengembangnya adalah Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, David Mellis, dan Nicholas Zambetti. Mereka mengupayakan 4 hal dalam Arduino ini, yaitu:

  1. Harga terjangkau

  2. Dapat dijalankan diberbagai sistem operasi, Windows, Linux, Mac, dan sebagainya.

  3. Sederhana, dengan bahasa pemograman yang mudah bisa dipelajari orang awam, bukan untuk orang teknik saja.

  4. Open Source, hardware maupun software.

Sifat Arduino yang Open Source, membuat Arduino berkembang sangat cepat. Sehingga banyak lahir perangkat-perangkat sejenis Arduino. Seperti DFRDuino atau Freeduino, sedangkan untuk lokal ada CipaDuino yang dibuat oleh SKIR70, lalu ada MurmerDuino yang dibuat oleh Robot Unyil, ada lagi AViShaDuino yang salah satu pembuatnya adalah Admin Kelas Robot.

Sampai saat ini pihak resmi, sudah membuat berbagai jenis-jenis Arduino. Mulai dari yang paling mudah dicari dan paling banyak digunakan, yaitu Arduino Uno. Hingga Arduino yang sudah menggunakan ARM Cortex, berbentuk Mini PC. Hingga saat ini sudah ada ratusan ribu Arduino yang digunakan di dunia sejak tahun 2011. Arduino juga sudah dipakai oleh perusahaan-perusahaan besar, contohnya Google menggunakan Arduino untuk Accessory Development Kit, NASA memakai Arduino untuk prototypin, ada lagi Large Hadron Colider memakai Arduino dalam beberapa hal untuk pengumpulan data.

Banyak yang bertanya Arduino ini sebenarnya menggunakan bahasa pemprograman apa? Arduino sebenarnya menggunakan bahasa C, yang sudah disederhanakan. Sehingga orang awam pun bisa menjadi seniman digital, bisa mempelajari Arduino dengan mudahnya.

Seperti Microcontroller yang banyak jenisnya, Arduino lahir dan berkembang, kemudian muncul dengan berbagai jenis. Diantaranya adalah:

a. Arduino Uno

Jenis yang ini adalah yang paling banyak digunakan. Terutama untuk pemula sangat disarankan untuk menggunakan Arduino Uno. Banyak sekali referensi yang membahas Arduino Uno. Versi yang terakhir adalah Arduino Uno R3 (Revisi 3), menggunakan ATMEGA328 sebagai Microcontrollernya, memiliki 14 pin I/O digital dan 6 pin input analog. Untuk pemprograman cukup menggunakan koneksi USB type A to To type B. Sama seperti yang digunakan pada USB printer.

b. Arduino Due

Berbeda dengan saudaranya, Arduino Due tidak menggunakan ATMEGA, melainkan dengan chip yang lebih tinggi ARM Cortex CPU. Memiliki 54 I/O pin digital dan 12 pin input analog. Untuk pemprogramannya menggunakan Micro USB, terdapat pada beberapa handphone.

c. Arduino Mega

Mirip dengan Arduino Uno, sama-sama menggunakan USB type A to B untuk pemprogramannya. Tetapi Arduino Mega, menggunakan Chip yang lebih tinggi ATMEGA2560. Dan tentu saja untuk Pin I/O Digital dan pin input Analognya lebih banyak dari Uno.

d. Arduino Leonardo.

Bisa dibilang Leonardo adalah saudara kembar dari Uno. Dari mulai jumlah pin I/O digital dan pin input Analognya sama. Hanya pada Leonardo menggunakan Micro USB untuk pemprogramannya.

e. Arduino Fio

Bentuknya lebih unik, terutama untuk socketnya. Walau jumlah pin I/O digital dan input analognya sama dengan uno dan leonardo, tapi Fio memiliki Socket XBee. XBee membuat Fio dapat dipakai untuk keperluan projek yang berhubungan dengan wireless.

f. Arduino Lilypad

Bentuknya yang melingkar membuat Lilypad dapat dipakai untuk membuat projek unik. Seperti membuat amor iron man misalkan. Hanya versi lamanya menggunakan ATMEGA168, tapi masih cukup untuk membuat satu projek keren. Dengan 14 pin I/O digital, dan 6 pin input analognya.

g. Arduino Nano

Sepertinya namanya, Nano yang berukulan kecil dan sangat sederhana ini, menyimpan banyak fasilitas. Sudah dilengkapi dengan FTDI untuk pemograman lewat Micro USB. 14 Pin I/O Digital, dan 8 Pin input Analog (lebih banyak dari Uno). Dan ada yang menggunakan ATMEGA168, atau ATMEGA328.

h. Arduino Mini

Fasilitasnya sama dengan yang dimiliki Nano. Hanya tidak dilengkapi dengan Micro USB untuk pemograman. Dan ukurannya hanya 30 mm x 18 mm saja.

i. Arduino Micro

Ukurannya lebih panjang dari Nano dan Mini. Karena memang fasilitasnya lebih banyak yaitu; memiliki 20 pin I/O digital dan 12 pin input analog.

j. Arduino Ethernet

Ini arduino yang sudah dilengkapi dengan fasilitas ethernet. Membuat Arduino kamu dapat berhubungan melalui jaringan LAN pada komputer. Untuk fasilitas pada Pin I/O Digital dan Input Analognya sama dengan Uno.

k. Arduino Esplora

Rekomendasi bagi kamu yang mau membuat gadget sepeti Smartphone, karena sudah dilengkapi dengan Joystick, button, dan sebagainya. Kamu hanya perlu tambahkan LCD, untuk lebih mempercantik Esplora.

l. Arduino Robot

Ini adalah paket komplet dari Arduino yang sudah berbentuk robot. Sudah dilengkapi dengan LCD, Speaker, Roda, Sensor Infrared, dan semua yang kamu butuhkan untuk robot sudah ada pada Arduino ini.