1
Starter Kit Arduino - Starlectric
2
Daftar Isi
Daftar isi
3
Starter Kit Arduino - Starlectric
3
2
1
7
5 6
4
8 9 11
10
13
14 15
17
12 18
4
No Nama Item Qty
1 Arduino Uno dengan Kabel USB 1
2 Breadboard 400 1
3 LED Merah, LED Hijau, LED Kuning 9
4 LCD Karakter 16x2 with I2C Module 1
5 DHT11 Sensor Suhu dan Kelembapan 1
6 LED RGB (Red, Green, Blue) 1
7 LDR (Light Dependent Resistor) 1
8 Sensor Ultrasonik HC-SR04 1
9 Sensor Gerakan (PIR) 1
10 Motor Servo SG90 1
11 Buzzer Active 5V 1
12 Keypad Matrix 4x4 1
13 Resistor 330 ohm, 10K ohm, 120K ohm 9
14 Potentiometer 10K 1
15 Switch 5mm 8
16 Sensor Halangan 1
Jumper Male Male 20cm 5
17
Jumper Male Female 20cm 5
5
Starter Kit Arduino - Starlectric
Pengenalan Arduino
A
rduino adalah board modul mikrokontroller yang digunakan
untuk membuat perangkat digital. Board Arduino dilengkapi
dengan pin Input/Output (I/O) baik digital maupun analog yang
dapat digunakan untuk menghubungkan Arduino dengan komponen
lain seperti modul sensor, lampu LED, motor DC, modul bluetooth,
komunikasi serial dan banyak lagi.
6
Pengenalan Arduino
2 Arduino IDE
7
Starter Kit Arduino - Starlectric
8
Pengenalan Arduino
4 Serial Monitor
9
Starter Kit Arduino - Starlectric
Pilih menu Sketch > Include Library > Add .ZIP Library.
10
Pengenalan Arduino
11
Starter Kit Arduino - Starlectric
1 INTRO
12
01 - Kontrol Lampu LED
2 DAFTAR KOMPONEN
3 Skematik
4 Source Code
1 void setup() {
2 pinMode(5, OUTPUT);
3 pinMode(6, OUTPUT);
4 pinMode(7, OUTPUT);
5 }
6
13
Starter Kit Arduino - Starlectric
7 void loop() {
8 digitalWrite(5, HIGH);
9 delay(200);
10 digitalWrite(6, HIGH);
11 delay(200);
12 digitalWrite(7, HIGH);
13 delay(200);
14 digitalWrite(5, LOW);
15 delay(200);
16 digitalWrite(6, LOW);
17 delay(200);
18 digitalWrite(7, LOW);
19 delay(200);
20 }
Hasil dari program ini adalah 3 buah LED akan menyala bergiliran
dengan delay 200 miliseconds. Kemudian juga secara bergiliran
LED akan mati dari urutan pertama dengan delay sebesar 200
miliseconds.
• pinMode
Menentukan pin sebagai INPUT / OUTPUT
• digitalWrite(pin, logic)
Menentukan logic pin menjadi HIGH / LOW.
HIGH = 5V, LOW = 0V / Ground.
• delay(x)
Tunda selama durasi x (satuan miliseconds)
14
02 - Membaca Input Switch
1 INTRO
Pada project 01, kita membuat program Arduino yang
menghasilkan output digital berupa HIGH dan LOW. Project ini
akan membahas cara membaca input digital dari switch.
2 DAFTAR KOMPONEN
15
Starter Kit Arduino - Starlectric
3 Skematik
4 Source Code
1 int pinLed = 7;
2 int pinSwitch = 3;
3 int val = 0;
4
5 void setup() {
6 pinMode(pinLed, OUTPUT);
7 pinMode(pinSwitch, INPUT);
8 }
9
10 void loop(){
11 val = digitalRead(pinSwitch);
12 if (val == HIGH) {
13 digitalWrite(pinLed, LOW);
14 } else {
15 digitalWrite(pinLed, HIGH);
16 }
17 }
16
02 - Membaca Input Switch
• digitalRead(pin)
Membaca status dari pin, jika pin diberi 5V, maka hasil
pembacaan menjadi HIGH, begitu pula jika pin diberi 0V maka
hasil menjadi LOW.
• if(condition) {
// statements
}
Melakukan pengecekan pada condition, jika TRUE / HIGH,
maka statements akan dieksekusi.
17
Starter Kit Arduino - Starlectric
1 INTRO
2 DAFTAR KOMPONEN
18
03 - Display Teks dengan LCD I2C
3 Skematik
4 Source Code
1 #include <Wire.h>
2 #include <LiquidCrystal_I2C.h>
3
4 LiquidCrystal_I2C lcd(0x27, 16, 2);
5
6 void setup() {
7 lcd.begin();
8 lcd.backlight();
9 lcd.print("Hello, world!");
10 lcd.setCursor(0,1);
11 lcd.print("STARLECTRIC");
12 }
13
14 void loop() {
15
16 }
19
Starter Kit Arduino - Starlectric
• lcd.begin();
Lakukan fungsi ini untuk inisialisasi LCD.
• lcd.print(text);
Fungsi untuk menampilkan text.
• lcd.setCursor(x,y);
Fungsi untuk memindahkan kursor ke baris x, kolom y.
20
04 - Termometer Dengan DHT11
1 INTRO
DHT11 adalah sensor yang dapat mengukur nilai suhu dan
kelembapan udara di sekitar. DHT11 mampu mengukur suhu
dengan rentang suhu antara 0 hingga +50 derajat Celsius dengan
akurasi + 2 derajat Celsius. Sedangkan rentang kelembapan yang
dapat diukur adalah 20 hingga 80% dengan akurasi 5%.
2 Daftar Komponen
21
Starter Kit Arduino - Starlectric
3 Skematik
4 Source Code
1 #include <Wire.h>
2 #include <LiquidCrystal_I2C.h>
3 #include <dht.h>
4
5 LiquidCrystal_I2C lcd(0x27, 16, 2);
6 dht DHT;
7
8 void setup(){
9 lcd.begin();
10 lcd.backlight();
11 delay(1000);
12 }
13
14 void loop(){
15 DHT.read11(7);
16 lcd.clear();
22
04 - Termometer Dengan DHT11
17 lcd.print("Temp : ");
18 lcd.print(DHT.temperature);
19 lcd.print(" C");
20 lcd.setCursor(0,1);
21 lcd.print("Humid : ");
22 lcd.print(DHT.humidity);
23 lcd.print(" %");
24
25 delay(5000);
26 }
• DHT.read11(pin)
Fungsi untuk melakukan pembacaan data dari sensor
DHT11 yang dihubungkan pada pin 7 di Arduino.
• DHT.temperature
Fungsi untuk mengambil nilai temperature yang sudah
diukur.
• DHT.humidity
Fungsi untuk mengambil nilai kelembapan yang sudah
diukur.
23
Starter Kit Arduino - Starlectric
1 INTRO
Sensor jarak dengan ultrasonik
yang digunakan adalah HC-SR04.
Prinsip kerja dasar sensor ini adalah
memancarkan gelombang ultrasonik
yang kemudian menyentuh objek di
depan dan dipantulkan kembali.
Gelombang pantulan ditangkap oleh
receiver. Dengan menghitung jarak antara waktu pancar dan
terima menghasilkan jarak objek dengan sensor.
2 Daftar Komponen
24
05 - Penggaris Digital Dengan Ultrasonik
3 Skematik
4 Source Code
1 #include <HCSR04.h>
2 #include <Wire.h>
3 #include <LiquidCrystal_I2C.h>
4
5 LiquidCrystal_I2C lcd(0x27, 16, 2);
6 HCSR04 hc(5,6); // (5-pin Trig , 6-pin
Echo)
7
8 void setup()
9 {
10 lcd.begin();
11 lcd.backlight();
12 lcd.print(“Jarak Objek : “);
13 }
14
25
Starter Kit Arduino - Starlectric
15 void loop(){
16 lcd.setCursor(0,1);
17 lcd.print(hc.dist());
18 lcd.print(" cm ");
19 delay(300);
20 }
• hc.dist();
Fungsi ini untuk mendapatkan hasil pengukuran jarak.
Jarak yang dihasilkan dalam satuan cm.
26
06 - Alarm Anti Maling
1 INTRO
Project ini kita akan memanfaatkan sensor gerakan atau biasa
disebut PIR Motion Sensor yang dapat mendeteksi gerakan di
depan sensor dengan sudut pandang hingga 110° dan jarak
deteksi hingga 10 meter. Sensor dapat diatur sensitifitas dan
durasi trigger menyesuaikan dengan kebutuhan dengan memutar
potentiometer di modul.
2 Daftar Komponen
27
Starter Kit Arduino - Starlectric
3 Skematik
4 Source Code
1 int pir = 3;
2 int buzzer = 7;
3 int deteksi = 0;
4
5 void setup() {
6 pinMode(pir, INPUT);
7 pinMode(buzzer,OUTPUT);
8 }
9
10 void loop() {
11 deteksi = digitalRead(pir);
12
13 if(deteksi == HIGH) {
14 alarmAktif();
15 }
16 }
17
28
06 - Alarm Anti Maling
18 void alarmAktif() {
19 for(int i=0; i<10; i++) {
20 digitalWrite(buzzer, HIGH);
21 delay(100);
22 digitalWrite(buzzer, LOW);
23 delay(100);
24 }
25 }
• digitalRead(pin);
Membaca status digital pada pin yang dipilih.
29
Starter Kit Arduino - Starlectric
1 INTRO
Kita akan menggunakan sensor LDR (Light Dependent Resistor)
pada project ini. LDR adalah resistor variabel yang nilai tahanannya
berubah mengikuti intensitas cahaya. Dengan memanfaatkan
sifat LDR tersebut, kita dapat mendeteksi pagi atau malam
maupun cerah atau mendung.
Arduino membaca nilai tahanan dengan menggunakan ADC
(Analog to Digital Converter) yaitu mengkonversi tegangan analog
menjadi nilai digital yang dapat dibaca Arduino.
2 Daftar Komponen
30
07 - Lampu Teras Otomatis
3 Skematik
4 Source Code
1 int ldr = A0;
2 int led = 7;
3 int intensitas = 0;
4
5 void setup() {
6 pinMode(led, OUTPUT);
7 Serial.begin(9600);
8 }
9
10 void loop() {
11 intensitas = analogRead(ldr);
12 Serial.println(intensitas);
13
14 if(intensitas < 700) {
15 digitalWrite(led, HIGH);
16 }
31
Starter Kit Arduino - Starlectric
17 else {
18 digitalWrite(led, LOW);
19 }
20 }
• analogRead(pin);
Membaca tegangan sinyal analog pada pin. Hasil
pengukuran dalam kisaran 0 - 1023 (0 - 5V)
• Serial.println(data);
Mengirim data melalui komunikasi serial. Dapat dilihat
melalui Serial Monitor dalam Arduino IDE.
32
08 - Lampu Tidur Pelangi
1 INTRO
Untuk menghasilkan warna LED
yang bervariasi, kita gunakan
LED RGB (Red Green Blue).
Dengan mengkombinasikan
ketiga warna tersebut, kita
bisa mendapatkan banyak warna. Arduino dapat mengontrol
LED tersebut dengan PWM (Pulse Width Modulation). Sehingga
perubahan warna setiap LED dapat dikontrol dengan mudah.
LED RGB yang akan digunakan pada project ini adalah Common
Cathode, dimana kaki paling panjang adalah kaki Common dan
terhubung ke Ground.
2 Daftar Komponen
33
Starter Kit Arduino - Starlectric
3 Skematik
4 Source Code
1 int red_RGB = 9;
2 int green_RGB = 11;
3 int blue_RGB = 10;
4
5 void setup() {
6 pinMode(red_RGB, OUTPUT);
7 pinMode(green_RGB, OUTPUT);
8 pinMode(blue_RGB, OUTPUT);
9 }
10
11 void loop() {
12 RGB_color(255, 0, 0); //Red
13 delay(1000);
14 RGB_color(0, 255, 0); //Green
15 delay(1000);
16 RGB_color(0, 0, 255); //Blue
17 delay(1000);
34
08 - Lampu Tidur Pelangi
• // comment
Disebut sebagai comment. Tulisan setelah tanda // tidak
akan dieksekusi oleh Arduino. Biasa digunakan untuk menulis
catatan atau penjelasan.
35
Starter Kit Arduino - Starlectric
1 INTRO
Kita akan menggunakan modul
Obstacle Sensor yang berfungsi
mendeteksi objek atau halangan
di depan sensor.
Dengan menggunakan sinar
Infrared dan Photodiode, objek
yang memantulkan sinar akan terdeteksi. Aplikasi sensor ini
sangat luas seperti menghitung jumlah orang lewat, sensor parkir
mobil dan lain-lain.
2 Daftar Komponen
36
09 - Detektor Objek dengan Infrared
3 Skematik
4 Source Code
1 int sensor = 5;
2 int buzzer = 7;
3 int detektor = 0;
4
5 void setup() {
6 pinMode(sensor, INPUT);
7 pinMode(buzzer, OUTPUT);
8 }
9
10 void loop() {
11 detektor = digitalRead(sensor);
12
13 if(detektor == HIGH) {
14 digitalWrite(buzzer, HIGH);
15 delay(200);
16 }
37
Starter Kit Arduino - Starlectric
17 else {
18 digitalWrite(buzzer, LOW);
19 }
20 }
38
10 - Mengontrol Motor Servo
1 INTRO
Motor Servo adalah jenis motor dengan karakteristik dapat
dikontrol dengan lebih presisi dibanding motor DC biasa. Di dalam
motor servo terdapat rangkaian gearbox yang memungkinkan
servo dikontrol dengan presisi dan dapat mempertahankan
posisi.
Servo sering kali digunakan untuk mengontrol posisi barang yang
membutuhkan ketepatan setiap dieksekusi, contohnya seperti
kemudi roda depan pada mobil Radio Control (RC).
2 Daftar Komponen
39
Starter Kit Arduino - Starlectric
3 Skematik
4 Source Code
1 #include <Servo.h>
2
3 Servo motorServo;
4
5 int pinPotentiometer = A0;
6 int nilai;
7
8 void setup() {
9 motorServo.attach(9);
10 }
11
12 void loop() {
13 nilai = analogRead(pinPotentiometer);
14 nilai = map(nilai, 0, 1023, 0, 180);
15 motorServo.write(nilai);
16 delay(15);
17 }
40
10 - Mengontrol Motor Servo
• motorServo.write(nilai)
Menggerakan motor servo 180° ke posisi derajat sebesar
nilai.
41
Starter Kit Arduino - Starlectric
1 INTRO
Keypad digunakan untuk input angka. Keypad dapat dimanfaatkan
di banyak aplikasi seperti, input nomor antrian, input angka alarm
dan lain-lain. Keypad 4x4 memiliki 10 tombol angka, tombol #,
tombol * dan 4 tombol custom. Konektornya adalah 8 pin yang
terdiri dari 4 pin Kolom dan 4 pin Baris.
2 Daftar Komponen
42
11 - Input Angka dengan Keypad
3 Skematik
4 Source Code
1 #include <Keypad.h>
2
3 const byte BARIS = 4; //4 baris
4 const byte KOLOM = 4; //4 kolom
5
6 //tentukan posisi tiap tombol
7 char poosisiTombol[BARIS][KOLOM] = {
8 {'1','2','3','A'},
9 {'4','5','6','B'},
10 {'7','8','9','C'},
11 {'*','0','#','D'}
12 };
13 byte pinBaris[BARIS] = {13, 12, 11, 10};
//koneksi pin baris Keypad
14 byte pinKolom[KOLOM] = {9, 8, 7, 6};
//koneksi pin kolom Keypad
15
43
Starter Kit Arduino - Starlectric
44
Starlectric
Follow kami di :
46
Starlectric
47