Mahir Arduino Sketch dan Elektro secara praktek


Buat yang baru kenal arduino, Arduino itu sebuah board microcontroller yang disertai software pendukung untuk melakukan pemograman. Arduino menganut sistem open hardware, menggunakan Atmel AVR processor dan memiliki I/O onboard. Boleh dibilang, Arduino itu komputer kecil yang dapat kita program untuk memproses input dan output dari komponen eksternal yang kita hubungkan dengan Arduino tersebut.

Contoh sederhana apa yang dapat kita lakukan terhadap Arduino, kita dapat mengatur untuk menyalakan lampu katakanlah 30 detik sesudah kita menekan saklar. Dalam contoh ini berarti kita memiliki board Arduino, sebuah lampu dan saklar yang terhubung dengan arduino. Arduino akan dengan sabar menunggu saklar ditekan, sekali saklar ditekan, arduino akan menunggu 30 detik, kemudian memerintahkan lampu menyala. Anda dapat meningkatkan kemampuan dengan menambahkan sensor, sebagai contoh PIR sensor, yang berfungsi sebagai input untuk menyalakan lampu.

Arduino dapat berdiri sendiri, atau dapat dihubungkan dengan komputer, jaringan atau dihubungkan dengan internet untuk mengambil data atau mengirimkan data.

Arduino dapat dihubungkan dengan LED, dot matrix display, button, switch, motor, berbagai sensor, GPS, modul ethernet dan banyak lagi.


Board Arduino menggunakan Atmel AVR microprocessor dan sebuah crystal untuk mengatur clock agar processor bekerja pada kecepatan yang tepat, 5 volt linear regulator, USB socket untuk menghubungkan board dengan PC (tergantung jenis Board Arduino) dan pin output yang digunakan untuk menghubungkan dengan komponen input ataupun output.



Nah, sebagai pemula, saya memilih board yang paling populer dan cukup murah dan mudah untuk diprogram, yaitu Arduino UNO R3 (revisi 3)

Anda dapat membeli versi clone (harga jauh lebih murah) dan tidak ada masalah kompatibilitas. Karena Arduino ini menganut sistem open hardware, siapa saja dapat membuat board Arduino, termasuk Arduino UNO. Bila Anda kesulitan mendapatkan di kota Anda, bisa dibeli online, silakan cek http://kedai-elektro-robotika.blogspot.com/

Artikel Selanjutnya : Mengenal Arduino Board
Arduino Uno adalah microcontroller board yang menggunakan ATMega328. Memiliki 14 digital input/output pin, 6 analog inputs, 16 MHz ceramic, USB Connection, power jac, ICSP header dan tombol reset. UNO ini cukup lengkap dalam mendukung pengerjaan microcontrolling.

Fitur UNO R3
  • 1.0 pinout: terdapat pin SDA and SCL (dekat AREF pin) dan 2 pin baru lainnya dekat RESET pin, IOREF yang berguna bagi shield untuk mengadaptasi tegangan (votage) yang disediakan dari board. Untuk kedepannya, shield akan compatible dengan board yang menggunakan AVR (5V) dan arduino due yang beroperasi di 3.3 V. Pin yang kedua adalah pin reserved untuk kebutuhan dimasa yang akan datang.
  • RESET circuit yang lebih baik
  • Menggunakan Atmega 16U2 (menggantikan 8U2).

Summary
  • Microcontroller ATmega328
  • Operating Voltage 5V
  • Input Voltage (recommended) 7-12V
  • Input Voltage (limits) 6-20V
  • Digital I/O Pins 14 (of which 6 provide PWM output)
  • Analog Input Pins 6
  • DC Current per I/O Pin 40 mA
  • DC Current for 3.3V Pin 50 mA
  • Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader
  • SRAM 2 KB (ATmega328)
  • EEPROM 1 KB (ATmega328)
  • Clock Speed 16 MHz


Pin Out Arduino Uno R3



Artikel Sebelumnya : Pengenalan Arduino
Artikel Selanjutnya: Menghubungkan Arduino Arduino UNO dengan PC
Setelah kita mengenal Board Arduino, hal lain yang perlu kita ketahui adalah bagaimana kita memasukkan logic kedalam IC atau bagaimana kita melakukan programming. Untuk dapat memprogram Board Arduino, kita perlu software untuk melakukan programming dan menghubungkannya dengan PC.

Dan, kabar gembiranya, Arduino sudah menyediakan IDE yang cukup mudah dipakai. Untuk download IDE silakan kunjungi website resmi Arduino disini.

Setelah selesai mendownload IDE Arduino, lakukan installasi, langkah-langkahnya mudah, jadi saya kira saya gak perlu share disini.

Berikutnya adalah menghubungkan Arduino Uno dengan PC atau Laptop untuk Windows7, Vista, or XP:
  • Hubungkan board Arduino Uno, tunggu windows untuk melakukan driver installation. Biasanya gagal.   
  • Buka control panel windows, lalu buka device manager.
  • Cari Ports (COM & LPT), disana ada port "rduino UNO (COMxx)", click kanan dan pilih "Update Driver Software" option.
    Lalu pilih "Browse my computer for Driver software" option.cari driver file dengan nama "arduino.inf", di folder "Drivers". Folder dapat ditemukan ditempat instal software IDE Arduino.
  • Windows akan menyelesaikan instalasi driver.

Okay.. sekarang Arduino Uno sudah terhubung dengan PC. Anda dapat mencoba 1 program example yang sudah disediakan untuk memastikan semuanya sudah berjalan, yaitu Blink.



Setelah sketch terbuka pada windows software Arduino Anda, pilih tipe board Arduino Anda, dalam hal ini adalah Arduino Uno


Setelah board dipilih, pilih Port yang menghubungkan PC dengan Arduino. Lalu tekan tombol Upload pada menu bar diatas.


Setelah program terupload, terlihat di area notifikasi. Maka LED 13 dari Arduino Board akan berkedip-kedip dengan interval 1 second.

Nah.. sangat mudahkan? Saya sendiri tidak ada background Elektro, background saya adalah web programming dan desain. Dalam hitungan menit sudah bisa melakukan interfacing terhadap microcontroller dan mencoba programmingnya.

Boleh dibilang, Arduino ini sangat membantu kita yang tidak bisa solder menyolder dan atau memudahkan para pakar elektro untuk melakukan prototyping lebih cepat.

Artikel Sebelumnya: Arduino Uno Board 
Artikel Selanjutnya:  Pengenal Sketch 

Sketch adalah sebutan program untuk Arduino, berupa kumpulan code yang diupload dan dijalankan oleh board Arduino

Disini akan dibahas sedikit komponen sketch yang digunakan saat kita membuat program. Dengan acuan sketch contoh adalah Blink Led, sketch example dari Arduino.

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.

  This example code is in the public domain.
 */


// Pin 13 has an LED connected on most Arduino boards.
int ledPin = 13;

// the setup routine runs once when you press reset:
void setup() {
  // initialize the digital pin as an output.
  pinMode(
ledPin, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(
ledPin, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(
ledPin, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}



Comments
Ini adalah elemen sketch yang berfungsi untuk memberikan baris komentar pada program, komentar tidak akan dicompile, namun berguna sebagai dokumentasi agar program dapat dibaca dan dimengerti.

Contoh Comments

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.

  This example code is in the public domain.
 */


semua yang terletak didalam area /* dan */ adalah komentar dan akan diabaikan oleh compiler.

Bila anda memerlukan comments dalam bentuk baris, dapat menggunakan tanda //, contohnya:

// Pin 13 has an LED connected on most Arduino boards.

kalimat  "LED connected to digital pin 13"  adalah sebuah comment

Variables
Adalah tempat kita menaruh data, variable memiliki nama, tipe dan nilai. Sebagai contoh pada baris code diatas: int ledPin = 13.

Nama variable: ledPin
Type variable: int
Initial Value : 13.

Variable ini akan digunakan dalam seluruh sketch, setiap ledPin dipanggil, maka nilai terakhir yang terdapat didalamnya akan digunakan oleh program.

Anda dapat saja menuliskan angka 13  disetiap perintah yang membutuhkan nilai ini, namun bila Anda menggunakan variable, saat Anda akan mengganti menjadi 12, cukup mengganti 1 kali, yaitu di baris inisialisasi variable ini.

Functions
Function atau dikenal juga dengan procedure atau sub-routine, adalah sebuah kode yang dapat digunakan diseluruh sketch. Contoh function setup() pada sketch Blink Led


void setup() {
  // initialize the digital pin as an output.
  pinMode(
ledPin, OUTPUT);
}


baris pertama menunjukkan informasi nama dari function, yaitu setup, code program yang akan dilakukan fungsi tersebut disimpan dalam { dan }.

Function yang lebih komplek memeliki parameter input. Beberapa contoh function dasar yang sudah disediakan oleh Arduino sendiri: pinMode(), digitalWrite() dan delay().

Function pinMode() adalah fungsi yang bertugas mengatur suatu pin sebagai input atau output. Cara menggunakannya cukup memberikan parameter no pin dan mode pin dengan memberikan constant INPUT atau OUTPUT. (lihat contoh fungsi diatas, mengkonfigurasi pin 13(ledPin) sebagai output).

Berikutnya adalah fungsi digitalWrite(), adalah fungsi untuk memberikan value HIGH atau LOW pada pin yang diinginkan. digitalWrite memiliki parameter pin dan constant HIGH atau LOW. Dari contoh program dapat kita lihat, dalam hal ini, fungsi digitalWrite akan membuat led menyala.

digitalWrite(ledPin, HIGH);   // turn the LED on (HIGH is the 


Lalu fungsi delay(), berguna untuk memberikan interval waktu yang kita inginkan dalam satuan milisecond. Dalam contoh sketch Blink Red, terdapat perintah seperti dibawah, yang berarti arduino akan diperintahkan untuk menunggu selama 1 detik (1000 milisecond = 1detik).


delay(1000);               // wait for a second


Terakhir namun sangat penting diperhatikan, setiap sketch arduino memiliki strutktur fungsi utama yaitu setup() dan loop(). Fungsi setup() akan dipanggil 1 kali ketika sketch pertama kali jalan. fungsi setup() ini sering digunakan untuk initialisasi libraries atau setting pin.

Fungsi loop() dipanggil berulang-ulang terus menerus selama arduino dialiri listrik. Ini merupakan inti dari sketch arduino. Anda harus memasukkan kedua fungsi ini dalam sketch.

Artikel Sebelumnya Cara menghubungkan Arduino dengan PC
Artikel Selanjutnya  Proyek 1 - Led Blinker