Tentang Kami
Edukasi
Produk
Tutorial
Bengkel
Berita
Toko Online
Arduino menggunakan pemrograman dengan bahasa C. Berikut ini adalah sedikit penjelasan
yang ditujukan kepada anda yang hanya mempunyai sedikit pengalaman pemrograman dan
membutuhkan penjelasan singkat mengenai karakter bahasa C dan software Arduino. Untuk
penjelasan yang lebih mendalam, web Arduino.cc adalah sumber yang lengkap.
Struktur
Setiap program Arduino (biasa disebut sketch) mempunyai dua buah fungsi yang harus ada.
void setup( ) { }
Semua kode didalam kurung kurawal akan dijalankan hanya satu kali ketika
program Arduino dijalankan untuk pertama kalinya.
void loop( ) { }
Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah
dijalankan satu kali fungsi ini akan dijalankan lagi, dan lagi secara terus menerus
sampai catu daya (power) dilepaskan.
Syntax
Berikut ini adalah elemen bahasa C yang dibutuhkan untuk format penulisan.
Variabel
Sebuah program secara garis besar dapat didefinisikan sebagai instruksi untuk memindahkan
angka dengan cara yang cerdas. Variabel inilah yang digunakan untuk memindahkannya.
int (integer)
Digunakan untuk menyimpan angka dalam 2 byte (16 bit). Tidak mempunyai angka
desimal dan menyimpan nilai dari -32,768 dan 32,767.
long (long)
Digunakan ketika integer tidak mencukupi lagi. Memakai 4 byte (32 bit) dari memori
(RAM) dan mempunyai rentang dari -2,147,483,648 dan 2,147,483,647.
boolean (boolean)
Variabel sederhana yang digunakan untuk menyimpan nilai TRUE (benar) atau
FALSE (salah). Sangat berguna karena hanya menggunakan 1 bit dari RAM.
float (float)
Digunakan untuk angka desimal (floating point). Memakai 4 byte (32 bit) dari RAM
dan mempunyai rentang dari -3.4028235E+38 dan 3.4028235E+38.
char (character)
Menyimpan 1 karakter menggunakan kode ASCII (misalnya ‘A’ = 65). Hanya
memakai 1 byte (8 bit) dari RAM.
Operator Matematika
Operator yang digunakan untuk memanipulasi angka (bekerja seperti matematika yang
sederhana).
=
Membuat sesuatu menjadi sama dengan nilai yang lain (misalnya: x = 10 * 2, x
sekarang sama dengan 20).
%
Menghasilkan sisa dari hasil pembagian suatu angka dengan angka yang lain
(misalnya: 12 % 10, ini akan menghasilkan angka 2).
+
Penjumlahan
–
Pengurangan
*
Perkalian
/
Pembagian
Operator Pembanding
==
Sama dengan (misalnya: 12 == 10 adalah FALSE (salah) atau 12 == 12 adalah TRUE
(benar))
!=
Tidak sama dengan (misalnya: 12 != 10 adalah TRUE (benar) atau 12 != 12 adalah
FALSE (salah))
<
Lebih kecil dari (misalnya: 12 < 10 adalah FALSE (salah) atau 12 < 12 adalah FALSE
(salah) atau 12 < 14 adalah TRUE (benar))
>
Lebih besar dari (misalnya: 12 > 10 adalah TRUE (benar) atau 12 > 12 adalah FALSE
(salah) atau 12 > 14 adalah FALSE (salah))
Struktur Pengaturan
Program sangat tergantung pada pengaturan apa yang akan dijalankan berikutnya, berikut ini
adalah elemen dasar pengaturan (banyak lagi yang lain dan bisa dicari di internet).
if (kondisi) { }
else if (kondisi) { }
else { }
Dengan struktur seperti diatas program akan menjalankan kode yang ada di dalam
kurung kurawal jika kondisinya TRUE, dan jika tidak (FALSE) maka akan diperiksa
apakah kondisi pada else if dan jika kondisinya FALSE maka kode pada else yang akan
dijalankan.
Digunakan bila anda ingin melakukan pengulangan kode di dalam kurung kurawal
beberapa kali, ganti #pengulangan dengan jumlah pengulangan yang diinginkan.
Melakukan penghitungan ke atas dengan i++ atau ke bawah dengan i–.
Digital
1. pinMode(pin, mode)
Digunakan untuk menetapkan mode dari suatu pin, pin adalah nomor pin yang akan
digunakan dari 0-19 (pin analog 0-5 adalah 14-19). Mode yang bisa digunakan adalah
INPUT atau OUTPUT.
2. digitalWrite(pin, value)
Ketika sebuah pin ditetapkan sebagai OUTPUT, pin tersebut dapat dijadikan HIGH
(ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground).
3. digitalRead(pin)
Ketika sebuah pin ditetapkan sebagai INPUT maka anda dapat menggunakan kode ini
untuk mendapatkan nilai pin tersebut apakah HIGH (ditarik menjadi 5 volts) atau LOW
(diturunkan menjadi ground).
Analog
Arduino adalah mesin digital tetapi mempunyai kemampuan untuk beroperasi di dalam alam
analog (menggunakan trik). Berikut ini cara untuk menghadapi hal yang bukan digital.
1. analogWrite(pin, value)
Beberapa pin pada Arduino mendukung PWM (pulse width modulation) yaitu pin 3, 5,
6, 9, 10, 11. Ini dapat merubah pin hidup (on)atau mati (off) dengan sangat cepat
sehingga membuatnya dapat berfungsi layaknya keluaran analog. Value (nilai) pada
format kode tersebut adalah angka antara 0 ( 0% duty cycle ~ 0V) dan 255 (100% duty
cycle ~ 5V).
2. analogRead(pin)
Ketika pin analog ditetapkan sebagai INPUT anda dapat membaca keluaran voltase-
nya. Keluarannya berupa angka antara 0 (untuk 0 volts) dan 1024 (untuk 5 volts).
Demikianlah tutorial singkat mengenai bahasa pemrograman pada Arduino. Selamat mencoba!
1. georgejacobus says:
September 2, 2012 at 18:31
Terima kasih pak atas tuttorialnya, , maju terus famosa studio pak
Reply
Reply
4. ivan says:
November 26, 2013 at 05:38
Reply
Terimakasih pak
Reply
Silahkan gunakan link reference yang ada di website Arduino untuk mengetahui arti
syntax tersebut.
Seperti link tentang millis yang ada di sini.
Silahkan gunakan fasilitas search yang ada di sana untuk mengetahui arti syntax
yang lain.
Kemudian gunakan contoh yang ada di link tersebut untuk bereksperimen, sehingga
anda bisa mengetahui lebih tepat bagaimana cara penggunaannya.
Mesti harus dengan banyak mencoba untuk dapat menguasai Arduino dan
pemrogramannya ini.
Reply
6. zizoo says:
January 11, 2014 at 13:44
hallo pak,
kalo saya mau membuat program yang tidak mengulang-ngulang harus pake kode apa di
void setelah setup?
klo pake loop kan akan mengulang terus menerus
Reply
Betul, kalau mau programnya hanya dijalankan 1 kali, pasang kode programnya di
bagian void setup, jangan di void loop.
Reply
Reply
Silahkan saja, asal dicantumkan link tutorial yang ini ditempat anda.
Reply
pak,apakah bisa saya beli sebuah program misalnya utk menggerakan relay board
16 channel dari board arduino 2560,nanti saya yang minta relay pertama berapa
lama hidup dan matinya ,dilanjutkan relay ke dua begitu seterusnya nanti bapak
yang buat bahasanya dan dikirim ke e mail saya,pak nanti saya yang merobah
setting timenya relay hidup mati tp bahasa programram sudah dari bapak,bisa
bapak?
Reply
Tidak perlu beli, karena anda bisa membuatnya sendiri. Pemrograman untuk
relay itu cukup mudah.
Lihat contoh program Blink yang ada di Arduino IDE (menu
File>Examples>Basics>Blink).
Di situ ada baris program ini:
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
Nah tinggal mengganti variabel led dengan variabel lain yang sudah
didefinisikan untuk pin yang mengendalikan relay-nya.
Di baris delay(1000) bisa diganti dengan delay yang sesuai kebutuhan. Dari
yang sederhana ini tinggal dikembangkan lebih lanjut sesuai kebutuhan anda.
Selamat mencoba!
Reply
8. Jae says:
March 11, 2014 at 10:58
pak klo misalnya untuk membuat perangkat alarm banjir atau detektor kebakaran, arduino
versi apa yg plg bagus untuk dipakai??
Reply
Arduino apa saja bisa digunakan, tinggal disesuaikan saja dengan kebutuhan pin IO-
nya.
Reply
void setup() {
// put your setup code here, to run once:
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(LED5, OUTPUT);
pinMode(LED6, OUTPUT);
pinMode(LED7, OUTPUT);
pinMode(LED8, OUTPUT);
pinMode(PIR1, INPUT);
pinMode(PIR2, INPUT);
}
void naik(){
digitalWrite(LED1, HIGH);
delay(200);
digitalWrite(LED2, HIGH);
delay(200);
digitalWrite(LED3, HIGH);
delay(200);
digitalWrite(LED4, HIGH);
delay(200);
digitalWrite(LED5, HIGH);
delay(200);
digitalWrite(LED6, HIGH);
delay(200);
digitalWrite(LED7, HIGH);
delay(200);
digitalWrite(LED8, HIGH);
delay(200);
}
void naikmati(){
digitalWrite(LED1, LOW);
delay(200);
digitalWrite(LED2, LOW);
delay(200);
digitalWrite(LED3, LOW);
delay(200);
digitalWrite(LED4, LOW);
delay(200);
digitalWrite(LED5, LOW);
delay(200);
digitalWrite(LED6, LOW);
delay(200);
digitalWrite(LED7, LOW);
delay(200);
digitalWrite(LED8, LOW);
delay(200);
}
void turun(){
digitalWrite(LED8, HIGH);
delay(200);
digitalWrite(LED7, HIGH);
delay(200);
digitalWrite(LED6, HIGH);
delay(200);
digitalWrite(LED5, HIGH);
delay(200);
digitalWrite(LED4, HIGH);
delay(200);
digitalWrite(LED3, HIGH);
delay(200);
digitalWrite(LED2, HIGH);
delay(200);
digitalWrite(LED1, HIGH);
delay(200);
}
void turunmati(){
digitalWrite(LED8, LOW);
delay(200);
digitalWrite(LED7, LOW);
delay(200);
digitalWrite(LED6, LOW);
delay(200);
digitalWrite(LED5, LOW);
delay(200);
digitalWrite(LED4, LOW);
delay(200);
digitalWrite(LED3, LOW);
delay(200);
digitalWrite(LED2, LOW);
delay(200);
digitalWrite(LED1, LOW);
delay(200);
}
void mati(){
digitalWrite(LED8, LOW);
digitalWrite(LED7, LOW);
digitalWrite(LED6, LOW);
digitalWrite(LED5, LOW);
digitalWrite(LED4, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED1, LOW);
}
void loop() {
// put your main code here, to run repeatedly:
pirs1 = digitalRead(PIR1);
pirs2 = digitalRead(PIR2);
if (( pirs1 == HIGH)&&(pirs2 == LOW))
{
naik();
}
if (( pirs1 == LOW)&&(pirs2 == HIGH))
{
naikmati();
}
if (( pirs2 == HIGH)&&(pirs1 == LOW))
{
turun();
}
if (( pirs2 == LOW)&&(pirs1 == HIGH))
{
turunmati();}
}
tapi untuk yang naik atasya lampu tidak menyala karna bentrok dengan
program yang ke turunmati..
Reply
9. heri says:
April 15, 2014 at 11:25
Reply
Kalo misalkan #include itu apa ya? apakah harus dimasukkan di dalam code?
Reply
trimakasih pa, informasinya sangat mmbantu….dan saya mau tanya ada tidak ebook/buku
kumpulan2 program untuk para pemula,…jika ada dimana harus membelinya,
Reply
12. tri kusnandri says:
December 17, 2014 at 23:21
malam pak
saya ingin abertany cara membuat programing untuk mengukur volume dengan arduino
r3 + pelampung motor bolehkah bapk memberikan langkah”nya?
Reply
terimakasih pak atas info ? mohon bantuannya cz saya baru di bidang arduino ini
Reply
pak mau nanya,biar key bisa konek ke pengaturan timer apa kodenya?
Reply
Reply
Bang minta program dht11 arduino uno dong, error mulu pas di dht DHT(DHTTYPE
DHTPIN)
Makasi bang
Reply
pak. saya pendatang baru, mau tanya kalau sketch lampu on/off 4 buah itu hanya pakai
void setup aja apa pakai void loop?
Reply
kalo untuk menampilkan dibelakang koma cuma dua angka dari pembacaan sensor itu
gimana pak? misalnya 20,34 C. terimakasih
Reply
Reply
pak mau nanya pak, kalau program arduino untuk menggerakkan motor dc biar bs
cw/ccw dan bisa diatur pwmnya, dengan menekan button maka motornya berputar 90
derajat trus button satu lg klu ditekan maka motornya berputar lg pak. mohon bantuanya
teomakasih pak. motor dc ini saya gabungkan dengan driver mosfet pak
Reply
Leave a Reply
Your email address will not be published. Required fields are marked *
Comment
Name *
Email *
Website
Post Comment
Search
Recent Posts
Menggunakan ITEAD Bluetooth Shield dengan Arduino Uno – R3
Find us on Facebook
Famosa Studio
4.349 suka
Famosa Studio
sekitar setahun yang lalu
YOUTUBE.COM
Alonso Mar...
We're gushin...
Follow us on Twitter
FamosaStudio on Twitter
Follow
triari_official
HenncoEnterpris
triari_o HenncoEn
syamsyul DkrElect AmiraAin AdindaGi AuliaPu7 Snap_EDA Rod_uChi Electron
@FamosaStudio
Recent Comments