Anda di halaman 1dari 22

Dalam modul ini akan dijelaskan bagaimana memakai simulator Arduino dan hal-hal dalam

memprogram dalam Bahasa C dasar.

1
2
Jika kita ingin belajar memprogram Arduino, kita bisa belajar tanpa mempunyai Arduino.
Disamping harus membeli, dengan hardware Arduino kita harus memasang kabel-kabel dan
komponen-komponen lain, dengan resiko, bisa merusakkan Arduino kita. Dengan simulator,
semua dilakukan di computer, sehingga tidak khawatir merusakkan arduino

3
Lkukan menurut perintah-perintah berikut

4
Setelah login berhasil, akan masuk ke layar seperti ini. KEMUDIAN Circuit, create new circuit

5
Dengan petunjuk seperti pada Modu 2, buat desain sesuai kebutuhan, yaitu Arduino
dengan satu LED. Kaki ground terhubung ke pin GND Arduino, kemudian kaki + dihubungkan
ke Resistor 10 Ohm, kemudian ke Pin 13 Arduino. Atau bisa digunakan Model yang sudah
ada.

6
Lakukan dengan benar. Sekali lagi harus DILAKUKAN tidak hanya dibaca.

7
Default dari Code adalah Bahasa Block. . Ini biasa dipakai anak-anak SD pada pemrogram
pemula.
Agar bisa memprogram dalam Bahasa C, maka Kita pilih Text

8
Akan muncul Bahasa C pada jendela code.

9
Tujuan program yang pertama ini adalah membuat lampu berkedip : 1 detik hidup, 1 detik
mati

10
Void : adalah jenis fungsi. Yang lain adalah : int  outputnya integer; contoh int
pangkat(x,2)  pangkat akan menhasilkan nilai integer misalnya pangkat(2,2) akan
menghasilkan angka integer 4
Berbeda dengan fungsi int, fungsi void tidak akan menghasilkan angka apapun.
Setup() : nama fungsi. Yang di dalam kurung adalah argumennya. Void tanpa argument.
PERHATIAN : di dalam C huruf kecil dan besar berbeda.
pinMode(13,OUTPUT) : Pin 13 diset sebagai OUTPUT berarti pin 13 akan digunakan untuk
mengeluarkan hasil, dalam hal ini memberi nilai “1” (HIGH) atau “0” (LOW) pada pin 13,
sehingga LED HIDUP atau MATI.
Selain menggunakan /* …komentar …*/, yang bisa beberapa baris, komentar juga bisa
menggunakan kode // … komentar …. Untuk komentar satu baris

11
Yang dimaksud void tidak ada outputnya itu, misalnya sin(30) itu ada outputnya, yaitu
angka hasil hitungan sin(30). Tetapi misalnya TulisNama() itu tidak ada outputnya
(angkanya)
Di dalam IDE Arduino seperti yang kita pakai sekarang, program utama ada di fungsi loop(),
yang khusus akan mengulang-ulang sampai waktu tak terbatas. Arti setiap perintah ...
(seperti padalayar di atas).

12
Marilah kita lihat lebih detil Bahasa C di IDE Arduino. Ada beberpa perintah di IDE Arduino
ini yang tidak ada di Bahasa C pada umumnya, misalnya fungsi loop().
Ada juga fungsi yang lain, misalnya digitalWrite(..) dan digitalRead(..), juga hanya ada di
Arduino
Perhatikan, bahwa pada akhir baris perintah dalam C selalu diakhiri dengan “ ; ”. Jika kita
lupa menuliskan tanda ini, maka akan error.
Perhatikan gambar di samping. Setelah kata HIGH) tidak ada tanda “ ; “ (Panah merah) ,
sehingga ada error (Panah Putih.
Kemungkinan kesalahan yang lain adalah SALAH KETIK, misalnya harusnya digitalWrite
ditulis digitalWrites (Panah hijau). Pesan error dan saran perbaikan ada di panah kuning

13
Ubahlah program yang ada (blink) sembarang. Anda bisa mengganti setup menjadi Setup,
misalnya, mengganti angka 1000 menjadi angka berapapun, …. Dst.
Kalau no. 2 hanya cukup mengubah angka delay.
Yang no 3 ? Perlu menambahkan satu set kedip cepat, kemudian mati lama.
Cobalah. Anda akan mendapatkan keasyikan tersendiri dalam membuat program.

14
Di dalam Bahasa pemrograman, termasuk C, maka diperlukan variable untuk menyimpan
data. Variabel akan menyimpan suatu nilai/angka. Nilai yang disimpan di variable bisa
diubah.
Nilai yang tersimpan bisa bilangan integer (bilangan bulat  int ), float (bilangan decima
float), char (character), atau bool (logika : ya/tidak)
Variabel diberi nama. Nama variable tidak boleh sama dengan kata kunci di C. Misalnya
kita TIDAK BOLEH membuat nama variable “delay”, “digitalWrite”, “setup”, dsb.
Juga tidak boleh mengandung spasi : “waktu delay”  salah. “WaktuDelay” betul
Nama adalah case sensitive : “waktuDelay tidak sama dengan “WaktuDelay”
Sebelum dipakai, variable harus dideklarasikan lebih dahulu :
Cara deklarasi variable : int Waktudelay, boleh diberi nilai : float RataRata = 2.57;
Cara memberi nilai variable : secara langsung  WaktuDelay = 1000 ;
atau persamaan : WaktuDelay = WaktDelay + BedaDelay

15
Tujuan Program : membuat lampu berkedip semakin lama semakin cepat, kemudian
melambat lagi
Pada program sebelumnya, delay tetap, delay(1000) atau delay (200).
Mari kita buat waktu delay semakin lama semakin cepat (dari 1000, 900, 800, 700, ……100,
Jika sudah samapi 100 naik lagi : 100, 200, 300, ….1000.
Setelah sampai 1000 turunn lagi .. Dst.
Bagaimana membuatnya?
Kita perlu membuat variable. Nama variable tidak boleh sama dengan kata kunci di C.
misalnya kita TIDAK BOLEH membuat nama variable “delay”.
Misalnya kita buat namanya adalah WaktuDelay. Maka dalam delay yang dipakai bukan
angka pasti : delay(1000), tetapi variable : delay(WaktuDelay)
Niai WaktuDelay ini akan berubah ubah setiap program mengulang lagi dari loop.
Beda perubahannya bisa -100 atau +100, tergantung turun atau naik. Nilai perbedaan ini
disimpan dalam variable “BedaDelay”. Jadi saat turun BedaDelay = -100, saat naik
BedaDelay = 100.
Pada saat nilai WaktuDelay turun dari 1000, 900, ..dst, WaktuDelay berkurang 100
maka ditulis WaktuDelay = WaktuDelay+BedaDelay, dengan BedaDelay -100
Pada saat WaktuDelay mencapai 100, maka WaktuDelay dibuat bertambah lagi, sehingga
bertambah 100, agar WaktuDelay naik WaktuDelay=WaktuDelay+BedaDelay, dengan
BedaDelay = 100. Begitu seterusnya.

16
Untuk itu diperlukan kata kunci baru yaitu if (jika)
Jika WaktuDelay mencapai <50, maka BedaDelay = 100
Jika WaktuDelay mencapai >1000, maka BedaDelay = -100
Selain itu, maka BedaDelay tidak berubah, kalau tadinya -100 ya tetap - 100
Kemudian nilai WaktuDelay berubah menjadi WaktuDelay = WaktuDelay+BedaDelay
(baris24)
Cara penulisnnya : perhatikan baris 20. if, huruf kecil semua kurungbuka WaktuDelay
kurung tutup <50 : Jika WaktuDelay<50, maka BedaDelay = 100 ..dst

17
Untuk itu, pertama-tama kita beri nilai awal dahulu untuk variable WaktuDelay dan
BedaDelay.
Jika tidak diberi nilai awal, maka berarti WaktuDelay dan BedaDelay belum ada nilainya,
sehingga perintah delay(WaktuDelay) pada baris 16 dan perintah if(BedaDelay<50) pada
baris 20 tidak dapat dikerjakan.

18
Jika tidak diberi nilai awal, maka berarti WaktuDelay belum ada nilainya, sehingga perintah
delay(WaktuDelay) pada baris 16 tidak dapat dikerjakan.
WaktuDelay = WaktuDelay + BedaDelay. Pada saat WaktuDelay = 1000, dan Nilai BedaDelay
= -100, yaitu di awal nilai, maka nilai WkatuDelay akan semakin kecil karena dikurangi 100
setiap awal loop. Sehingga mencapai 100.
Jika nilai WaktuDelay<100, maka BedaDelay berubah menjadi +100 dengan perintah :
if ( WaktuDelay < 100) BedaDelay = 100;
Setelah itu, maka WaktuDelay akan bertambah serratus-serratus sehingga suatu saat akan
mencapai >1000.
Jika WaktuDelay > 1000, maka BedaDelay berubah menjadi -100,
if(WaktuDelay>100) BedaDelay = -100;
Begiru seterusnya …
Semakin kecil waktu delay, maka LED hidup/mati semakin cepat.

19
20
21
22

Anda mungkin juga menyukai