Skip to main content

Struktur Pemrograman Arduino


Tampilan awal Arduino ID


Ketika aplikasi Arduino IDE dibuka, akan muncul tampilan seperti gambar 1-9. Apa bedanya void setup dengan void loop? Program yang ditulis di dalam void setup() {...} akan di eksekusi/dikerjakan 1 kali. Sedangkan program yang ditulis di dalam void loop() {...} akan dikerjakan secara berulang-ulang dan terus menerus (selama board Arduino diberi suplai tegangan). Program yang ditulis di bagian void setup umumnya adalah program untuk inisialiasi awal, seperti konfigurasi pin input dan output, inisialisasi LCD, dll. Di subbab selanjutnya akan dibahas lebih jauh.

Deklarasi Variabel Mari kita perhatikan gambar berikut 
 Contoh tempat tisu dan termos



Jika kita ingin menyimpan air panas, mana yang kita gunakan? Tempat tisu, atau termos? Ya, benar, kita gunakan tempat tisu! (yang ada termosnya). Hehehehe.. Sama seperti ilustrasi pada gambar 1-10, di bahasa pemrograman, deklarasi variabel bergantung tipe data yang akan kita simpan. Jika kita ingin menyimpan angka, maka yang kita gunakan adalah tipe data integer, long, byte, dkk. Jika kita ingin menyimpan teks, maka yang kita gunakan adalah string atau char. Berikut penjabaran dari masingmasing tipe data:

- Int : untuk penyimpanan bilangan bulat dengan rentang nilai -32,768 s/d 32,768 
- byte : untuk bilangan cacah dengan rentang nilai 0-255 (8 bit) 
- unsigned int : untuk bilangan cacah dengan rentang nilai 0-65,535 (16 bit) 
- long : untuk bilangan bulat dengan rentang nilai -2,147,483,648 s/d 2,147,483,647 
- unsigned long : Untuk bilangan cacah dengan rentang nilai 0-4,294,967,295 (32 bit) 
- float : untuk bilangan rill (pecahan) dengan rentang nilai -3.4028235E+38 s/d 3.4028235E+38 
 - double : untuk Arduino uno sama dengan float 
- char : untuk karakter sesuai tabel ASCII 
- String : untuk teks 

Bagaimana cara pendeklarasiannya? Ada berbagai macam cara, seperti:


Untuk Code 1-2.1, hanya dilakukan deklarasi variabel angka1 dan angka2 bertipe integer. Dalam hal ini, angka1 dan angka2 secara default akan bernilai 0 (nol). Sedangkan code 1-2.2, dilakukan pengisian nilai pada variabel angka1 dan angka2 masing-masing dengan nilai nol dan 10. Code 1-2.3 mempunyai hasil yang sama seperti pada code 1-2.2, yaitu variabel angka1 bertipe integer dengan nilai nol dan variabel angka2 bertipe integer dengan nilai 10.

Pun demikian dengan untuk penyimpanan variabel bertipe string. Code 1-2.4 mempunyai hasil yang sama dengan code 1-2.5 meski cara penulisannya berbeda.

Kondisi Bersyarat 
Pernahkah kita mengisi bak mandi? Kapan kita membuka dan menutup keran air di bak mandi? Misalkan kita mengisi bak mandi jika air dalam bak mandi kurang dari separuh volume bak mandi, sedang kita menutup keran jika volume air sudah sama dengan volume maksimal bak mandi atau jika air sudah meluber. Sadarkah kita jika proses itu sudah melibatkan kondisi bersarat ‘if – then - else’? Mari perhatikan code 1- 3.1 dan 1-3.2.

Apa perbedaan code 1-3.1 dengan code 1-3.2? Ya, terdapat tambahan else pada code 1-3.2. Yang perlu diperhatikan, adalah code 1-3.1 merupakan 3 buah kondisi bersyarat yang berdiri sendiri –tidak terpaut satu sama lain-, sedangkan code 1-3.2 merupakan satu kesatuan sebuah kondisi bersyarat. Perbedaan dari kedua code akan dibahas lebih detail di bab selanjutnya.
Di dalam kondisi bersyarat if then terdapat operator pembanding yaitu:
If ( X == Y ) jika X sama dengan Y
If ( X != Y ) jika X tidak sama dengan Y
 If ( X < Y ) jika X kurang dari Y
If ( X > Y ) jika X lebih dari Y
If ( X <= Y ) jika X kurang dari sama dengan Y
If ( X >= Y ) jika X lebih dari sama dengan Y
Bisa juga jika kita mempunyai lebih dari 1 kondisi bersyarat, dengan menggunakan:
If ( X==Y && Y!=Z) jika X sama dengan Y dan Y tidak sama dengan Z
If ( X==Y II Y!=Z) jika X sama dengan Y atau Y tidak sama dengan Z

Kondisi bersyarat lainnya adalah switch-case. Mari kita perhatikan code 1-3.3 dan code 1-3.4.
 
Apakah keduanya berbeda? Secara penulisan program memang YA! Tapi secara hasil keluaran, code 1-3.3 dan code 1-3.4 itu SAMA. Jadi, sudah paham kan bedanya If – then dengan switch – case? Pahaaaaaam, siiiiiip... ^^b

Perulangan Bersyarat Pernah mengamati lampu lalu lintas yang dilengkapi penghitung waktu digital? Ketika lampu merah, akan ada hitungan mundur misalkan dari angka 60 hingga 0, lalu berganti ke hijau misalkan dari angka 18 hingga 0, lalu berganti sejenak lampu kuning. Selanjutnya berulang-ulang secara terus menerus hingga listrik dari PLN padam. Hehehehe.


Ilustrasi algoritma perulangan pada lampu lalu lintas

 
Jika melihat ilustrasi pada gambar 1-11, urutan nyala lampu adalah 1-2-3 lalu kembali lagi 1-2-3 lalu kembali lagi 1-2-3 dan seterusnya. Sehingga program nyala lampu 1-2-3 berada dalam looping utama (dalam void loop). Dan masing-masing nyala lampu 1, 2 dan 3 merupakan unit perulangan tersendiri. Sehingga perulangan untuk nyala lampu lalu lintas dapat dituliskan seperti code 1-4.1

 
 ge-newline"> Dengan:
int konter = xx deklarasi variabel konter dengan nilai = xx,
konter >, <, <=, >= xx looping akan terus dijalankan selama nilai konter >, <, <=, atau >= dari nilai xx,
konter --,++ nilai konter ditambah +1(++) atau dikurangi -1(--) setiap satu looping selesai dijalankan
Jadi untuk perulangan bersyarat for, perulangan akan trus dilakukan selama kondisi syarat (yang ditulis di bagian tengah) terpenuhi. Nilai konter juga dapat digunakan untuk program di dalam looping for. –pada bab selanjutnya dibahas lebih detail dengan contoh aplikasinya— Kondisi perulangan bersyarat lainnya adalah while. Code 1-4.2 mempunyai hasil yang sama seperti code 1-4.1.

Setelah while yang ditulis hanya syarat perulangan. Untuk penambahan nilai ++ atau -- ditulis di dalam looping while. Untuk deklarasi variabel ditulis sebelum while.

Yang perlu diperhatikan adalah, karena deklarasi variabel int konter ditulis di luar looping while, maka untuk selanjutnya, cukup ditulis konter = xx; untuk memberi nilai awal dari variabel konter. Dan ingat, nama variabel tidak harus ‘konter’, bisa ditulis sesuai selera masing-masing


Contact Person : Taufik Adi Sanjaya
No HP / Whats App : 0823 2613 3990
PIN BBM 5983E244
Alamat : Jalan Imogiri Timur KM 11, 
Blawong 1 , RT 01, Trimulyo, 
Jetis, Bantul 55781.

Anda membutuhkan komponen elektronik , Arduino, Sensor, Tutorial(paket belajar), jasa pembuatan alat berbasis mikrokontroler, kendali lampu via jaringan LAN, dan sebagainya ? anda dapat membelinya di  
 
 
https://www.tokopedia.com/mikroholik

Comments

Popular posts from this blog

GROUND bagian 1 by Sarono Elektronika Blog Adi Sanjaya Global Techno Solution - AS-GTS

GROUND bagian 1
Banyak pertanyaan kepada saya apa itu ground ? apa guna nya ? apakah selalu ground itu negatif ? Apa yang di maksud titik netral pada pencatu daya terbelah ?
Agak sulit menerangkan dengan kata kata, bahkan dari hasil diskusi saya dengan beberapa teman yang sudah pakar elektronik juga mereka menemukan kesulitan nya mengungkapkan dengan kata kata walau kita mengerti tentang ground.
Untuk itu saya mencoba menerangkan semaksimal mungkin, tetapi sesungguh nya yang"mendengar" mestinya sudah punya ilmu elektronika minimal sampai teknik penguat audio.
Jadi, jika belum memehami tentang teknik audio dan masih bingung tentang konsep dan aplikasi ground masih di maklum kan.
Pada rangkaian listrik sederhana tidak di perlukan ground, misalkan senter, (body nya terbuat dari plastik) itupun sering negatif nya di hubungkan dengan body senter terbuat dari logam.
a. Pengertian Ground
Ground adalah titik yang dianggap sebagai titik kembali nya arus listrik arus seara…

HAMBATAN LISTRIK by Sarono Elektronika Blog Adi Sanjaya Global Techno Solution - AS-GTS

HAMBATAN LISTRIK
Pada bahasan sebelumnya sudah di tegaskan bahwa menghubungkan langsung positip dan negatip battery tidak boleh di lakukan, karena jumlah elektron yang mengalir menjadi sangat besar dan selama mengalir antara elektron saling berbenturan dan menimbulkan panas yang besar.
TETAPI
1) Jika jalan yang di lalui panjang (kawat nya panjang), maka kawat itu akan menjadi perlawanan listrik, makin panjang kawat maka perlawanan terhadap arus listrik juga semakin besar.
2) Atau kalau jalan nya arus di kawat juga di kecilkan (tebal kawat) nya di tipiskan juga akan menghasilkan Hambatan bagi arus semakin besar (Hambatan listrik membesar).
Dengan demikian kita bisa menghambat arus listrik itu dengan membuat kawat yang panjang dan mengatur tipis nya (luas penampang) kawat.
Ada faktor ke 3 yaitu jenis kawat.
Jenis kawat tertentu lebih mudah melewatkan arus, sementara kawat yang lain lebih sulit melewatkan arus.
Dalam teori elektron dapat di jelas kan : kawat tertentu daya ika…

Cara menggunakan modul relay dengan arduino UNO.

Material yang di butuhkan:
- Relay module 2 channel
- Arduino UNO.
- kabel jumper male - female

Relay module 2 channel  5V dengan 2 channel output dapat digunakan sebagai saklar elektronik untuk mengendalikan perangkat listrik yang memerlukan tegangan dan arus yang besar. Kompatible dengan semua mikrokontroler khususnya Arduino


Spesifikasi
•    Jumlah Relay : 2
•    Control signal : TTL level (ACTIVE LOW) ini artinya relay akan aktif jika kita memberikan logika LOW ke pin trigger relay (pin in1 /in 2)

Catatan : gambar bisa jadi berbeda dengan fisik relay yang dikirim, tapi pin pin pasti terdiri dari pin Vcc GND dan pin in1/in2 … untuk jumlah channel lainnya maka pin in1 2, dst akan sesuai dengan jumlah channel relay modul
•    Rating arus : 10A 250VAC, 10A 30VDC, 10A 125VAC, 10A 28VDC
•    Contact action time : 10ms/5ms
•    Indikator LED untuk masing masing channel



Catatan : gambar bisa jadi berbeda dengan fisik relay yang dikirim, tapi pin pin pasti terdiri dari pin Vcc GND dan pin in1/in2…