Arduino

Arduino adalah pengendali mikro dengan papan tunggal yang berfungsi dalam proyek perangkat lunak sumber terbuka. Fungsi utama dari Arduino untuk memudahkan penggunaan elektronik dalam berbagai bidang. Arduino memiliki perangkat keras yang menggunakan prosesor Atmel AVR. Sementara perangkat lunak yang dimiliki oleh Arduino terdiri dari beberapa alat yakni lingkungan pengembangan terpadu (IDE), penyunting teks, kompilator, Serial Monitor, dan Serial ISP Programmer.<ref>Templat:Citation</ref>
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. Pada aplikasi Arduino, Mikrokontroler diprogram menggunakan bahasa pemrograman C atau C++, dengan pustaka khas arduino. Karena sifatnya yang terbuka maka siapa saja dapat mengunduh skema hardware arduino dan membangunnya.
Arduino menggunakan keluarga pengendali mikro 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 perangkat keras. Untuk fleksibilitas, program dimasukkan melalui bootloader meskipun ada opsi untuk mem-bypass bootloader dan menggunakan pengunduh untuk memprogram pengendali mikro secara langsung melalui port ISP.
Sejarah Singkat
Semuanya berawal dari sebuah tesis 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:
- Harga terjangkau
- Dapat dijalankan diberbagai sistem operasi, Windows, Linux, Mac, dan sebagainya.
- Sederhana, dengan bahasa pemograman yang mudah bisa dipelajari orang awam, bukan untuk orang teknik saja.
- 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.<ref>Templat:Cite web</ref> Aturan proses kompilasi sudah disediakan oleh aplikasi Arduino, di mana 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.
Jenis
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 pengendali mikronya, 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.
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.
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.
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.<ref>Templat:Cite web</ref><ref>Templat:Cite web</ref> Hal ini dikarenakan Arduino Leonardo menggunakan pengendali mikro ATmega32u4.
ATMega32u4 ini telah memiliki fitur komunikasi USB yang terintegrasi, sehingga pada Arduino Leonardo tidak memerlukan tambahan pengendali mikro pengatur komunikasi USB ke TTL Serial seperti yang terdapat pada board Arduino Uno yang menggunakan tambahan ATMEGA16U2 disamping ATMEGA328P.<ref>Templat:Cite web</ref> Dengan ATMega32u4, memungkinkan Arduino Leonardo untuk berkomunikasi sebagai Keyboard/Mouse dengan protokol USB-HID menggunakan pustaka Keyboard.<ref>Templat:Cite web</ref>
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.
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.
Arduino Nano
Sepertinya namanya, Nano yang berukuran 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.
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.
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.
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.
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.
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.
Contoh program
<syntaxhighlight lang="c"> 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 (2000); // Tunggu 2 detik (2000 millisekon) digitalWrite (LED_PIN, LOW); // matikan LED delay (2000); // Tunggu 2 detik
} </syntaxhighlight>
Papan yang kompatibel dengan Arduino
Karena rancangan hardware dan software Arduino bersifat open-source, produsen lain bebas untuk menirunya, misalnya:
- SENTSOR Uno Plus
- Freeduino
- Robotdyn
- Freeduino MaxSerial
- Zigduino
- Panjerino
Referensi
- https://www.arduino.cc/
- https://www.arduino.cc/en/Main/Software
- http://www.geeknesia.com
- https://www.tinkercad.com/dashboard
Tutorial
- https://www.arduino.cc/en/Tutorial/HomePage
- http://lucidtronix.com/tutorials
- http://www.ladyada.net/learn/arduino/lesson1.html
Pranala Menarik
- Arduino: Power Supply
- Arduino: Cek sambungan USB ke laptop
- Arduino: Instalasi di Ubuntu
- Arduino: Instalasi di Ubuntu 18.04
- Arduino: Instalasi di Ubuntu 20.04
- Arduino: Instalasi di Ubuntu 22.04
- Arduino: Instalasi di Ubuntu 22.04 Download
- Arduino: Cara Upload Software PENTING
- Arduino: Menambahkan Library
- Fritzing: Instalasi di Ubuntu 16.04
- Arduino: arduino.cc install agent
Tutorial
Web Programming
Alternative
BASIC
- Arduino: Bare Minimum
- Arduino: Blink
- Arduino: Analog Read Serial
- Arduino: Digital Read Serial
- Arduino: Read Analog Voltage
- Arduino: Fade
- Arduino: Time Library
- Arduino: USB Serial TTL Converter
Arduino Nano
Digital
- Arduino: Blink Without Delay
- Arduino: Button
- Arduino: Debounce
- Arduino: Digital Input Pullup
- Arduino: State Change Detection
- Arduino: Tone Keyboard
- Arduino: Tone Melody
- Arduino: Tone Multiple
- Ardiuno: Tone Pitch Follower
- Arduino: Tone di kontrol oleh analog input
- Arduino: DigitalIn pin 12 Digital Out Pin 13
Analog
- Arduino: Analog In Out Serial
- Arduino: Analog Input
- Arduino: Analog Write Mega
- Arduino: Calibration
- Arduino: Fading
- Arduino: Smoothing
- Arduino: Rotary Encoder
Communication
Contoh-contoh ini termasuk kode yang memungkinkan Arduino untuk berbicara dengan sketch yang berjalan pada komputer. Untuk informasi lebih lanjut atau untuk men-download Processing, lihat http://processing.org. Ada juga Max / MSP patch yang dapat berkomunikasi antar sketch Arduino.
- Arduino: ASCIITable
- Arduino: Dimmer
- Arduino: Graph
- Arduino: Midi
- Arduino: Multi Serial Mega
- Arduino: Physical Pixel
- Arduino: Read ASCII String
- Arduino: Serial Call Response
- Arduino: Serial Call Response ASCII
- Arduino: Serial Event
- Arduino: Virtual Color Mixer
- Arduino: Serial Parse Integer
- Arduino: Parsing Text
- Arduino: Membandingkan String
Struktur Control
- Arduino: Arrays
- Arduino: For Loop Iteration
- Arduino: If Statement Conditional
- Arduino: Switch Case
- Arduino: Switch Case 2
- Arduino: While Statement Conditional
- Arduino: delay
- Arduino: hc05 blue tooth
Sensors
- Arduino: ADXL3xx
- Arduino: Knock
- Arduino: Memsic2125
- Arduino: Ping
- Arduino: Ping dengan hc sr04
- Arduino: RFID RC522
- Arduino: PCM Audio Play
- Arduino: DHT22 sensor suhu dan humidity
LCD
- Arduino: LCD keypad shield
- Arduino: LCD
- Arduino: LCD very Simple Clock
- Arduino: LCD 1602 very Simple Clock
- Arduino: LCD Clock NTP Sync
- Arduino: LCD 1602 I2C
Prayer Time
SD card
Time
DS1302
- Arduino: RTC
- Arduino: RTC and LCD
- Arduino: RTC DS1302 RECOMMENDED
- Arduino: RTC DS1302 Unix Time
- Arduino: RTC DS1302 NTP Sync RECOMMENDED
DS1307
- Arduino: DS1307 RTC I2C Setup
- Arduino: DS1307 RTC I2C Clock Serial
- Arduino: LCD DS1307 I2C RTC
- Arduino: LCD DS1307 I2C RTC alternative
DS3231
- Arduino: I2C Scanner untuk DS3231
- Arduino: RTC DS3231 hack
- Arduino: RTC DS3231
- Arduino: RTC DS3231 PC Sync
- Arduino: RTC DS3231 NTP Sync
- Arduino: RTC DS3231 Unix Time
Misc
- Arduino: Time dengan Milis Periodik
- Arduino: DateTime
- Arduino: Time
- Arduino: Time PC Sync
- Arduino: LCD Clock NTP Sync
- Arduino: NTP Sync
- Arduino: VOX Voice Operated Transmit
GPS
- Arduino: NEO 6M VCC
- Arduino: minicom 9600bps
- Arduino: GPS serial level shifting
- Arduino: GPS first trial
- Arduino: TinyGPS
- Arduino: TinyGPSplus
Motor / Actuator
Ethernet Shield
- Arduino: Ethernet Shield
- Arduino: Ethernet Shield Getting Started
- Arduino: Ethernet Library
- Arduino: Ethernet DHCP Address Printer
- Arduino: Ethernet UDP Send Receive String
- Arduino: Ethernet NTP Client
- Arduino: Ethernet NTP dapatkan waktu
- Arduino: Ethernet NTP Time Sync RECOMMENDED
- Arduino: Ethernet NTP Time Sync dan Play Audio RECOMMENDED
- Arduino: Ethernet NTP Sync, dan timer untuk Play Audio RECOMMENDED
- Arduino: Ethernet Web Server menampilkan isi Analog Input
- Arduino: Ethernet Web Server Input
- Arduino: Ethernet Web Server Control LED
- Arduino: Ethernet UDP Send isi Analog Input
- Arduino: Ethernet UDP Send isi 1 Analog Input 0
- Arduino: Ethernet UDP Send isi Analog Input 0 ke Graphite di Server
- Arduino: Ethernet UDP Send isi Analog Input 0 ke Graphite di Server Timing dengan RTC DS1302
- Arduino: Ethernet UDP Receive Data
- Arduino: Ethernet UDP Receive Data Switch LED
- Arduino: Ethernet UDP Receive Data Tone Speaker
- http://forum.arduino.cc/index.php/topic,148853.msg1118346.html#msg1118346 - Android Controlling Arduino
- Arduino: Ethernet TCP telnet client
- Arduino: Ethernet TCP Read Sederhana
- Arduino: Ethernet TCP Read Data
- Arduino: Ethernet TCP Web Control LED
Fritzing
Visualisasi Data IoT
- MQTT Recommended
- Graphite
- Bokeh - Untuk Visualisasi Data dari Arduino
- Thingspeak
WeMOS
- WeMOS
- WeMOS: Arduino IDE Support
- WeMOS: pin assignment
- WeMOS: Blink
- WeMOS: NTP Jam Digital
- WeMOS: NTP
- WeMOS: DHT11 - sensor suhu dan humidity
ESP32
NodeMCU
WAVGAT
Bacaan lanjutan
- Getting Started with Arduino; Massimo Banzi, Michael Shiloh; 262 pages; 2014; Templat:ISBN.
- Make: Sensors; Tero Karvinen, Kimmo Karvinen, Ville Valtokari; 400 pages; 2014; Templat:ISBN.
- Arduino For Dummies; John Nussey; 446 pages; 2013; Templat:ISBN.
- Programming Arduino Next Steps: Going Further with Sketches; Simon Monk; 2013; Templat:ISBN.
- Exploring Arduino: Tools and Techniques for Engineering Wizardry; Jeremy Blum; 384 pages; 2013; Templat:ISBN.
- Arduino Workshop: A Hands-On Introduction with 65 Projects; John Boxall; 392 pages; 2013; Templat:ISBN.
- Beginning C for Arduino: Learn C Programming for the Arduino and Compatible Microcontrollers; Jack Purdum; 280 pages; 2012; Templat:ISBN.
- Programming Arduino: Getting Started With Sketches; Monk Simon; 162 pages; 2011; Templat:ISBN.
- Arduino: A Quick Start Guide; Maik Schmidt; Pragmatic Bookshelf; 276 pages; 2011; Templat:ISBN.
- Make: Electronics (Learning by Discovery); Charles Platt; 352 pages; 2009; Templat:ISBN.