L
ARDUI
PRAKT
NO
EK
Daftar Isi
MODUL PRAKTEK...........................................................................................................1
........................................................................................................................................1
........................................................................................................................................1
ARDUINO.......................................................................................................................1
Daftar Isi..........................................................................................................................2
Job Sheet 1 Tipe data, Variabel dan String..........................................................................7
A. Tujuan....................................................................................................................7
B. Alat dan bahan........................................................................................................7
C. Teori......................................................................................................................7
D. Sketch....................................................................................................................8
1. Sketch 1 : Tipe Data...........................................................................................................................8
2. Sketch 2 : Variabel Global dan Lokal..................................................................................................9
3. Sketch 3 : Variabel Statis....................................................................................................................9
4. Sketch 4 : string...............................................................................................................................10
E. Tugas...................................................................................................................10
Job Sheet 2 Operasi Aritmatika, Trigonometri dan Bilangan Acak.......................................11
A. Tujuan..................................................................................................................11
B. Alat dan Bahan......................................................................................................11
C. Sketch..................................................................................................................11
1. Sketch 1 : Operasi Aritmatika...........................................................................................................11
2. Sketch 2 : Aritmatika dalam kurung dan tidak menggunakan kurung..............................................12
4. Sketch 4 : menghitung akar kuadrat................................................................................................13
5. Sketch 5 : menghitung pangkat.......................................................................................................14
6. Sketch 6 : program random.............................................................................................................14
7. Sketch 7 : menghitung tinggi pohon menggunakan trigonometri....................................................15
D. Tugas...................................................................................................................16
Job Sheet 3 String...........................................................................................................17
A. Tujuan..................................................................................................................17
B. Alat dan Bahan......................................................................................................17
C. Sketch..................................................................................................................17
2
1. Sketch 1 : menyalin string................................................................................................................17
2. Sketch 2 : inisialisasi string...............................................................................................................17
3. Sktech 3 : untuk memperoleh Panjang string..................................................................................18
4. Sketch 4 : mengakses karakter di string...........................................................................................18
5. Sketch 5 : inisialisasi string di kelas string........................................................................................19
D. Tugas...................................................................................................................20
Job Sheet 4 IF dan Perulangan.........................................................................................21
A. Tujuan..................................................................................................................21
B. Alat dan Bahan......................................................................................................21
C. Teori.....................................................................................................................21
D. Sketch..................................................................................................................23
1. Sketch 1 : Operasi logika And...........................................................................................................23
2. Sketch 2 : if......................................................................................................................................24
3. Sketch 3: if .. else.............................................................................................................................24
4. Sketch 4:if didalam if.......................................................................................................................25
5. Sketch 5:switch................................................................................................................................25
6. Sektch 6 do while.............................................................................................................................27
7. Sketch 7 Continue............................................................................................................................27
8. Sketch 8 Break.................................................................................................................................28
E. Tugas...................................................................................................................28
Job Sheet 5 LED..............................................................................................................29
A. Tujuan..................................................................................................................29
B. Alat dan Bahan......................................................................................................29
C. Sketch..................................................................................................................29
1. Sketch 1...........................................................................................................................................29
2. Sketch 2 Kecerahan..........................................................................................................................29
D. Tugas...................................................................................................................30
Job Sheet 6 Aplikasi Pengatur Lampu Lalu Lintas...............................................................31
A. Tujuan..................................................................................................................31
B. Alat dan Bahan......................................................................................................31
C. Teori.....................................................................................................................31
D. Rangkaian.............................................................................................................31
E. Sketch..................................................................................................................31
3
1. Sketch 1 Lampu Lalu Lintas..............................................................................................................31
2. Sketch 2...........................................................................................................................................33
3. Sketch..............................................................................................................................................34
4. Sketch..............................................................................................................................................34
5. Sketch..............................................................................................................................................34
6. Sketch..............................................................................................................................................34
7. Sketch..............................................................................................................................................34
F. Tugas...................................................................................................................34
Job Sheet 7 Push Button..................................................................................................35
A. Tujuan..................................................................................................................35
B. Alat dan Bahan......................................................................................................35
C. Teori.....................................................................................................................35
D. Rangkaian.............................................................................................................35
E. Sketch..................................................................................................................36
1. Sketch 1...........................................................................................................................................36
2. Sketch 2...........................................................................................................................................36
3. Sketch 3...........................................................................................................................................37
F. Tugas...................................................................................................................38
Job Sheet 8 Aplikasi LDR..................................................................................................39
A. Tujuan..................................................................................................................39
B. Alat dan Bahan......................................................................................................39
C. Rangkaian.............................................................................................................39
Rangkaian LDR.........................................................................................................................................39
D. Sketch..................................................................................................................39
1. Sketch 1 Memantau nilai LDR melalui pin analog............................................................................39
2. Sketch 2 Menhidupkan dan mematikan Led melalui LDR................................................................40
E. Tugas...................................................................................................................41
Job Sheet 9 Aplikasi Mengukur Suhu................................................................................42
A. Tujuan..................................................................................................................42
B. Alat dan Bahan......................................................................................................42
C. Rangkaian.............................................................................................................42
D. Sketch..................................................................................................................42
E. Tugas...................................................................................................................43
4
Job Sheet 10 Aplikasi Sensor Air.......................................................................................44
A. Tujuan..................................................................................................................44
B. Alat dan Bahan......................................................................................................44
C. Rangkaian.............................................................................................................44
D. Sketch..................................................................................................................44
E. Tugas...................................................................................................................47
Job Sheet 11 Aplikasi Pengukur jarak (Sensor Ultrasonic)..................................................48
A. Tujuan..................................................................................................................48
B. Alat dan Bahan......................................................................................................48
C. Teori.....................................................................................................................48
D. Rangkaian.............................................................................................................49
E. Sketch..................................................................................................................49
F. Tugas...................................................................................................................50
Job Sheet 12 Aplikasi Sensor Gerak..................................................................................51
A. Tujuan..................................................................................................................51
B. Alat dan Bahan......................................................................................................51
C. Rangkaian.............................................................................................................51
D. Sketch..................................................................................................................51
E. Tugas...................................................................................................................52
Job Sheet 13...................................................................................................................53
A. Tujuan..................................................................................................................53
B. Alat dan Bahan......................................................................................................53
C. Rangkaian.............................................................................................................53
D. Sketch..................................................................................................................53
E. Tugas...................................................................................................................53
Job Sheet 13 Pemrograman 7-segmen CA.........................................................................54
F. Tujuan..................................................................................................................54
G. Alat dan Bahan......................................................................................................54
H. Rangkaian.............................................................................................................54
I. Sketch..................................................................................................................55
J. Tugas...................................................................................................................57
Job Sheet 14 Aplikasi penampil 4 buah 7-segmen..............................................................58
A. Tujuan..................................................................................................................58
5
B. Alat dan Bahan......................................................................................................58
C. Rangkaian.............................................................................................................58
D. Sketch..................................................................................................................58
E. Tugas...................................................................................................................65
Job Sheet 15 aplikasi penampil max 7219.........................................................................66
A. Tujuan..................................................................................................................66
B. Alat dan Bahan......................................................................................................66
C. Rangkaian.............................................................................................................66
D. Sketch..................................................................................................................66
E. Tugas...................................................................................................................68
Job Sheet 16 Pemrograman LCD tipe HD44780.................................................................69
A. Tujuan..................................................................................................................69
B. Alat dan Bahan......................................................................................................69
C. Rangkaian.............................................................................................................69
D. Sketch..................................................................................................................69
E. Tugas...................................................................................................................69
Job Sheet 17 Node MCU..................................................................................................70
A. Tujuan..................................................................................................................70
B. Alat dan Bahan......................................................................................................70
C. Rangkaian.............................................................................................................70
D. Sketch..................................................................................................................70
E. Tugas...................................................................................................................70
6
Job Sheet 1 Tipe data, Variabel dan String
A. Tujuan
1. Taruna dapat memahami tentang macam-macam tipe data di Arduino
2. Taruna dapat memahami tentang variabel global dan lokal
3. Taruna dapat memahami tentang string
C. Teori
Sketch mempunyai minimal 2 fungsi yaitu fungsi setup() dan fungsi loop().
Fungsi setup() adalah fungsi yang dijalankan pertama kali dan hanya sekali di awal.
Fungsi loop() adalah fungsi yang akan dijalankan berulang kali secara terus menerus.
Pengenal (identifier) digunakan untuk memberikan nama untuk elemen-elemen
pemrograman yang memerlukan nama seperti fungsi, variable dan konstanta.
Aturan penulisan pengenal sebagai berikut:
- Nama pengenal diawali huruf atau garis bawah (_)
- Karakter kedua dan seterusnya dalam nama pengenal boleh mengguankan huruf,
angka datau (_)
- Huruf kecil dan huruf capital dibedakan.
Variabel adalah suatu nama yang menyatakan suatu data dan nilainya bisa diubah
sewaktu-waktu ketika sketch dijalankan.
Nama variabel menggunakan nama dengan awalan huruf kecil.
Nama konstanta menggunakan nama dengan huruf capital.
Contoh :
- Pin_SLA - pin13
- Pin_LED_MERAH - nilaiSuhuRuangan
- suhu_Dalam_Ruangan
Beberapa sintak program antara lain:
- Serial.begin(9600); artinya mengaktifkan komunikasi serial dengan kecepatan data
9600 bps.
- Tipe_data variable; definisi variabel
contoh: int suhu;
- Tipe_data variable_a, variable_b, … variable_n ;
contoh: int suhuDalamRuangan, suhuLuarRuangan;
- Variable=nilai; contoh: suhuDalamRuangan=28;
7
- Const tipe_data NAMA_KONSTANTA = nilai; definisi konstanta
Contoh: cons tint PIN_13=13;
- #define NAMA_KONSTANTA nilai; definisi konstanta
Contoh: define PIN_13 13;
Macam-macam tipe data:
1. int bil. bulat -32.768 sd. 32.767
2. short sda
3. unsigned int bil bulat 0 sd. 65.535
4. word sda
5. long bil bulat -2.147.483.648 sd. 2.147.483.647
6. unsigned long bil bulat 0 sd. 4.294.967.295
7. float bil real 3,4028235 E+38 sd. -3,4028235 E+38
8. double sda
9. boolean menyatakan nilai true atau false
10. char menyatakan sebuah karakter
11. byte bil bulat 0 sd. 255
12. string menyatakan deretan karakter biasa digunakan untuk teks
D. Sketch
1. Sketch 1 : Tipe Data
// variabel dengan berbagai tipe data
// ---------------------------------------------
void setup()
{
Serial.begin(9600);
// Deklarasi variabel
char ch;
int bilangan;
float nilaiTes;
// Pemberian nilai
ch = 'Ab';
bilangan = 23.7;
nilaiTes = 897;
8
Serial.print("Isi nilaiTes = ");
Serial.println(nilaiTes);
}
void loop()
{
}
2. Sketch 2 : Variabel Global dan Lokal
// ---------------------------------------------
// Contoh variabel lokal dan variabel global
// ---------------------------------------------
void setup()
{
Serial.begin(9600);
void loop()
{
int y = 66; // Variabel lokal
delay(1000);
}
3. Sketch 3 : Variabel Statis
// ---------------------------------------------
// Contoh efek variabel statis
// ---------------------------------------------
9
void setup()
{
Serial.begin(9600);
}
void loop()
{
static int pencacah = 0;
void setup()
{
Serial.begin(9600);
String pesan;
pesan = "Putar ke kiri";
Serial.println(pesan);
}
void loop()
{
}
E. Tugas
1. Buatlah flowchart pada sketch yang dibuat?
2. Buatlah program untuk menampilkan
10
Job Sheet 2 Operasi Aritmatika, Trigonometri dan Bilangan Acak
A. Tujuan
1. Taruna dapat memahami tentang operasi penjumlahan, pengurangan, perkalian
dan pembagian
2. Taruna dapat membuat program yang berhubungan dengan fungsi trigonometri
3. Taruna dapat membuat program bilangan acak (random).
C. Sketch
1. Sketch 1 : Operasi Aritmatika
// -------------------------------------
// Contoh operasi aritmetika menggunakan
// operator +, -, *, /. dan %
// -------------------------------------
void setup()
{
Serial.begin(9600);
// Operasi penjumlahan
Serial.print("5 + 6 = ");
Serial.println(5 + 6);
Serial.print("5.1 + 6 = ");
Serial.println(5.1 + 6);
// Operasi pengurangan
Serial.print("5 - 6 = ");
Serial.println(5 - 6);
Serial.print("5.1 - 6 = ");
Serial.println(5.1 - 6);
// Operasi perkalian
Serial.print("5 * 6 = ");
Serial.println(5 * 6);
11
Serial.print("5.1 * 6 = ");
Serial.println(5.1 * 6);
// Operasi pembagian
Serial.print("7 / 2 = ");
Serial.println(7 / 2);
Serial.print("8 % 3 = ");
Serial.println(8 % 3);
}
void loop()
{
}
2. Sketch 2 : Aritmatika dalam kurung dan tidak menggunakan kurung
// -------------------------------------
// Contoh untuk memperlihatkan perbedaan
// penggunaan tanda kurung dalam
// ekspresi aritmetika
// -------------------------------------
void setup()
{
Serial.begin(9600);
// Tanpa kurung
Serial.print("5 + 3 * 2 = ");
Serial.println(5 + 3 * 2);
// Dengan kurung
Serial.print("(5 + 3) * 2 = ");
Serial.println((5 + 3) * 2);
}
void loop()
{
}
3. Sketch 3 : Konversi dari Celsius ke Reamur
12
// ---------------------------------------------
// Contoh perhitungan dari Celcius ke Reamur
// ---------------------------------------------
void setup()
{
Serial.begin(9600);
void loop()
{
}
4. Sketch 4 : menghitung akar kuadrat
// -------------------------------------
// Contoh penggunaan fungsi sqrt()
// untuk menghitung akar kuadrat
// -------------------------------------
void setup()
{
Serial.begin(9600);
// Inisialisasi variabel
int bilangan = 25;
13
void loop()
{
}
5. Sketch 5 : menghitung pangkat
// -------------------------------------
// Contoh penggunaan fungsi pow()
// untuk menghitung pangkat
// -------------------------------------
void setup()
{
Serial.begin(9600);
// Inisialisasi variabel
int x = 12;
Serial.print("2^x : ");
Serial.println(pow(2, x));
Serial.print("x^2 : ");
Serial.println(pow(x, 2));
Serial.print("x^0.5 : ");
Serial.println(pow(x, 0.5));
Serial.print("x^(1/3.0) : ");
Serial.println(pow(x, 1 / 3.0));
}
void loop()
{
}
6. Sketch 6 : program random
// ---------------------------------------------
// Contoh pembangkitan bilangan acak
// ---------------------------------------------
void setup()
{
Serial.begin(9600);
14
Serial.println("Bilangan acak tanpa randomSeed()");
Serial.println(random(MAKS));
Serial.println(random(MAKS));
Serial.println(random(MAKS));
randomSeed(67);
Serial.println(random(MAKS));
Serial.println(random(MAKS));
Serial.println(random(MAKS));
randomSeed(analogRead(0));
Serial.println(random(MAKS));
Serial.println(random(MAKS));
Serial.println(random(MAKS));
void loop()
{
}
7. Sketch 7 : menghitung tinggi pohon menggunakan trigonometri
// ---------------------------------------------
// Contoh perhitungan tinggi pohon menggunakan
// fungsi tan()
// ---------------------------------------------
void setup()
{
Serial.begin(9600);
Y:
float jarak = 60;
float alpha = 65; tinggi
α pohon
// Hitung
float radian = alpha / 180 * 3.14; X
float tinggi = tan(radian) * jarak; Y = X * tan (α )
15
Serial.println(tinggi);
}
void loop()
{
D. Tugas
1. Buatlah Flow chart diagram dari sketch 1 sd. 7
16
Job Sheet 3 String
A. Tujuan
1. Taruna dapat membuat operasi pengisian nilai string pada array
2. Taruna dapat membuat inisialisasi string
3. Taruna dapat membuat string yang berkelas string
C. Sketch
1. Sketch 1 : menyalin string
// ---------------------------------------------
// Contoh penggunaan strcpy()
// untuk menyalin string
// ---------------------------------------------
void setup()
{
Serial.begin(9600);
// Deklarasi string
char pesan[26];
// Salin string
strcpy(pesan, "Tes..tes..123!");
Serial.println(pesan);
}
void loop()
{
}
2. Sketch 2 : inisialisasi string
// ---------------------------------------------
// Contoh inisialisasi string
17
// ---------------------------------------------
void setup()
{
Serial.begin(9600);
Serial.println(komponen);
}
void loop()
{
}
3. Sktech 3 : untuk memperoleh Panjang string
// ---------------------------------------------
// Contoh penggunaan strlen()
// untuk memperoleh panjang string
// ---------------------------------------------
void setup()
{
Serial.begin(9600);
// Deklarasi string
char pesan[26];
// Salin string
strcpy(pesan, "Tes..tes..123!");
void loop()
{
18
4. Sketch 4 : mengakses karakter di string
// ---------------------------------------------
// Contoh pengaksesan karakter di string
// ---------------------------------------------
void setup()
{
Serial.begin(9600);
// Deklarasi string
char pesan[26];
// Salin string
strcpy(pesan, "Tes..tes..123!");
void loop()
{
}
5. Sketch 5 : inisialisasi string di kelas string
// -----------------------------------------------
// Contoh inisialisasi string yang berkelas String
// -----------------------------------------------
void setup()
{
Serial.begin(9600);
Serial.println(komponen);
Serial.println(resistor);
}
19
void loop()
{
D. Tugas
1. Buatlah gambar flow chartnya rangkaian diatas.
20
Job Sheet 4 IF dan Perulangan
A. Tujuan
1. Taruna dapat membuat operasi Boolean untuk memperoleh nilai benar atau salah
2. Taruna dapat memahami sintaks if-else
3. Taruna dapat memahami sintaks switch
4. Taruna dapat memahami sintaks do… while
5. Taruna dapat memahami sintaks while
6. Taruna dapat memahami sintaks for
7. Taruna dapat memahami sintaks continue dan break
B. Alat dan Bahan
1. Modul mikrokontroler Arduino uno 1 modul
2. Kabel usb to serial Arduino 1 buah
C. Teori
i. Operasi Boolean
Ekspresi yang menghasilkan benar atau salah dinamakan ekspresi Boolean yang
sangat penting dalam mengambil keputusan (menggunakan pernyataan if .. else)
maupun perulangan (menggunakan do .. while, while dan for). Berikut merupakan
ekspresi rasional x > 3
Yang akan menghasilkan
o Benar jika isi variable x bernilai lebih besar daripada 3
o Salah jika isi variable x bernilai sama dengan atau lebih kecil daripada 3
Table operasi rasional
Operasi Keterangan Contoh
== Sama dengan 1==0 ->false
1==1 ->true
!= Tidak sama dengan 1!=1 ->false
1!=0 ->true
> Lebih dari -1>0 ->false
1>0 ->true
>= Lebih dari atau sama dengan -1>=0 ->false
1>=0 ->true
< Kurang dari 1<0 ->false
1<2 ->true
<= Kurang dari atau sama dengan 1<=0 ->false
1<=1 ->true
21
Table operasi gerbang OR dan AND
Operand 1 Operasnd 2 OR (||) AND(&&)
False False False False
False True True False
True False True False
True True True false
ii. If-else
Pernyataan if adalah pernyataan yang bergantung pada ekspresi Boolean.
If (kondisi)
{pernyataan_1;
Pernyataan_2;
…
Pernyataan_n;}
iii. Switch
Tidak semua if dapat digantikan dengan switch. Pernyataan switch dapat
digunakan untuk menggantikan pernyataan bertingkat dengan semua kondisi di if
melibatkan operator sama dengan.
If (nilai == 1) Case 1:
Serial.println(“satu”); Serial.println(“satu”);
Else Break;
If(nilai ==2) Case 2:
Serial.println(“dua”); Serial.println(“dua”);
Else Break;
If(nilai==3) Case 3:
Serial,println(“tiga”); Serial.println(“tiga’);
Break;
iv. Do while
Pernyataan yang berada dalam {} akan dijalankan secara berulang-ulang selama
kondisi
v. Continue
vi. Break
22
D. Sketch
1. Sketch 1 : Operasi logika And
// ----------------------------------------
// Contoh untuk memperlihatkan penggunaan
// operator logika: and dan &&
// ----------------------------------------
void setup()
{
Serial.begin(9600);
char karakter;
boolean hasil;
void loop()
{
23
}
2. Sketch 2 : if
// ----------------------------
// Contoh untuk melihat efek if
// ----------------------------
void setup()
{
Serial.begin(9600);
void loop()
{
}
3. Sketch 3: if .. else
// ----------------------------------
// Contoh untuk melihat efek if..else
// ----------------------------------
void setup()
{
Serial.begin(9600);
int tegangan = 5;
String pesan;
if (tegangan > 5)
pesan = "Tegangan terlalu besar";
else
pesan = "Tegangan aman digunakan";
24
Serial.println(pesan);
}
void loop()
{
}
4. Sketch 4:if didalam if
// ----------------------------------
// Contoh if bertingkat
// ----------------------------------
void setup()
{
Serial.begin(9600);
void loop()
{
}
5. Sketch 5:switch
// ---------------------------------------------
// Contoh penggunaan switch
// ---------------------------------------------
void setup()
{
Serial.begin(9600);
25
int nilai = 4; // Ganti nilai ini untuk menguji
// misalnya dengan 5, 8, atau 10
switch (nilai)
{
case 1:
Serial.println("satu");
break;
case 2:
Serial.println("dua");
break;
case 3:
Serial.println("tiga");
break;
case 4:
Serial.println("empat");
break;
case 5:
Serial.println("lima");
break;
case 6:
Serial.println("enam");
break;
case 7:
Serial.println("tujuh");
break;
case 8:
Serial.println("delapan");
break;
case 9:
Serial.println("sembilan");
break;
default:
Serial.println("bukan satu digit");
}
}
void loop()
{
26
6. Sektch 6 do while
/ ---------------------------------------------
// Contoh penggunaan do..while untuk
// menampilkan bilangan 1 hingga 10
// ---------------------------------------------
void setup()
{
Serial.begin(9600);
int pencacah = 1;
do
{
Serial.println(pencacah);
pencacah++;
} while (pencacah <= 10);
Serial.println("-------");
}
void loop()
{
}
7. Sketch 7 Continue
// ---------------------------------------------
// Contoh untuk memperlihatkan efek continue
// pada for
// ---------------------------------------------
void setup()
{
Serial.begin(9600);
Serial.println(pencacah);
}
Serial.println("-------");
27
}
void loop()
{
}
8. Sketch 8 Break
// ---------------------------------------------
// Contoh untuk memperlihatkan efek break
// pada for
// ---------------------------------------------
void setup()
{
Serial.begin(9600);
Serial.println(pencacah);
}
Serial.println("-------");
}
void loop()
{
}
E. Tugas
2. Buatlah gambar flow chartnya rangkaian diatas.
28
Job Sheet 5 LED
A. Tujuan
1. Taruna dapat menghidupkan dan mematikan rangkaian 1 LED
2. Taruna dapat mengatur kecerahan LED
C. Sketch
1. Sketch 1
// ---------------------------------------------
// Contoh untuk membuat LED hidup dan mati
// secara bergantian
// ---------------------------------------------
void setup()
{
pinMode(PIN_13, OUTPUT);
}
void loop()
{
// Hidupkan LED
digitalWrite(PIN_13, HIGH);
delay(1000); // Tunda 1 detik
// Matikan LED
digitalWrite(PIN_13, LOW);
delay(1000); // Tunda 1 detik
}
29
2. Sketch 2 Kecerahan
// ---------------------------------------------
// Contoh untuk mengatur kecerahan LED
// ---------------------------------------------
void setup()
{
pinMode(PIN_9, OUTPUT);
}
void loop()
{
// Kecerahan maksimum
analogWrite(PIN_9, 255);
delay(1000); // Tunda 1 detik
// Kecerahan mdium
analogWrite(PIN_9, 128);
delay(1000); // Tunda 1 detik
// LED dimatikan
analogWrite(PIN_9, 0);
delay(1000); // Tunda 1 detik
}
D. Tugas
1. Buatlah Flowchart pada program diatas sesuai dengan cara kerja dari program
tersebut.
2. Buatlah program running led dengan 8 buah led.
30
Job Sheet 6 Aplikasi Pengatur Lampu Lalu Lintas
A. Tujuan
1. Taruna dapat membuat program simulasi pengatur lampu lalu lintas
C. Teori
digitalWrite
D. Rangkaian
E. Sketch
1. Sketch 1 Lampu Lalu Lintas
const int PIN_MB = 2; // Merah barat
const int PIN_KB = 3; // Kuning barat
const int PIN_HB = 4; // Hijau barat
const int PIN_MU = 5; // Merah utara
const int PIN_KU = 6; // Kuning utara
const int PIN_HU = 7; // Hijau utara
31
const int PIN_MT = 8; // Merah timur
const int PIN_KT = 9; // Kuning timur
const int PIN_HT = 10; // Hijau timur
const int PIN_MS = 11; // Merah selatan
const int PIN_KS = 12; // Kuning selatan
const int PIN_HS = 13; // Hijau selatan
void setup()
{
pinMode(PIN_MB, OUTPUT);
pinMode(PIN_KB, OUTPUT);
pinMode(PIN_HB, OUTPUT);
pinMode(PIN_MU, OUTPUT);
pinMode(PIN_KU, OUTPUT);
pinMode(PIN_HU, OUTPUT);
pinMode(PIN_MT, OUTPUT);
pinMode(PIN_KT, OUTPUT);
pinMode(PIN_HT, OUTPUT);
pinMode(PIN_MS, OUTPUT);
pinMode(PIN_KS, OUTPUT);
pinMode(PIN_HS, OUTPUT);
void loop()
{
32
// Barat jalan
digitalWrite(PIN_MB, LOW);
digitalWrite(PIN_HB, HIGH);
delay(LAMA_HIJAU); // Tunda
digitalWrite(PIN_HB, LOW);
digitalWrite(PIN_KB, HIGH);
delay(LAMA_KUNING);
digitalWrite(PIN_KB, LOW);
digitalWrite(PIN_MB, HIGH);
// Utara jalan
digitalWrite(PIN_MU, LOW);
digitalWrite(PIN_HU, HIGH);
delay(LAMA_HIJAU); // Tunda
digitalWrite(PIN_HU, LOW);
digitalWrite(PIN_KU, HIGH);
delay(LAMA_KUNING);
digitalWrite(PIN_KU, LOW);
digitalWrite(PIN_MU, HIGH);
// Timur jalan
digitalWrite(PIN_MT, LOW);
digitalWrite(PIN_HT, HIGH);
delay(LAMA_HIJAU); // Tunda
digitalWrite(PIN_HT, LOW);
digitalWrite(PIN_KT, HIGH);
delay(LAMA_KUNING);
digitalWrite(PIN_KT, LOW);
digitalWrite(PIN_MT, HIGH);
// Selatan jalan
digitalWrite(PIN_MS, LOW);
digitalWrite(PIN_HS, HIGH);
delay(LAMA_HIJAU); // Tunda
digitalWrite(PIN_HS, LOW);
digitalWrite(PIN_KS, HIGH);
delay(LAMA_KUNING);
digitalWrite(PIN_KS, LOW);
digitalWrite(PIN_MS, HIGH);
}
2. Sketch 2
33
F. Tugas
1. Buatlah flowchart program yang telah dibuat!
34
Job Sheet 7 Push Button
A. Tujuan
1. Taruna dapat menggunakan Push Button sebagai input
2. Taruna dapat membuat program dengan push button sebagai input untuk
menghidupkan dan mematikan nyala lampu LED.
B. Alat dan Bahan
1. Arduino Uno 1 unit
2. Push Button 4 buah
3. Resistor 220 Ohm 4 buah
4. Resistor 1k Ohm 4 buah
5. LED 4 buah
6. Kabel Jumper
C. Teori
digitalRead()
analogRead()
D. Rangkaian
1. Rangkaian LED dan Push Button Pull-up
35
E. Sketch
1. Sketch 1
// -------------------------------------
// Contoh penggunaan saklar
// yang menggunakan resistor pull-up
// untuk mengatur LED
// -------------------------------------
void setup()
{
pinMode(PIN_LED, OUTPUT);
pinMode(PIN_SAKLAR, INPUT);
}
void loop()
{
int dataPin = digitalRead(PIN_SAKLAR);
if (dataPin == HIGH) // saklar ditekan
digitalWrite(PIN_LED, HIGH);
else
digitalWrite(PIN_LED, LOW);
}
2. Sketch 2
// --------------------------------------
// Contoh penggunaan saklar
// yang menggunakan resistor pull-down
// untuk mengatur LED
// --------------------------------------
void setup()
{
36
pinMode(PIN_LED, OUTPUT);
pinMode(PIN_SAKLAR, INPUT);
}
void loop()
{
int dataPin = digitalRead(PIN_SAKLAR);
if (dataPin == HIGH) // saklar ditekan
digitalWrite(PIN_LED, HIGH);
else
digitalWrite(PIN_LED, LOW);
}
3. Sketch 3
// -------------------------------------
// Contoh penggunaan saklar
// yang menggunakan resistor pull-up
// untuk mengatur LED
// -------------------------------------
void loop()
{
dataPin = digitalRead(PIN_SAKLAR);
dataPin2 = digitalRead(PIN_SAKLAR2);
37
}
else if (dataPin2 == LOW)
{
digitalWrite(PIN_LED, HIGH);
}
}
F. Tugas
1. Buatlah gambar flow chartnya rangkaian diatas.
38
Job Sheet 8 Aplikasi LDR
A. Tujuan
1. Taruna dapat menggunakan dan memahami cara kerja sensor LDR.
2. Taruna dapat merangkai dan membuat program memnghidupak dan mematikan
LED derdasarkan sensor LDR.
B. Alat dan Bahan
1. Arduino Uno 1 unit
2. Sensor LDR 1 buah
3. Resistor 220 Ohm 1 buah
4. Resistor 1k Ohm 1 buah
5. LED 1 buah
6. Kabel jumper
C. Rangkaian
Rangkaian LDR
D. Sketch
1. Sketch 1 Memantau nilai LDR melalui pin analog
// ---------------------------------------
// Contoh untuk memantau nilai dari LDR
// melalui pin analog
// ---------------------------------------
39
const int PIN_LDR = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
int dataPin = analogRead(PIN_LDR);
Serial.println(dataPin);
void setup()
{
Serial.begin(9600);
pinMode(PIN_LED, OUTPUT);
}
void loop()
{
int dataPin = analogRead(PIN_LDR);
if (dataPin < 200)
digitalWrite(PIN_LED, HIGH);
else
digitalWrite(PIN_LED, LOW);
}
40
E. Tugas
1. Buatlah gambar flow chartnya rangkaian diatas.
41
Job Sheet 9 Aplikasi Mengukur Suhu
A. Tujuan
2. Taruna dapat memahami cara kerja sensor suhu LM35DZ
3. Taruna dapat merangkai rangkaian sensor suhu.
B. Alat dan Bahan
1. Arduino Uno 1 unit
2. Sensor suhu LM35DZ 1 buah
3. Kabel Jumper
C. Rangkaian
D. Sketch
4. Sketch 1
// ---------------------------------------
// Contoh pemgukuran suhu dengan LM35DZ
// ---------------------------------------
void setup()
{
Serial.begin(9600);
}
void loop()
42
{
int dataPin = analogRead(PIN_SENSOR);
delay(1000);
}
E. Tugas
2. Buatlah program pengukuran suhu yang dapat menghidupkan pada suhu tinggi dan
mematikan led pada suhu rendah.
3. Buatlah gambar flow chartnya.
43
Job Sheet 10 Aplikasi Sensor Air
A. Tujuan
1. Taruna dapat memahami cara kerja sensor kelembaban tanah dan kelembaban
udara.
2. Taruna dapat merangkai dan membuat program untuk mengukur kelembaban
tanah dan udara.
B. Alat dan Bahan
4. Arduino Uno 1 unit
5. Modul kelembaban tanah 1 unit
6. Modul DHT11 1 unit
7. Resistor 240 ohm 3 buah
8. LED 3 buah
9. Kabel jumper secukupnya
10.
C. Rangkaian
Cara merangkaian rangkaian modul kelembaban tanah sebagai berikut:
b. Dua pin yang berada di salah satu sisi modul elektronik dihubungkan ke dua sisi
yang berada pada bagian yang ditancapkan ke tanah.
c. Pin VCC dihubungkan ke 5V pada Arduino
d. Pin A0 dihubungkan ke pin A0 pada Arduino
e. Pin D0 dihubungkan ke pin 12 pada Arduino
f. Pin GND dihubungkan ke pin GND pda Arduino.
Pin analog jika media dalam keadaan kering maka nilai tinggi, jika nilianya terlalu
rendah makan media dalam keadan basah.
D. Sketch
1. Sketch 1
// ---------------------------------------
// Contoh pengukuran kelembaban tanah
// ---------------------------------------
44
void setup()
{
Serial.begin(9600);
}
void loop()
{
int dataPin = analogRead(PIN_SENSOR);
delay(1000);
}
2. Sketch 2
// ---------------------------------------
// Contoh pemantauan kelembaban tanah
// dengan menggunakan tiga LED
// ---------------------------------------
void setup()
{
Serial.begin(9600);
pinMode(PIN_MERAH, OUTPUT);
pinMode(PIN_KUNING, OUTPUT);
pinMode(PIN_HIJAU, OUTPUT);
}
void loop()
{
int dataPin = analogRead(PIN_SENSOR);
45
{
digitalWrite(PIN_MERAH, LOW);
digitalWrite(PIN_KUNING, LOW);
digitalWrite(PIN_HIJAU, HIGH);
ledMenyala = 'H';
}
}
else
if (dataPin < 700)
{
if (ledMenyala != 'K')
{
digitalWrite(PIN_MERAH, LOW);
digitalWrite(PIN_KUNING, HIGH);
digitalWrite(PIN_HIJAU, LOW);
ledMenyala = 'K';
}
}
else
{
if (ledMenyala != 'M')
{
digitalWrite(PIN_MERAH, HIGH);
digitalWrite(PIN_KUNING, LOW);
digitalWrite(PIN_HIJAU, LOW);
ledMenyala = 'M';
}
}
Serial.println(dataPin);
}
3. Sketch 3
// -----------------------------------
// Penggunaan sensor DHT11
// untuk mengukur kelembaban udara
// dan suhu udara
// -----------------------------------
#include <dht.h>
46
const int PIN_SENSOR = 0;
dht DHT;
void setup()
{
Serial.begin(9600);
Serial.println("Informasi kelembaban dan suhu udara");
}
void loop()
{
DHT.read11(PIN_SENSOR);
Serial.print("Kelembaban udara = ");
Serial.print(DHT.humidity);
Serial.println("%");
Serial.print("Suhu = ");
Serial.println(DHT.temperature);
E. Tugas
1. Bualtah gamabar flow chart yang ada di dalan sketch yang ada.
2. Buatlah kesimpulan dari hasil pengmatan yang telah anda buat.
47
Job Sheet 11 Aplikasi Pengukur jarak (Sensor Ultrasonic)
A. Tujuan
1. Taruna dapa memahami cara kerja dari modul sensor Ultrasonik
2. Taruna dapat merangkai dan membuat program untuk mengukur jarak dengan
menggunakan modul sensr ultrasonic.
B. Alat dan Bahan
1. Arduino uno 1 unit
2. Modul sensor ultrasonic HC-SR04 1 unit
3. Kabel jumper.
C. Teori
Ketinggian air dapat diukur menggunakan sensor ultrasonic yang dikhusukan
untuk mengukur jarak. Salah satunya adalah sensor ultrasonic HC-SR04. Sensor
ultrasonic bekerja atas dasar suara. Pertama-tama gelombang suara dipantulkan oleh
suatu bagian pengirim yang diberi nama Triger. Kemudian gelombang suara
pantulan akan ditangkap oleh bagian penerima yang disebut Echo. Waktu yang
diperlukan dari saat gelombang suara dikirim hingga Kembali dapat digunakan untuk
menghitung jarak antara pengirim objek yang memantulkan suara.
Jarak antara sensor dan objek yang memantulkan gelombang suara dihitung
dengan menggunakan rumus sebagai berikut:
T
Jarak=kecepatan suara ×
2
T = waktu tempuh dari saat sinyal ultrasonic dipancarkan hingga Kembali.
Kecepatan suara = 343 m/detik
Prinsip kerja pengiriman sinyal oleh Trig dan penerimaan oleh Echo adalah sebagai
berikut:
3. Trig harus dalam keadaan HIGH paling tidak selama 10 detik
4. Modul Ultrasonik pun akan mengirim gelombang kotak dengan frekuensi 40kHz
5. Gelombang yang akan dikirim tersebut akan dipantau dengan sendirinya oleh
modul ultrasonic. Dalam hal ini, waktu yang digunakan dari saat pengiriman sinyal
hingga diterima Kembali adalah T. Pada waktu itulah pin Echo akan dalam
keadaan HIGH.
Dengan syntax program sebagai berikut:
T=pulseIn(PIN_ECHO,HIGH);
48
7. Mengingat kecepatan suara sebesar 343 m/detik atau 34300cm/detik. Waktu
dinyatakan dalam detik diubah dalam satuan mikrodetik maka T/10 -6 sehingga
didapat:
T
10−6 T
jarak =34300× =0,0343 × cm
2 cm 2
D. Rangkaian
Cara merangkai modul ultrasonic sebagai berikut:
1. Pin VCC dihubungakan ke tegangan 5V
2. PinTrig dihubungkan ke pin 13 pada arduino
3. Pin Echo dihubungkan ke pin 12 pada Arduino
4. Pin GND dihubungkan ke GND pada Arduino.
E. Sketch
1. Sketch 1
//Untuk mengukur tinggi air
void setup()
{
Serial.begin (9600);
pinMode(PIN_TRIG, OUTPUT);
pinMode(PIN_ECHO, OUTPUT);
}
void loop()
{
digitalWrite(PIN_TRIG, HIGH);
delayMicrosecond(10);
digitalWrite(PIN_TRIG, LOW);
Serial.print(tinggi);
49
Serial.print(“ cm”);
Delay(1000);
}
F. Tugas
1. Bualtah gambarflow chart dari program diatas.
2. Buatlah kesimpulah cara kerja dari rangkaian diatas.
50
Job Sheet 12 Aplikasi Sensor Gerak
A. Tujuan
1. Taruna dapat memahami cara kerja dari sensor PIR (passive Infra Red)
2. Taruna dapat merangkai dan membuat program aplikasi sensor gerak.
B. Alat dan Bahan
1. Arduino Uno 1 unit
2. Modul sensor PIR 1 unit
3. Resistor 1k Ohm 1 buah
4. LED 1 buah
5. Kabel jumper
C. Rangkaian
D. Sketch
1. Sketch 1
// -------------------------------------------
// Contoh penggunaan detektor gerakan PIR
// -------------------------------------------
void setup()
{
Serial.begin(9600);
pinMode(PIN_SENSOR, INPUT);
}
void loop()
{
int nilaiPin = digitalRead(PIN_SENSOR);
if (nilaiPin == HIGH)
Serial.println("HIGH");
else
Serial.println("LOW");
51
delay(1000);
}
2. Sketch 2
// -------------------------------------------
// Contoh penggunaan PIR
// untuk mengendalikan LED
// -------------------------------------------
void setup()
{
pinMode(PIN_SENSOR, INPUT);
pinMode(PIN_LED, OUTPUT);
}
void loop()
{
int nilaiPin = digitalRead(PIN_SENSOR);
if (nilaiPin == HIGH)
{
digitalWrite(PIN_LED, HIGH);
waktuAwal = millis();
}
E. Tugas
1. Buatlah gambar flow chartnya rangkaian diatas.
52
2. Job Sheet 13
A. Tujuan
B. Alat dan Bahan
C. Rangkaian
D. Sketch
E. Tugas
53
Job Sheet 14 Pemrograman 7-segmen CA
A. Tujuan
1. Taruna dapat memahami 7-segmen Common Anoda (CA) display
2. Taruna dapat merangkai dan membuat program 7-segmen display
C. Rangkaian
54
D. Sketch
1. Sketch 1 Common Anoda
// ------------------------------------------
// Contoh pemrograman 7-segmen
// berjenis common anode
// ------------------------------------------
void setup()
{
Serial.begin(9600);
void loop()
{
// Tampilkan 0 s/d 9
for (int j = 0; j < 10; j++)
{
Serial.println(j);
tampilkanAngka(j);
delay(2000);
}
delay(3000);
}
55
void tampilkanAngka(int angka)
{
// Abaikan kalau angka tidak antara 0 dan 9
if ((angka < 0) || (angka > 9))
return;
if (bit == HIGH)
digitalWrite(PIN_SEGMEN[j], LOW);
else
digitalWrite(PIN_SEGMEN[j], HIGH);
}
}
2. Sektch 2 Comon Catoda
// ------------------------------------------
// Contoh pemrograman 7-segmen
// berjenis common cathode
// ------------------------------------------
void setup()
{
Serial.begin(9600);
56
// Inisialisasi pin segmen
for (int j = 0; j < 8; j++)
pinMode(PIN_SEGMEN[j], OUTPUT);
}
void loop()
{
// Tampilkan 0 s/d 9
for (int j = 0; j < 10; j++)
{
Serial.println(j);
tampilkanAngka(j);
delay(2000);
}
delay(3000);
}
if (bit == HIGH)
digitalWrite(PIN_SEGMEN[j], HIGH);
else
digitalWrite(PIN_SEGMEN[j], LOW);
}
}
E. Tugas
1. Buatlah gambar flow chartnya rangkaian diatas.
57
Job Sheet 14 Aplikasi penampil 4 buah 7-segmen
A. Tujuan
1. Taruna dapat memahami modul 4 buah 7-segmen
2. Taruna dapat merangkai dan membuat program penampil 4 buah 7-segemen.
C. Rangkaian
D. Sketch
1. Sketch 1
// --------------------------------------------
// Contoh untuk menguji empat penampil 7 segmen
// berjenis common anode
// --------------------------------------------
#include <TimerOne.h>
58
float nilai; // Asumsi: bagian bulat selalu 2 digit
void setup()
{
Serial.begin(9600);
// Atur timer
Timer1.initialize(10000);
void loop()
{
// Bangkitkan bilangan pecahan yang bagian bulatnya
// selalu berjumlah dua digit
nilai = random (10, 99) + (random(0, 100) / 100.0);
Serial.println(nilai);
delay(500);
}
void segarkanSegmen()
{
// Konversikan isi nilai eke string
char st[6];
dtostrf(nilai, 0, 2, st);
59
tampilkanSegmen(1, st[1] - '0');
tampilkanSegmen(2, st[3] - '0');
tampilkanSegmen(3, st[4] - '0');
}
// Tunda sebentar
delay(100);
}
2. Sketch 2
// --------------------------------------------
// Contoh untuk menguji empat penampil 7 segmen
// berjenis common katode
// --------------------------------------------
#include <TimerOne.h>
60
B11111100, // 0
B01100000, // 1
B11011010, // 2
B11110010, // 3
B01100110, // 4
B10110110, // 5
B10111110, // 6
B11100000, // 7
B11111110, // 8
B11110110 // 9
};
void setup()
{
Serial.begin(9600);
// Atur timer
Timer1.initialize(10000);
void loop()
{
// Bangkitkan bilangan pecahan yang bagian bulatnya
// selalu berjumlah dua digit
nilai = random (10, 99) + (random(0, 100) / 100.0);
Serial.println(nilai);
61
delay(500);
}
void segarkanSegmen()
{
// Konversikan isi nilai eke string
char st[6];
dtostrf(nilai, 0, 2, st);
// Tunda sebentar
delay(100);
}
3. Sketch 3
// --------------------------------------------
// Contoh penyajian informasi suhu
62
// di empat penampil 7 segmen
// berjenis common cathode
// --------------------------------------------
#include <TimerOne.h>
void setup()
{
Serial.begin(9600);
// Atur timer
63
Timer1.initialize(10000);
void loop()
{
// Baca suhu
int dataPin = analogRead(PIN_SENSOR);
Serial.println(nilai);
delay(500);
}
void segarkanSegmen()
{
// Konversikan isi nilai eke string
char st[6];
dtostrf(nilai, 0, 2, st);
64
// Aktifkan segmen sesuai dengan bilangan
for (byte indeks = 0; indeks < 7; indeks++)
if (bitRead(SEGMEN[bilangan], 7 - indeks) == 1)
digitalWrite(PIN_SEGMEN[indeks], HIGH);
// Tunda sebentar
delay(100);
}
E. Tugas
1. Buatlah gambar flow chartnya rangkaian diatas.
65
Job Sheet 15 aplikasi penampil matrix LED dengan max 7219
A. Tujuan
1. Taruna dapat memahami cara kerja modul MatrixLed max 7219
B. Alat dan Bahan
1. Arduino Uno 1 unit
2. Modul matrix Led Max7219 1 unit
3. Kabel jumper
C. Teori
D. Rangkaian
E. Sketch
1. Sketch 1
// -----------------------------------------
// Contoh pemakaian modul matriks LED
// MAX72XX dan pustaka LedControl
// -----------------------------------------
#include "LedControl.h"
66
// Buat objek lc berkelas LedControl
LedControl lc = LedControl(PIN_DIN, PIN_CLK, PIN_CS, JUMLAH_LED);
void setup()
{
// Menghidupkan penampil nomor 0
lc.shutdown(0, false);
// Menghapus layar
lc.clearDisplay(0);
}
void loop()
{
// Mengaktifkan semua LED
for (int baris = 0; baris < 8; baris++)
{
for (int kolom = 0; kolom < 8; kolom++)
{
lc.setLed(0, baris, kolom, true);
}
}
delay(1000);
delay(1000);
// Menampilkan huruf
for (int baris = 0; baris < 8; baris++)
{
for (int kolom = 0; kolom < 8; kolom++)
{
67
if (bitRead(HURUF_F[baris], 7 - kolom) == 1)
lc.setLed(0, baris, kolom, true);
else
lc.setLed(0, baris, kolom, false);
}
}
delay(2000);
}
2. Sketch 2
3. Sketch 3
F. Tugas
68
Job Sheet 16 Pemrograman LCD tipe HD44780
A. Tujuan
B. Alat dan Bahan
C. Rangkaian
D. Sketch
E. Tugas
69
Job Sheet 17 Node MCU
A. Tujuan
B. Alat dan Bahan
C. Rangkaian
D. Sketch
E. Tugas
70
Job Sheet 18 Node MCU
A. Tujuan
B. Alat dan Bahan
C. Rangkaian
D. Sketch
E. Tugas
71
Job Sheet 19 Node MCU
A. Tujuan
B. Alat dan Bahan
C. Rangkaian
D. Sketch
E. Tugas
72