Anda di halaman 1dari 35

Dasar

Pemrograman
Arduino
Sistem Tertanam (2022)
Ilham Firman Ashari
Dasar Pemrograman Sistem
Tertanam
Void Setup
Fungsi void setup() dijalankan pada saat sketch atau program
Arduino mulai. Fungsi ini digunakan untuk menginisiasi variabel,
mendeklarasikan pin yang digunakan, menggunakan library,
dll.

Void Loop
Fungsi void loop() dijalankan setelah fungsi setup() sudah selesai
dijalankan, void loop() bertujuan untuk mengeksekusi dan
menjalankan program yang sudah dibuat. Fungi ini akan secara
aktif mengontrol board Arduino baik membaca input atau merubah
output.
digitalWrite(pin_number,value)
Value
High Berfungsi untuk memberi nilai HIGH ke pin digital. Jika pin telah
dikonfigurasi sebagai OUTPUT dengan pinMode(), tegangan akan
diatur ke nilai yang sesuai: 5V (atau 3.3V) untuk HIGH

Low
Berfungsi untuk memberi nilai LOW ke pin digital. Tegangan akan
diatur ke nilai 0V (ground) untuk LOW.
digitalRead(pin_number)

Value
High Berfungsi untuk memberi nilai HIGH ke pin digital. Jika pin telah
dikonfigurasi sebagai OUTPUT dengan pinMode(), tegangan akan
diatur ke nilai yang sesuai: 5V (atau 3.3V) untuk HIGH

Low
Berfungsi untuk memberi nilai LOW ke pin digital. Tegangan akan
diatur ke nilai 0V (ground) untuk LOW.
sebagai masukan (sensing)

INPUT
pinMode(xxx, OUTPUT )
sebagai keluaran (actuating)

nomor pin yang digunakan

pinMode(), digitalWrite() dan digitalRead() adalah fungsi untuk mengakses input dan output digital pada Arduino.
Fungsi ini untuk menyederhanakan perintah yang berhubungan dengan pin I/O board Arduino.

pinMode( pin, mode); Berfungsi untuk mengkonfigurasi pin tertentu agar berperilaku sebagai input atau output.
INPUT_
pinMode(xxx, PULLUP )
nomor pin yang digunakan
Struktur Switch
(Saklar)
Ketika tombol tekan ditekan, nilainya menjadi
HIGH dan mengalirkan arus listrik. Namun,
setelah dilepas, tombol akan bernilai LOW dan
memutuskan arus listrik.

Normally Open (NO) dan Normally Close (NO)

Normally Open
Floating Point

"Floating logic" adalah suatu fenomena dalam rangkaian mikrokontroler dimana mikrokontroler tidak dapat membaca
nilai tegangan yang masuk ke pin I/O. Hal tersebut dikarenakan tegangan yang masuk tidak memenuhi nilai 5 Volt dan
tidak juga 0 Volt. Oleh karena itu mikrokontroler sulit untuk menentukan sinyal tersebut termasuk katagori HIGH (5V)
atau LOW (0 V).
Pull Down
Resistor
•Pada rangkaian Pull DOWN
resistor, nilai tegangan
normal yang mengalir ke Pin
I/O ketika push button tidak
ditekan adalah 0 Volt DC /
LOW.
•Ketika push button ditekan
maka nilai Pin I/O akan
mendapatkan nilai tegangan
5 Volt / HIGH.
Pull-Down Resistor
1b 2b

1a 2a
1b/1a

1a/1b
2a/2b
Pull
Down
Resistor
Pull UP
resistor
•Pada rangkaian Pull UP
resistor, nilai tegangan
normal yang mengalir ke Pin
I/O ketika push button tidak
ditekan adalah 5 Volt DC /
HIGH.

•Ketika push button ditekan


maka nilai Pin I/O akan
mendapatkan nilai tegangan
0 Volt karena arus listrik dari
VCC mengalir ke Ground.
Pull Up Resistor
1b 2b

2a
1a 2a
1a

1b/2b
Kondisi lampu nyala, saklar terbuka Pull Up
resistor

Kondisi lampu mati, saklar tertutup


Perbaikan

Perubahan logika button


Resistor Pull Down
Resistor Pull up
CONTOH

Buatlah kode program untuk menjalankan


rangkaian berikut
Dengan logika
Apabila button tidak ditekan maka lampu
yang akan menyala adalah lampu merah
Dan apabila button ditekan lampu hijau 1
dan 2 akan menyala secara bergantian
Kode
Program
Contoh
Analog

analogRead(PIN_NUMBER)
Membaca pin analog PIN_NUMBER dan
mengembalikan bilangan bulat antara 0
dan 1023
Contoh
analogWrite(PIN_NUMBER, VALUE)

Analog Mengemulasi output analog VALUE


menggunakan PWM pada PIN_NUMBER
(catatan: hanya tersedia pada pin 3, 5, 6, 9,
10, dan 11)
Latihan 2
Contoh 1

•Arduino UNO
•LED
•Resistor 100 Ohm
•Breadboard
•Potensiometer

•Delay menggunakan
potensiometer
Tugas 2
delay(xxxx)
Delay digunakan jika dalam pemberian perintah Input dan Output
ingin diberikan waktu jeda untuk perintah khusus tertentu. Delay
menggunakan satuan ms(milli seconds) atau 1/1000 detik, artinya
jika ingin membuat jeda 1 (satu) detik maka dituliskan dengan 1000.
Mathematical Function Arduino
Syntaks

Fungsi map() memiliki 5 parameter


yaitu value, fromLow, fromHigh, toLow dan toHigh.

Berikut penjelasannya.
1.value = nilai yang akan dipetakan.
2.fromLow = batas bawah nilai awal.
3.fromHigh = batas atas nilai awal.
4.toLow = batas bawah rentang target nilai.
5.toHigh = batas atas rentang target nilai.
Contoh Penggunaan
Fungsi map()

Penggunaan fungsi map() sangat luas, salah


satunya adalah memetakan pembacaan nilai
analog 10 bit (0-1023) menjadi 8 bit (0-255).

Pada contoh ini kita membutuhkan


Potensiometer (10K Ohm) sebagai sensor
yang digunakan dan Arduino Uno sebagai
mikrokontroler.
Contoh
Float Map()
data berjenis float dari 0-1023 menjadi 0-100.
Fungsi Matematika
Constraint()
Fungsi constrain() pada Arduino adalah sebuah fungsi yang berfungsi untuk
memberikan batasan (batas atas dan batas bawah) dari sebuah nilai

Syntax

fungsi constrain() memiliki 3 parameter, yakni x, a, b.


x = Nilai yang ingin diberi batas, menerima semua jenis data.
a = Nilai batas bawah, menerima semua jenis data.
b = Nilai batas atas, menerima semua jenis data.
program untuk mengendalikan sudut motor servo
berdasarkan potensiomete
motor servo hanya berada pada sudut 0°-90° tidak
Contoh peduli sejauh apa pun potensiometer diputar.
Program
Tugas 3

•Jika nilainya 1 sampai 60, maka lampu hijau akan menyala, servo akan berputar 60 derajat.
•Jikai nilainya 60 sampai 80, maka lampu kuning akan menyala, servo akan berputar 90 derajat.
•Jika nilainya lebih dari 80, maka lampu merah akan menyala dan servo akan berputar 30 derajat.
•Jika nilainya 0, maka semua lampu akan mati dan servo akan berputar 120 derajat.

Anda mungkin juga menyukai