Arduino UNO
Arduino tipe uno berbasis ATmega328, menyempurnakan tipe sebelumnya, Duemilanove. Uno sendiri diambil dari bahasa Italia yang artinya satu (1).
Arduino diprogram dengan bahasa khusus, dengan struktur bahasa sama dengan bahasa C. Dengan bahasa tersebut maka pemrograman menjadi lebih mudah, nah inilah kelebihan Arduino.
Spesifikasi hardware Arduino Uno :
· Microcontroller : ATmega328
· Tegangan operasi : 5 V
· Tegangan Input : 7 – 12V
· Digital I/O : 14 pin
· PWM : 6 channel
· Analog Input : 6 channel
· Memory : 32KB Flash PEROM (0,5 KB digunakan oleh bootloader), 2KB SRAM dan 1KB EEPROM
· Frekuensi Clock : 16 MHz
Gambar Board Arduino UNO Gambarnyaboard Arduino sudah anda lihat, nah sekarang kita pelajari boardnya.
Power Supply.
Banyak pilihan sumber tegangan yang dapat dipakai, dari port USB maupun dari power supply eksternal dan lebih gampangnya lagi adalah sumber tegangan tersebut dipilih secara otomatis. Cukup menghubungkan port USB di komputer/laptop dengan Arduino maka secara otomatis power supply
bersumber dari port USB. Untuk sumber tegangan eksteranal (non-USB) kita cukup menghubungkan dengan jack dc. Tegangan yang direkomendasikan adalah 7 sampai 12 V.
Input – Output.
Dalam hal penamaan, port Arduino berbeda dengan minimum system atau development system mikrokontroler. Sebagai contoh pada minimum system ATmega8535 penamaan port adalah PORTA, PORTB, PORTC dan PORTD, untuk akses per-bit maka PORTA.0 s/d PORTA.7. Sistem penamaan port pada Arduino merupakan urutan nomor port, mulai dari nomor nol (0), satu (1) dan seterusnya. Untuk digital I/O (Input/Output) dengan nama pin 1, 2 sampai 13, sedangkan untuk analog input menggunakan nama A0, A1 sampai A5.
Pada Arduino uno terdapat 14 pin digital input – output. Secara umum berfungsi sebagai port input – output biasa, namun ada beberapa pin yang mempunyai fungsi alternatif.
Analog Input.
Arduino memiliki 6 pin analog input, berfungsi membaca sinyal masukan analog seperti sensor analog.
Meskipun demikian pin analog input dapat pula kita gunakan untuk keperluan digital I/O.
Sudah tidak sabar untuk langsung mencoba Arduino ? Sabar sebentar, kita lihat bagaimana aturan main dalam pemrogramannya. Setelah kita pelajari struktur hardwarenya, sekarang kita lanjutkan pada pemrograman Arduino UNO. Tidak serumit bahasa pemrograman C untuk ATmega seperti Codevison-AVR (walaupun CodeVision AVR juga lebih mudah dibandingkan bahasa assembly), pemrograman Arduino menjadi lebih mudah. Struktur pemrogramannya memang bahasa C, bagi anda yang sudah menguasai bahasa C/C++
maka akan menjadi lebih gampang memprogram Arduino. Bagi yang belum pernah apalagi menguasai jangan khawatir, karena nanti akan kita buktikan bahwa ternyata memang sangat mudah.
Mekanisme permogramannya sama dengan memprogram mikrokontroler, mulai dari menulis program kemudian mengeksekusi (compile) selanjutnya proses upload yaitu mengisikan program kedalam memori program Arduino.
Struktur dasar
Sebuah program Arduino minimal terdiri dari 2 bagian :
Inisialisasi.
Inisialisasi merupakan proses mengatur hardware seperti port I/O, PWM, serial dan peripheral lain. Struktur ini ditulis diawal program. Sebagai contoh port I/O mempunyai beberapa fungsi : digital input, digital output, serial komunikasi dan PWM. Sebuah port hanya dapat berfungsi untuk 1 tujuan, jadi jika kita hendak menggunakan port tersebut sebagai digital output maka harus diinisialisasi terlebih dahulu sebagai port output. Inisialisasi menggunakan struktur setup(). Sebagai contoh :
void setup()
{
Serial.begin(9600); pinMode(buttonPin, INPUT);
}
Program utama.
Setelah melakukan inisialisasi selanjutnya program yang dikerjakan adalah program utama, tergantung dari aplikasi yang dibuat, isi dari program utama berbeda antara satu program dengan program yang lain. Struktur yang digunakan adalah loop(). Sebagai contoh :
void loop()
{
}
Harap diperhatikan bahwa bahasa pemrograman Arduino (sebagaimana bahasa C) termasuk case sensitive, artinya huruf besar dengan huruf kecil akan dianggap berbeda.
Komentar digunakan untuk memberi keterangan pada program yang dibuat, sifatnya tidak wajib dan tidak akan berpengaruh pada jalannya program karena tidak ikut dieksekusi. Komentar dapat dibuat untuk 1 baris maupun lebih dari 1 baris, berikut ini caranya :
//komentar untuk 1 baris diawali dengan 2 garis miring.
/*komentar untuk lebih dari 1 baris diawali dengan tanda garis miring + asterisk atau bintang (/*) Serta diakhiri dengan tanda asterisk + garis miring */
Ekspresi Bilangan
Dalam pemrograman Arduino, bilangan dapat diekspresikan dalam beberapa format.
§ Desimal
Ditulis biasa tanpa tambahan apapun. Contoh : 234.
§ Oktal
Ditulis dengan awalan angka ‘0’ (nol) didepan. Contoh : 0631.
§ Biner
Penulisan diawali dengan huruf ‘B’. Contoh : B11100011.
§ Heksadesimal
Diawali dengan ‘0x’ . Contoh : 0x8C.
Kontrol Program
Sebuah program yang kita buat membutuhkan suatu kontrol, misalnya pengujian kondisi, melompat pada perintah yang lain dan sebagainya.
Pengujian Kondisi.
if
Digunakan untuk menguji kondisi, jika kondisi tersebut benar maka perintah didalam If akan dikerjakan.
if (kondisi)
{
Pernyataan/perintah;
}
Contoh :
if(x>7)
{
x=x+1;
}
if – else
Hampir sama dengan if, hanya saja ada 2 pilihan pernyataan/perintah. Jika kondisi benar maka perintah didalam blok if yang dikerjakan, jika kondisi salah maka pernyataan di dalam else yang dikerjakan.
if (kondisi)
{
Pernyataan/perintah 1:
}
else
{
Pernyataan/perintah 2;
}
Contoh :
if (x>7)
{
x=x+1;
}
else
{
x=x+2;
}
if – else if
Untuk pengujian dengan banyak kondisi maka digunakan if – else if.
if (kondisi 1)
{
Pernyataan/perintah 1;
}
else if (kondisi 2)
{
Pernyataan/perintah 2;
}
else if (kondisi ke-n)
{
Pernyataan/perintah ke-n;
}
Contoh :
if(tombol=='1'){ Serial.println("Angka 1");
}
else if(tombol =='2'){
Serial.println("Angka 2");
}
else if(tombol =='3'){
Serial.println("Angka 3");
}
Operator Aritmatika.
Operator Perbandingan.
PIN INPUT – OUTPUT
Pada board Arduino UNO terdapat 13 pin I/O, dari namanya kita tahu bahwa fungsinya dapat sebagai pin input (masukan) maupun pin output (keluaran).
Inisialisasi Fungsi Pin I/O
Sebuah pin pada saat yang sama hanya mempunyai satu fungsi, sebagai input saja atau output saja, untuk itu harus ditentukan dulu fungsinya, yaitu ketika inisialisasi (setup()), dengan cara :
pinMode(pin, mode);
ü pin : nomor pin yang akan dikonfigurasi (nomor pin pada board Arduino UNO, 0 – 13 atau A0 – A5).
ü mode : INPUT atau OUTPUT.
Sebagai contoh jika pin no 2 akan dibuat sebagai pin output, maka :
pinMode(2, OUTPUT);
Contoh yang lain pin no 4 dibuat sebagai input :
pinMode(4, INPUT);
Perhatikan penulisan huruf, besar kecilnya sangat berpengaruh.
Menulis Data Digital di Pin Output
Setelah membuat pin sebagai digital output dengan fungsi pinMode(pin,OUTPUT) selanjutnya untuk menulis atau mengeluarkan data digital dengan perintah :
digitalWrite(pin, value);
ü pin : nomor pin digital output.
ü value : HIGH atau 1 (5 volt) atau LOW atau 0 (0 volt/ground).
Sebagai contoh, pin 3 sebagai pin digital output akan diberi logika 1 :
pinMode(3, OUTPUT);
digitalWrite(3, HIGH);
Atau dapat juga ditulis dengan cara lain, yaitu :
digitalWrite(3, 1);
Membaca Data Digital di Pin Input
Jika sebuah pin dibuat sebagai pin input, maka kita masih harus menentukan tipe inputnya : floating atau pullup. Jika kita pilih pullup maka resistor pullup internal (pada setiap pin) akan aktif. Caranya adalah :
digitalWrite(pin, value);
ü pin : nomor pin yang diset sebagai pin input.
ü value : HIGH atau 1 (pullup aktif) atau LOW atau 0 (floating). Contoh pin no 4 akan dibuat sebagai pin input dengan pullup :
pinMode(4,INPUT); digitalWrite(4,HIGH);
Setelah diset sebagai pin input, fungsi pembacaan data digitalnya adalah :
Var=digitalRead(pin);
Misalnya akan dibaca pin no 4, hasil pembacaan disimpan dalan variabel baca :
baca=digitalRead(4);
INSTALASI DRIVER
Hubungkan kabel USB ke konektor USB Arduino, kemudian ujung yang satunya ke port USB komputer/laptop. Lampu LED pada Arduino akan nyala. Kalau belum nyala juga periksa koneksi kabel USB nya.
Sesaat setelah dicolokkan ke komputer maka pada layar akan tampil informasi bahwa telah terdeteksi hardware baru seperti pada gambar.
Kemudian muncul dialog seperti gambar berikut.
Pilih Install form a list or specific location (Advanced), kemudian klik Next >.
Klik Browse untuk menentukan lokasi driver, sesuaikan dengan lokasi dimana anda menyimpannya. Cari di CD:\Arduino-1.0.1\drivers. Kemudian klik Next>, maka akan muncul dialog seperti pada gambar.
Pilih Continue Anyway. Proses instalasi akan berjalan, tunggu sampai selesai.
Apabila telah selesai akan muncul kotak dialog seperti pada gambar.
Klik Finish dan board Arduino siap digunakan.
INSTALASI SOFTWARE COMPILER |
Software yang digunakan untuk membuat program berbasis board Arduino sifatnya free, dan instalasinya juga sangat gampang. Masih menggunakan OS Windows, silahkan explore folder Arduino-
(untuk versi terbaru bisa download di http://arduino.cc/en/Main/Software). Klik 2 kali (klik kanan terus open) file Arduino.exe.
Untuk penggunaannya kita akan sering memakai toolbar, keterangan tombol toolbar terlihat pada gambar berikut.
Gambar tersebut adalah tampilan software Arduino yang nantinya akan kita pakai untuk membuat program dan mengisikannya (upload) ke memori Arduino. Sekarang kita pelajari sebentar fungsi tombol pada toolbar.
· Verify.
Berfungsi untuk mengeksekusi (proses compile) program.
· New.
Membuat lembar kerja baru.
· Open.
Membuka file yang pernah dibuat & disimpan.
· Save.
Menyimpan program, secara otomatis akan berekstensi *.pde.
· Upload.
Berfungsi untuk mentransfer program yang telah dieksekusi ke dalam memori Arduino, dalam beberapa software disebut dengan istilah program, ada juga yang menyebut dengan istilah download.
Setelah kita pahami si Arduino ini, baik secara hardware maupun software sekarang saatnya kita mencoba ilmunya. Kita mulai dari yang paling dasar & sederhana, digital output.
DIGITAL OUTPUT DULU
Aplikasi digital output memanfaatkan pin I/O yang difungsikan sebagai pin output. Pada board Arduino terdapat sebuah LED berwarna kuning (built-in, LED SMD jadi agak kecil bentuknya), yang terhubung ke pin 13
LED
Perhatikan rangkaian LED-nya, jika pada pin 13 terdapat tegangan 5 volt (HIGH) maka terdapat perbedaan tegangan antara kaki anoda (5 volt) dengan kaki katoda (0 volt, ground) sehingga akan mengalir arus dan LED nyala (ON). Tegangan 0 volt (LOW) akan membuat LED padam (off).
Baik, sekarang buka program Arduino.exe, kemudian tulis program 1. Silahkan sesuaikan setingan software Arduino dengan board Arduino anda, dalam hal ini kita memakai Arduino UNO. Klik Tools à Board à Arduino Uno.
Sesuaikan juga nomor port serial (USB to Serial).
Jika anda belum tahu nomornya dapat dilihat dengan cara : klik kanan My Computer, kemudian pilih
Properties. Pada tab Hardware pilih Device Manager. Lihat pada kelompok Ports (COM & LPT). Baik, sekarang tulis/ketik program yang pertama.
//Program 1 : menghidupkan LED di pin 13 board Arduino void setup() {
pinMode(13, OUTPUT);
}
void loop() { digitalWrite(13, HIGH);
}
Setelah selesai, simpan (Save) dan beri nama, misalnya ‘program1’ (tanpa tanda petik).
Secara otomatis terbentuk folder dengan nama ‘program1’.Didalamya terdapat file dengan nama ‘program1.pde’. Compile atau klik toolbar Verify.
Tunggu sampai proses compiling selesai.
Jika ada error silahkan perbaiki dulu, perhatikan penulisannya, karena pemrograman juga tentang ketelitian. Selanjutnya upload program ke board Arduino, klik Upload.
Tunggu sampai proses upload selesai.
Jalannya program :
Lihat hasilnya pada led kuning. LED warna kuning (L) akan nyala.
Penjelasan program :
Pada baris atas ada sebuah komentar (diawali dg //) :
//Program 1 : menghidupkan LED di pin 13 board Arduino
Komentar sifatnya sebagai penjelas saja. Tidak wajib. Tidak berpengaruh terhadap jalannya program. Program dimulai dengan inisialisasi : void setup(), hanya ada satu perintah dalam inisialisasi ini.
pinMode(13, OUTPUT); à pin no 13 difungsikan sebagai pin output. Selanjutnya program utama : void loop() juga hanya ada satu perintah yaitu :
digitalWrite(13, HIGH); à pin no 13 ditulis HIGH, artinya pin 13 mengeluarkan logika HIGH/”1” (5 volt), maka kita lihat LED akan nyala (ON).
|
Sebenarnya ada cara lain untuk membuat logika pin menjadi ‘HIGH’ atau ‘LOW’. Dengan cara langsung ditulis nilai ‘1’ untuk ‘HIGH’ dan ‘0’ untuk ‘LOW. Langsung contoh aja ya, pada program 1 :
//Program 1 : menghidupkan LED di pin 13 board Arduino void setup() {
pinMode(13, OUTPUT);
}
void loop() { digitalWrite(13, 1);
}
Tidak ada komentar:
Posting Komentar