Dasar Dan Logika Pemrograman Arduino
Dasar Dan Logika Pemrograman Arduino
Pemrograman
Arduino
SISTEM BENAM 2022
TEKNIK INFORMATIKA
UIN SYARIF HIDAYATULLAH JAKARTA
Sinyal Analog vs. Digital
Bersifat Kontinyu
Bersifat Diskrit
Struktur Arduino Uno
Dasar Pemrograman C
Import Library
Contoh: #include <Keypad.h>
#include <MFRC522.h>
Define konstanta
Contoh: #define PI 3.14159
#define TONE_D4 284
Membuat Fungsi
Contoh: void fungsi() {
....
}
Dasar Pemrograman C
Membuat Fungsi dengan Parameter
Contoh: void fungsi(int angka, float desimal) {
....
}
Memanggil Fungsi
Contoh: fungsi(25, 3.14);
Dasar Pemrograman Arduino
Struktur dasar dalam pemrograman arduino terdiri dari dua fungsi, yaitu
fungsi persiapan “setup()” dan fungsi utama “loop()”
Contoh:
void setup() {
pinMode(pin, OUTPUT);
}
void loop() {
digitalWrite(pin, HIGH);
}
TRUE / FALSE
Merupakan konstanta Boolean yang mendefinisikan nilai logika.
FALSE bernilai 0 dan TRUE bernilai 1.
Contoh: if (condition == TRUE) {
....
}
Konstanta dalam Arduino
HIGH / LOW
Konstanta ini menentukan nilai pin sebagai HIGH atau LOW dan
digunakan ketika membaca/menulis ke pin digital.
HIGH didefinisikan sebagai tingkat logika 1 / ON / 5volt
LOW didefinisikan sebagai tingkat logika 0 / OFF / 0volt
INPUT / OUTPUT
Konstanta ini digunakan pada fungsi pinMode() untuk menentukan
mode pin digital sebagai input atau output.
pinMode(pin, Mode)
Instruksi yang digunakan pada fungsi void setup() untuk menginisialisasi
suatu pin sebagai input atau output.
Contoh: void setup() {
pinMode(3, OUTPUT); // pin digital 3 sebagai output
pinMode(A1, INPUT); // pin analog 1 sebagai input
}
Fungsi dalam Arduino
digitalRead(pin)
Instruksi yang digunakan untuk membaca input dari suatu pin digital yang
hasilnya berupa logika HIGH atau LOW. Pin digital dapat diartikan sebagai suatu
variabel atau konstanta 0-13 yang mewakili Digital in/out pada board arduino.
Contoh: value = digitalRead(13);
digitalWrite(pin, value)
Instruksi yang digunakan untuk memberi nilai output pada HIGH (1) atau LOW
(0) pada pin digital. Pin digital diartikan sebagai suatu variabel atau
konstanta 0-13 yang mewakili Digital in/out pada board arduino.
Contoh: digitalWrite(13, HIGH);
digitalWrite(8, LOW);
Fungsi dalam Arduino
analogRead(pin)
Instruksi untuk membaca nilai input analog dengan resolusi 10 bit. Instruksi ini
hanya berlaku untuk pin A0-A5 yang mampu membaca nilai analog. Karena
beresolusi 10 bit, maka hasil pembacaan rentang nilai antara 0 sampai 1023.
Contoh: value = analogRead(A0);
analogWrite(pin, value)
Instruksi yang berfungsi untuk memberi nilai output pada PWM (pulse width
modulation). Pada board Arduino Uno, Mini, dan Nano, PWM terletak pada
pin 3, 5, 6, 9, 10, 11 (lihat pada slide ke-3). Nilai PWM berkisar antara 0-255.
Contoh: analogWrite(3, 255);
Fungsi dalam Arduino
delay(ms)
Instruksi untuk memberi jeda sebelum lanjut ke perintah selanjutnya. Jeda
dalam satuan mili detik.
Contoh: delay(1000); // memberi jeda waktu selama 1 detik
milis()
Instruksi untuk mengambil waktu sejak program dijalankan hingga program
berhenti atau dimatikan.
Contoh: value = milis(); // mengambil waktu dalam ms
Fungsi dalam Arduino
tone(pin, frekuensi, durasi)
Instruksi untuk menghasilkan nada frekuensi dengan durasi tertentu dan
dikirimkan pada pin yang dituju.
Contoh: tone(8, 1000, 250); // kirim frekuensi 1KHz selama 250ms
noTone(pin)
Instruksi untuk menghentikan frekuensi yang dihasilkan pada pin yang dituju.
Contoh: noTone(8); // stop nada frekuensi pada pin 8
Fungsi dalam Arduino
randomSeed(seed)
Instruksi untuk mengambil nilai acak dengan seed sebagai parameter untuk
mengatur pola nilai acaknya.
Contoh: value1 = randomSeed(); // mengambil nilai acak bebas
value2 = randomSeed(4); // mengambil nilai acak dengan seed 4
random(min, max)
Instruksi untuk mengambil nilai acak dengan nilai minimum dan maksimum.
Contoh: value1 = random(100); // mengambil nilai acak antara 0-100
value2 = random(50, 100); // mengambil nilai acak antara 50-100
Fungsi dalam Arduino
Serial.begin(rate)
Instruksi untuk membuka port data serial untuk komunikasi serial, baik mengirim
atau menerima data dari serial. Komunikasi serial dapat dimonitor pada console
Serial Monitor. Rate adalah kecepatan yang akan digunakan untuk komunikasi
serial (biasa digunakan 9600 bps).
Contoh: void setup() {
// inisialisasi serial dgn kecepatan 9600bps
Serial.begin(9600);
}
Serial.read()
Instruksi untuk menerima data dari serial port
Contoh: value = Serial.read(); // menerima nilai dari serial port
Fungsi dalam Arduino
Serial.print() dan Serial.println()
Instruksi untuk mengirimkan data ke serial port. Instruksi ini sangat berguna
untuk melakukan debugging dalam console Serial Monitor.
Contoh: // print "hello world" pada console serial monitor
Serial.print("Hello World");
// print "hello world" disertai new line
Serial.println("Hello World");
Serial.available()
Intruksi untuk mendeteksi apakah menerima data dari serial port.
Contoh: if (Serial.available()) {
value = Serial.read();
}
Contoh code
program: