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)
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
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.
2a
1a 2a
1a
1b/2b
Kondisi lampu nyala, saklar terbuka Pull Up
resistor
analogRead(PIN_NUMBER)
Membaca pin analog PIN_NUMBER dan
mengembalikan bilangan bulat antara 0
dan 1023
Contoh
analogWrite(PIN_NUMBER, VALUE)
•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
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()
Syntax
•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.