Senin, 08 Agustus 2022

Belajar Program Arduino sederhana

 

Sejarah Singkat

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 SENTSOR Uno Plus yang dibuat oleh SENTSOR Electronics Indonesia, CipaDuino yang dibuat oleh SKIR70, 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.

Salah satu komponen dari arduino (yakni text-editor) dibangun menggunakan Java. Hal ini mengakibatkan banyak yang mengira bahasa arduino adalah bahasa baru turunan dari Java. Arduino sebenarnya menggunakan bahasa C / C++, dengan compiler avr-gcc yang sama dengan yang dipakai pada avr-studio. Aturan proses kompilasi sudah disediakan oleh aplikasi Arduino, dimana berkas kode utama dengan ekstensi ino akan hubungkan dengan berkas-berkas lain. Telah disediakan pula rutin utama C++ (fungsi main) yang memanggil fungsi setup dan loop dari file kode utama berekstensi ino. Kombinasi pustaka Arduino dengan aturan kompilasi (Makefile avr-gcc) ini memudahkan siapa saja menggunakan Arduino tanpa harus faham tentang C++. Sehingga orang awam pun bisa menjadi seniman digital, bisa mempelajari Arduino dengan mudahnya. Plugin yang disediakan pada software Arduino memungkinkan komunitas untuk menambahkan bermacam compiler lain selain avr-gcc, bahkan dukungan untuk prosesor lain selain Atmel AVR.

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.

Jenis-Jenis Arduino

 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. Namun banyaknya pin I/O digital, pin input Analog, dan input output PWM berbeda dari Arduino Uno. Hal ini dikarenakan Arduino Leonardo menggunakan microcontroller ATmega32u4.

ATMega32u4 ini telah memiliki fitur komunikasi USB yang terintegrasi, sehingga pada Arduino Leonardo tidak memerlukan tambahan microcontroller pengatur komunikasi USB ke TTL Serial seperti yang terdapat pada board Arduino Uno yang menggunakan tambahan ATMEGA16U2 disamping ATMEGA328P [5]. Dengan ATMega32u4, memungkinkan Arduino Leonardo untuk berkomunikasi sebagai Keyboard/Mouse dengan protokol USB-HID menggunakan pustaka Keyboard [6].

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

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.

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.

Platform Arduino telah menjadi sangat populer di kalangan orang-orang yang baru memulai dengan elektronik, dan untuk alasan yang baik. Tidak seperti kebanyakan papan sirkuit yang dapat diprogram sebelumnya, Arduino tidak memerlukan perangkat keras terpisah (disebut programmer) untuk memuat kode baru ke papan - Anda cukup menggunakan kabel USB. Selain itu, Arduino IDE menggunakan versi yang disederhanakan dari C ++, membuatnya lebih mudah untuk belajar memprogram. Akhirnya, Arduino memberikan faktor bentuk standar yang memecah fungsi mikrokontroler menjadi paket yang lebih mudah diakses.

Arduino Uno adalah salah satu papan yang lebih sering digunakan Arduino dan pilihan yang bagus untuk pemula. Arduino adalah alat yang hebat untuk orang-orang dari semua tingkat keahlian. Namun, Anda akan memiliki waktu yang jauh lebih baik belajar bersama Arduino Anda jika Anda memahami beberapa dasar elektronik dasar sebelumnya

Apa Fungsi dari Arduino ??

Perangkat keras dan perangkat lunak Arduino dirancang untuk seniman, perancang, penggemar, peretas, pemula, dan siapa pun yang tertarik untuk membuat objek atau lingkungan interaktif. Arduino dapat berinteraksi dengan tombol, LED, motor, speaker, unit GPS, kamera, internet, dan bahkan ponsel pintar atau TV Anda! Fleksibilitas ini dikombinasikan dengan fakta bahwa perangkat lunak Arduino gratis, papan perangkat kerasnya cukup murah, dan perangkat lunak maupun perangkat kerasnya mudah dipelajari telah menyebabkan komunitas besar pengguna yang telah berkontribusi kode dan mengeluarkan instruksi untuk berbagai macam Proyek berbasis Arduino
 

Kelebihan

Murah – 

Papan (perangkat keras) Arduino biasanya dijual relatif murah (antara 125ribu hingga 400ribuan rupiah saja) dibandingkan dengan platform mikrokontroler pro lainnya. Jika ingin lebih murah lagi, tentu bisa dibuat sendiri dan itu sangat mungkin sekali karena semua sumber daya untuk membuat sendiri Arduino tersedia lengkap di website Arduino bahkan di website-website komunitas Arduino lainnya. Tidak hanya cocok untuk Windows, namun juga cocok bekerja di Linux.

Sederhana dan mudah pemrogramannya –  

Perlu diketahui bahwa lingkungan pemrograman di Arduino mudah digunakan untuk pemula, dan cukup fleksibel bagi mereka yang sudah tingkat lanjut. Untuk guru/dosen, Arduino berbasis pada lingkungan pemrograman Processing, sehingga jika mahasiswa atau murid-murid terbiasa menggunakan Processing tentu saja akan mudah menggunakan Arduino.

Perangkat lunaknya Open Source – 

Perangkat lunak Arduino IDE dipublikasikan sebagai Open Source, tersedia bagi para pemrogram berpengalaman untuk pengembangan lebih lanjut. Bahasanya bisa dikembangkan lebih lanjut melalui pustaka-pustaka C++ yang beihrbasis pada Bahasa C untuk AVR.

Arduino berbasis mikrokontroler ATMEGA8, ATMEGA168, ATMEGA328 dan ATMEGA1280 (yang terbaru ATMEGA2560). Dengan demikian siapa saja bisa membuatnya (dan kemudian bisa menjualnya) perangkat keras Arduino ini, apalagi bootloader tersedia langsung dari perangkat lunak Arduino IDE-nya. Bisa juga menggunakan breadoard untuk membuat perangkat Arduino beserta periferal-periferal lain yang dibutuhkan.

Kekurangan Arduino

Saat ini, pihak Arduino sendiri maupun pengembang pihak ketiga terus berusaha mengatasi kekurangan yang ada.

Beberapa  kekurangan Arduino saat ini yaitu kapasitas memori yang kecil, clock speed rendah, tidak dilengkapi modul wired secara built in, kode HEX lebih besar, sering terjadi kesalahan fuse bit, serta memori flash yang berkurang karena digunakan sebagai bootloader.

Selain itu, kekurangan lain yang dimiliki Arduino yaitu kita harus memodifikasi program lama jika ingin menambah atau mengubah instruksi kemudian menguploadnya lagi.

 Bagaimana Cara Kerja Arduino Secara Umum

Perlu diketahui bahwa Arduino merupakan board instrumen yang terdiri atas chip mikrokontroler tertanam serta beberapa perangkat pendukung lainnya.

Chip mikrokontroler yang berperan sebagai otak Arduino memiliki beberapa varian seri. Tergantung jenis board apa yang ditempatinya. Untuk jenis Arduino Uno, seri mikrokontroler yang digunakan adalah Atmega328 dan diprogram menggunakan bahasa C melalui Arduino IDE

 Cara kerja Arduino adalah mengambil data input dari pin yang telah diatur untuk menerima data. Dimana nantinya data tersebut akan dikirim ke mikrokontroler untuk diproses sesuai keinginan Kemudian, hasil prosesnya akan disalurkan kembali ke pin output untuk disalurkan ke perangkat output

 Arduino IDE

Pada beberapa poin sebelumnya kita telah menyinggung bahwa Arduino adalah software khusus. Nah, software tersebut yaitu Arduino IDE (Integrated Development Environment).

Arduino IDE adalah software yang berfungsi sebagai teks editor dan dapat digunakan untuk membuat, mengedit, memvalidasi, serta meng-upload program yang telah dibuat ke papan sirkuit Arduino.

Hebatnya lagi, Arduino IDE adalah aplikasi multi-platform. Apakah yang dimaksud dengan aplikasi multi-platform?

Yaitu aplikasi yang dapat digunakan pada beberapa sistem operasi seperti Windows, Mac OS, dan Linux. Bahkan saat ini Arduino bisa juga diprogram melalui smartphone Android.

Hebatnya lagi, Arduino IDE adalah aplikasi multi-platform. Apakah yang dimaksud dengan aplikasi multi-platform?

Yaitu aplikasi yang dapat digunakan pada beberapa sistem operasi seperti Windows, Mac OS, dan Linux. Bahkan saat ini Arduino bisa juga diprogram melalui smartphone Android.

Untuk cara download, instal, serta pengenalan interface dan fungsinya bisa kamu lihat di artikel software Arduino IDE

 

Contoh program

int LED_PIN = 13;

void setup () 
{
    pinMode (LED_PIN, OUTPUT);     // aktifkan pin 13 untuk output digital
}

void loop () 
{
    digitalWrite (LED_PIN, HIGH);  // menyalakan LED
    delay (1000);                  // Tunggu 1 detik (1000 millisekon)
    digitalWrite (LED_PIN, LOW);   // matikan LED
    delay (1000);                  // Tunggu 1 detik
} 
materi selanjutnya adalah Pengertian dasar dari masing masing jenis Arduino 

Tidak ada komentar:

Posting Komentar