03modul Belajar Arduino Untuk Siswa
03modul Belajar Arduino Untuk Siswa
INFORMATIKA
INFORMATIKA
MODUL BELAJAR
MENGENAL ARDUINO
DAN IMPLEMENTASINYA
EDISI KE-1 STARTER
Ditulis oleh :
Achmad Falichul Hidayat, S.Kom
Apa sih Arduino itu ?
Arduino atau biasa juga disebut Mikrokontroler Arduino yaitu suatu kit
elektronik open source yang dirancang spesial untuk mempermudah
penggunanya bereksperimen. Khususnya dalam menghasilkan atau
MODUL BELAJAR ARDUINO
UNTUK PELAJAR - EDISI KE-1 (STARTER)
Robotika
R3
o
Un
no
dui
Smart Home Ar
Drone
Smart Farming
Cek Detak Jantung
1
Mengapa Kita Belajar Arduino?
Belajar pemrograman khususnya pemrograman hardware untuk project
Arduino tentu tak hanya sebatas mengenal teknologi otomasi dan
meningkatkan kemampuan melakukan pemrograman yang akan di
dapatkan, tetapi berbagai hal terkait dengan hal tersebut.
MODUL BELAJAR ARDUINO
UNTUK PELAJAR - EDISI KE-1 (STARTER)
Nah ini adalah tiga manfaat belajar pemrograman hardware untuk project
Arduino, di antaranya adalah sebagai berikut ini.
2
Prinsip Kerja Arduino
Secara sederhana, prinsip kerja dari Arduino bisa kita gambarkan seperti
di bawah ini.
MODUL BELAJAR ARDUINO
UNTUK PELAJAR - EDISI KE-1 (STARTER)
ARDUINO
KOMPONEN Pin Pin KOMPONEN
INPUT Input MIKROKONTROLER Output OUTPUT
Prinsip kerja arduino Arduino ibaratkan suatu otak dalam rangkaian. Arduino
ACHMAD FALICHUL HIDAYAT, S.KOM
Pembacaan data oleh komponen input > data dikirim ke pin input > data
masuk ke mikrokontroler > data diproses > data keluar dari Arduino >data
dikirim ke pin output > data diteruskan ke komponen output.
3
Mengenal Sensor
Apa sebenarnya sensor itu, bagaimana bentuknya dan apa saja jenisnya ?
Sensor adalah piranti yang ditujukan untuk mendeteksi keberadaan suatu
perubahan yang ada dan memberikan tanggapan berupa keluaran,
umumnya berupa isyarat listrik contohnya seperti sensor suhu yang akan
memberikan keluaran perubahan suhu dalam bentuk celcius.
MODUL BELAJAR ARDUINO
UNTUK PELAJAR - EDISI KE-1 (STARTER)
Sensor Biometrik
Sensor Gerakan
Sensor Lokasi
Sensor Lokasi adalah sensor yang dapat
memberikan informasi lokasi secara geografis.
Sebagai contoh GPS receiver dapat memberikan
ACHMAD FALICHUL HIDAYAT, S.KOM
Sensor Cahaya
4
Mengenal Sensor
Sensor Listrik
Sensor Lingkungan
Sensor Lingkungan adalah sensor yang
memberikan informasi berupa cuaca atau
lingkungan kita. Contohnya adalah sensor
kelembaban udara dan sensor suhu.
Sensor Mekanik
Sensor Mekanik adalah sensor yang berhubungan
dengan pengukur mekanisme dan alat-alat mekanis.
Sebagai contohnya yaitu Sensor Flex, Flexi Force,
Timbangan Digital.
Sensor Pemindai
Sensor Suara
Sensor Suara adalah sensor yang berhubungan
dengan suara, contohnya adalah mikrofon yang
mengubah suara menjadi isyarat listrik.
Sensor Jarak
5
Datasheet Arduino
Konektor Pinout
MODUL BELAJAR ARDUINO
UNTUK PELAJAR - EDISI KE-1 (STARTER)
PIN Input/Output PIN digital 0-13 Dapat digunakan sebagai PIN input atau output
Serial 0 (RX), 1 (TX) Untuk menerima atau transmisi data serial TTL
10 (SS), 11 (MOSI), 12
SPI Sebagai komunikasi SPI
(MISO), 13 (SCK)
6
Apa Saja yang Digutuhkan dalam Praktik ini ?
Papan Arduino / Arduino Board
Jenis Arduino yang digunakan dalam
modul belajar ini yaitu Arduino Uno R3 yang
menggunakan chip mikrokontroler
MODUL BELAJAR ARDUINO
UNTUK PELAJAR - EDISI KE-1 (STARTER)
Kabel Jumper
Kabel Data
OTG
USB A-B Male
7
Mengenal Bahasa Pemrograman?
Bahasa pemrograman adalah teknik komunikasi standar untuk
mengekspresikan instruksi kepada komputer. Layaknya manusia, Coding
setiap bahasa memiliki tata tulis dan aturan tertentu.
Ada dua cara untuk mentranslate program yang dibuat dalam bahasa
tingkat tinggi ke bahasa mesin, yaitu compilation dan interpretation.
berbeda untuk beberapa hal terutama karena tujuan dari aplikasi ini adalah
pengiriman perintah ke IC mikrokontroler. Ada beberapa bahasa yang perlu
disesuaikan meskipun secara logika tetap sama dengan bahasa C.
Header
Header berisi library yang kita butuhkan. Library-library dasar yang ada
dalam pemrograman bahasa C, sudah terinput otomatis dalam Arduino IDE.
Library dasar seperti stdio.h, stdlib.h, math.h, kemudian library
mikrokontroler yang digunakan dan masih banyak lagi. Sehingga, ketika
memprogram di Arduino IDE dan perlu library-library dasar sudah tidak
perlu dipanggil lagi di bagian header.
Library yang sifatnya pengembangan, yang tidak termasuk library dasar
maka harus dipanggil dibagian header. Misal library untuk LCD 16x2,
HCSR04, dan masih banyak lagi. Cara menulisnya sebagai berikut:
ACHMAD FALICHUL HIDAYAT, S.KOM
Deklarasi Variabel
Deklarasi variabel yang dimaksud yaitu variabel global, yaitu variabel yang
bisa digunakan diseluruh bagian program ini. Variabel terbagi menjadi dua,
yaitu global dan lokal. Untuk deklarasi variabel global terletak dibagian ini,
tetapi untuk variabel lokal maka dideklarasikan ditiap awal fungsi/prosedur
dimana variabel tersebut digunakan.
Cara penulisannya deklarasi variabel global sebagai berikut:
9
Bahasa Pemrograman di Arduino
Setup
Pada bagian ini, digunakan untuk mengkonfigurasi / mengatur
mikrokontroler supaya sesuai kebutuhan pengguna. Pada dasarnya pin-pin
yang ada pada mikrokontroler bisa digunakan sebagai masukan (input)
atau keluaran (output), baik digital maupun analog. Maka, mikrokontroler
harus diatur sebelum digunakan sesuai kebutuhan.
Kegunaan lainnya yaitu untuk menjalankan program yang hanya sekali
dijalankan seperti tampilan awal program, atau init. Cara menulisnya
sebagai berikut:
Loop
ACHMAD FALICHUL HIDAYAT, S.KOM
Bagian Loop merupakan bagian yang isinya program utama yang akan
dijalankan berulang-ulang. Program yang dijalankan sampai sumber tenaga
(power supply) dicabut.
Jika ingin membuat program menghidupkan LED yang dirangkai active low,
maka sebagai berikut cara penulisan programnya.
10
Aplikasi Arduino IDE
Upload
Open Sketch Serial Monitor
MODUL BELAJAR ARDUINO
UNTUK PELAJAR - EDISI KE-1 (STARTER)
New Sketch
4
ACHMAD FALICHUL HIDAYAT, S.KOM
Upload open
5
Verify New Save
untuk instalasinya
adalah sebagai berikut :
1. Buka halaman
Chrome web store
2. Klik Add to Chrome
3. Klik Add app to
Confirm
4. Klik Launch app
untuk memulai
editor web atau klik
menuju halaman
create.arduino.cc/e
ACHMAD FALICHUL HIDAYAT, S.KOM
ditor.
Aplikasi berbasis
Android ini bisa
digunakan sebagai
alternatif untuk
belajar pemrograman
Arduino tanpa
komputer
14
Praktik - 1
Blinking LED (Perakitan Komponen)
Tujuan :
Katoda (-)
Langkah-Langkah Percobaan :
ACHMAD FALICHUL HIDAYAT, S.KOM
program Percobaan 2 :
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
Rubahlah LED_BUILTIN menjadi angka 13
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
delay(1000); void setup() {
} // inisialisasi pin 13 sebagai output.
pinMode(13, OUTPUT);
}
Amati outputnya dan tuliskan
hasil dari percobaan ke-1 void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}
Amati outputnya dan tuliskan
program Percobaan 3 : hasil dari percobaan ke-2
16
Praktik - 1
Blinking LED (evaluasi)
Setelah mencoba mempraktikkan percobaan ke-4, tuliskan penyebab terjadinya
kesalahan sehingga program tidak bisa berjalan !
1.
2.
3.
4.
5.
Kesimpulan :
Evaluasi 1 :
OUTPUT) ?
3. jelaskan apa yang dimaksud dengan baris program digitalWrite(13, 1) ?
4. Jika dalam percobaan 3, tulisan int led = 13 diganti dengan int led = 10,
menurut kalian apa yang akan terjadi setelah program dijalankan ?
Jelaskan alasannya !
5. sebutkan output yang dihasilkan dari baris program :
digitalWrite(13, HIGH);
delay(2000);
Evaluasi 2 :
Dari rangkaian yang sudah dibuat, pin (+) Led yang sebelumnya dicolokkan
di pin 13 selanjutnya pindahkan ke pin 2. buatlah kode programnya dan tulis
ulang kode programnya di lembar kerja yang disediakan atau di buku tulis.
17
Praktik 2
Lampu Lalu Lintas (Perakitan Komponen)
Tujuan :
Peserta didik diharapkan mampu :
1. merakit komponen elektronika ke papan Arduino.
2. memprogram Lampu Lalu Lintas Sederhana
MODUL BELAJAR ARDUINO
UNTUK PELAJAR - EDISI KE-1 (STARTER)
Rangkaian Percobaan :
PIN
LED
ARDUINO
Merah 4
Kuning 3
Hijau 2
Langkah-Langkah Percobaan :
ACHMAD FALICHUL HIDAYAT, S.KOM
pinMode(3, OUTPUT);
UNTUK PELAJAR - EDISI KE-1 (STARTER)
pinMode(4, OUTPUT);
}
19
Praktik - 2
Lampu Lalu Lintas (evaluasi)
Setelah mencoba mempraktikkan percobaan ke-4, tuliskan penyebab terjadinya
kesalahan sehingga program tidak bisa berjalan !
1.
2.
3.
4.
5.
Kesimpulan :
Evaluasi 1 :
Kondisi diatas akan berjalan secara terus menerus (looping), dan akan
berhenti dengan sendirinya jika Arduino tidak mendapat tegangan listrik
(kondisi off).
Evaluasi 2 :
20
Praktik 3
Kontrol Lampu dengan Push Button (Perakitan Komponen)
Tujuan :
Peserta didik diharapkan mampu :
1. merakit komponen elektronika ke papan Arduino.
2. mengontrol led dengan push button
MODUL BELAJAR ARDUINO
UNTUK PELAJAR - EDISI KE-1 (STARTER)
LED PIN
Led 13
Push Button A3
ACHMAD FALICHUL HIDAYAT, S.KOM
Langkah-Langkah Percobaan :
Susunlah komponen-komponen praktikum seperti gambar diatas :
1. Langkah-langkah pemasangan pin led sama seperti pada praktik 1 dan
hanya menambahkan pin push button.
2. Hubungkan kaki-1 push button ke ground (GND).
3. Hubungkan kaki-2 push button ke kaki-1 Resistor dengan pemasangan
seperti pada gambar.
4. Selanjutnya kaki-2 resistor dihubungkan ke 5V.
5. Pada kaki-2 push button, tambahkan kabel jumper dan dihubungkan ke
pin A3.
6. Selanjutnya lakukan proses mulai menancapkan kabel usb dari Arduino
ke Komputer, klik Compile, dan Upload program ke mikrokotroler
Arduino (langkahnya sama seperti pada praktik 1 dan 2).
21
Praktik - 3
Kontrol Lampu dengan Push Button (Coding)
program Percobaan 1 :
void setup() {
// inisialisasi pin A3 sebagai input.
// insisialisasi pin 13 sebagai output
pinMode(A3, INPUT); program Percobaan 3 :
MODUL BELAJAR ARDUINO
UNTUK PELAJAR - EDISI KE-1 (STARTER)
pinMode(13, OUTPUT);
} Kembalikan kembali nilai logika yang
semula 0 menjadi 1;
void loop() {
if(digitalRead(A3))==1) { Tambahkan variabel yang bernama
digitalWrite(13, HIGH); tombol yang digunakan untuk
} else {
digitalWrite(13, LOW);
menyimpan data push button;
}
delay(10); int Tombol = 0;
}
void setup() {
// inisialisasi pin A2 sebagai input.
Tekan tombol push button dan // insisialisasi pin 13 sebagai output
amati outputnya. selanjutnya pinMode(A3, INPUT);
tuliskan hasil dari percobaan pinMode(13, OUTPUT);
}
ke-1 ke lembar kerja
void loop() {
Tombol=digitalRead(A3);
if(digitalRead(A3))==1) {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
program Percobaan 2:
delay(1000);
} else {
Rubahlah nilai logika push button yang
digitalWrite(13, LOW);
semula 1 menjadi 0. delay(100);
}
void setup() { }
// inisialisasi pin A3 sebagai input.
// insisialisasi pin 13 sebagai output
ACHMAD FALICHUL HIDAYAT, S.KOM
pinMode(A3, INPUT);
pinMode(13, OUTPUT);
Tekan tombol push button dan
} jangan dilepas hingga 10 detik,
Amati outputnya dan tuliskan
void loop() { hasil dari percobaan ke-3 di
if(digitalRead(A3))==0) { lembar kerja
digitalWrite(13, HIGH);
} else {
digitalWrite(13, LOW);
}
delay(10);
}
22
Praktik - 3
Kontrol Lampu dengan Push Button (evaluasi)
Setelah mencoba mempraktikkan ketiga percobaan diatas, dimungkinkan
terjadi beberapa hambatan. tuliskan permasalahan-permasalahan yang kalian
temui dan bagaimana langkah kalian dalam memecahkan permasalahan
tersebut !
MODUL BELAJAR ARDUINO
UNTUK PELAJAR - EDISI KE-1 (STARTER)
Kesimpulan :
Evaluasi 1 :
Evaluasi 2 :
23
Praktik - Lanjutan
Traffic Light
Lampu Lalu Lintas
Tujuan :
Dalam praktik kali ini, kalian akan belajar bagaimana lampu lalu lintas
bekerja dan bagaimana cara memprogramnya.
24
Praktik - Lanjutan
Traffic Light Lampu Lalu Lintas -
Perempatan Jalan
2 Merah 1 M1 #define M1 2
3 Kuning 1 K1 #define K1 3
4 Hijau 1 H1 #define H1 4 Lampu 2
5 Merah 2 M2 #define M2 5
6 Kuning 2 K2 #define K2 6
11 Merah 4 M4 #define M4 11
12 Kuning 4 K4 #define K4 12
13 Hijau 4 H4 #define H4 13
- +
KATODA
ANODA
ACHMAD FALICHUL HIDAYAT, S.KOM
GND
Ke Pin Arduino
Pin 2 - 13
L-4
L-1 L-3
L-2
Ground / GND
25
Praktik - Lanjutan
Traffic Light
Lampu Lalu Lintas
Contoh :
Membuat program lampu lalu lintas di perempatan jalan (satu arah).
Adapun pengaturan waktunya yaitu : Lampu Merah dan Hijau
menyala selama 5 detik, Lampu kuning menyala 2 detik.
MODUL BELAJAR ARDUINO
UNTUK PELAJAR - EDISI KE-1 (STARTER)
L-1 L-1
Kondisi 1 Kondisi 2
L-1 L-1
L-2 L-2
L-2 L-2
H1 = 1, M2 = 1 K1 = 1, M2 = 1 M1 = 1, H2 = 1 M1 = 1, K2 = 1
digitalWrite(H1,1); digitalWrite(H1,0); digitalWrite(M2,0); digitalWrite(H2,0);
digitalWrite(M2,1); digitalWrite(K1,1); digitalWrite(K1,0); digitalWrite(M1,1);
delay(5000); digitalWrite(M2,1); digitalWrite(M1,1); digitalWrite(K2,1);
delay(2000); digitalWrite(H2,1); delay(2000);
delay(5000); digitalWrite(M1,0);
digitalWrite(K2,0);
26
Kode Program / Sketch : Traffic Light
Lampu Lalu Lintas
#define M1 2
#define K1 3 Logika "1" = "HIGH" -> Lampu Menyala
#define H1 4 Logika "0" = "LOW" -> Lampu Padam
#define M2 5 Delay "5000" -> Menunggu selama 5 detik
#define K2 6
Delay "2000" -> Menunggu selama 2 detik
MODUL BELAJAR ARDUINO
UNTUK PELAJAR - EDISI KE-1 (STARTER)
#define H2 7
void setup()
{
pinMode(2, OUTPUT); //Merah-1
pinMode(3, OUTPUT); //kuning-1
pinMode(4, OUTPUT); //Hijau-1
pinMode(5, OUTPUT); //Merah-2
pinMode(6, OUTPUT); //kuning-2
pinMode(7, OUTPUT); //Hijau-2
}
void loop()
{
//(1) Kondisi lampu H1,M2 = ON
digitalWrite(H1,1);
digitalWrite(M2,1);
delay(5000);
digitalWrite(K1,0);
digitalWrite(M1,1);
digitalWrite(H2,1);
delay(5000);
digitalWrite(M1,0);
digitalWrite(K2,0);
}
27
Tantangan ini untuk mengasah logika berpikir kalian, yaitu
dengan mengatur jalannya lampu lalu lintas.
Challenge 1
MODUL BELAJAR ARDUINO
UNTUK PELAJAR - EDISI KE-1 (STARTER)
Pertigaan Jalan
L3
L1
L2
B D
Challenge 2
Perempatan Jalan - 1 Kondisi
L4
ACHMAD FALICHUL HIDAYAT, S.KOM
L1 L3
L2
28
MODUL BELAJAR ARDUINO
ACHMAD FALICHUL HIDAYAT, S.KOM UNTUK PELAJAR - EDISI KE-1 (STARTER)
L1
Challenge 3
L4
L2
Perempatan Jalan - 2 Kondisi
L3
29
Projek Pengembangan
Berikut adalah salah satu contoh projek Arduino yang bisa dikembangkan
kedepannya berkaitan dengan lampu lalu lintas.
MODUL BELAJAR ARDUINO
UNTUK PELAJAR - EDISI KE-1 (STARTER)
ACHMAD FALICHUL HIDAYAT, S.KOM
30