Teks tersebut membahas tentang pengembangan proyek aplikasi sederhana menggunakan Arduino yang menggabungkan LED, micro servo, LCD dan shift register. Proyek ini bertujuan untuk memberikan simulasi agar lebih mudah memahami prinsip kerja komponen-komponen Arduino.
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
SEDERHANA ARDUINO LED
1. 1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Dewasa ini kemajuan ilmu pengetahuan dan teknologi semakin
berkembang pesat dan secara terus-menerus menghasilkan sesuatu yang baru
berupa teknologi modern yang canggih dan mudah digunakan. Teknologi ini
sangat membantu kita dalam berbagai aspek kehidupan. Tak lepas dari itu
kita juga dituntut untuk terus kreatif dan inovatif dalam memanfaatkan
teknologi dan kemudian mengembangkan teknologi tersebut melalui ilmu
pengetahuan yang telah dimiliki.
Ilmu pengetahuan dan teknologi merupakan hasil perpaduan dari
berbagai disiplin ilmu. Dengan kita paham mengenai ilmu pengetahuan dan
teknologi maka kita dapat menjadi manusia berguna, tidak kuno dan
bermanfaat, baik bagi pribadi kita sendiri maupun orang lain. Salah satu ilmu
pengetahuan adalah ilmu sains dengan salah satu cabangnya adalah Fisika.
Fisika adalah suatu ilmu yang mempelajari peristiwa dan fenomena alam
terutama yang sering terjadi di kehidupan kita.
Ilmu pengetahuan ini menghasilkan berbagai teknologi yang modern.
Teknologi ini sering kita gunakan dalam kehidupan kita. Salah satu teknologi
yang berkembang saat ini adalah mikrokontroler Arduino. Mikrokontroler
Arduino ini merupakan salah satu board mikrokontroler yang sangat populer
dan sudah diakui keunggulannya. Kemudahan dalam pemograman, software
dan hardwarenya yang bersifat open source menjadikan mikrokontroler ini
paling banyak digunakan di dunia. Di sini kita tidak boleh menjadi seseorang
yang tertinggal terutama dalam hal pemanfaatan dan penggunaan
mikrokontroler Arduino. Untuk itu kami membuat suatu proyek aplikasi
sederhana dari Arduino dengan judul “ L.mico 8 LedGister”.
1.2 Tujuan
Tujuan dari pembuatan proyek aplikasi sederhana dari Arduino dengan
judul L.mico 8 LedGister adalah memberikan simulasi agar lebih mudah
2. 2
memahami prinsip kerja dari komponen-komponen arduino dengan melihat
hasil program secara virtual dan mengaplikasikannya pada board Arduino.
1.3 Batasan Masalah
Pada proposal ini kami membatasi masalah pada batasan yaitu
pengaplikasian hasil program dengan memanfaatkan komponen-komponen
pada Arduino yang berupa penggabungan antara LED, micro servo, LCD dan
sebuah shift register.
1.4 Manfaat
Manfaat yang didapat pada proposal ini adalah memberikan informasi
kepada pembaca tentang bagaimana cara membuat proyek aplikasi sederhana
yang berjudul L.mico 8 LedGister serta memahami prinsip kerja dari proyek
tersebut.
3. 3
BAB II
LANDASAN TEORI
2.1 Arduino Uno
Arduino Uno adalah board berbasis mikrokontroler pada ATMega 328.
Board ini memiliki 14 digital input / ouput pin (dimana 6 pin dapat digunakan
sebagai ouput PWM), 6 input analog, 16 MHz osilator kristal, koneksi USB,
jack listrik dan tombol reset. Pin – pin ini berisi semua yang diperlukan untuk
mendukung mikrokontroler, hanya terhubung ke komputer dengan kabel USB
atau sumber tekanan bisa didapat dari adaptor AC – DC atau baterai untuk
menggunakannya.
Arduino Uno R3 berbeda dengan semua board sebelumnya karena
Arduino Uno R3 ini tidak menggunakan chip driver FTDI USB-to-serial.
Melainkan menggunakan fitur dari ATMega 16U2 yang diprogram sebagai
konverter USB-to-serial. Spesifikasi Board Arduino Uno adalah:
a. Mikrokontroler : Atmega328
b. Tegangan operasi : 5 V
c. Tegangan input disarankan : 7-12 V
d. Batas tegangan input : 6-20 V
e. Pin digital I/O : 14 (di mana 6 pin output PWM)
f. Pin analog input : 6
g. Arus DC per I/O Pin : 40 mA
h. Arus DC untuk pin 3,3 V : 50 mA
i. Flash Memory : 32 KB (Atmega328, di mana 0,5 KB digunakan oleh
bootloader)
j. SRAM : 2 KB (Atmega328)
k. EEPROM : 1 KB (Atmega328)
l. Clock : 16 MHz
2.2 Breadboard atau Papan Rangkaian
Breadboard adalah board yang digunakan untuk membuat rangkaian
elektronik sementara dengan tujuan uji coba atau prototipe tanpa harus
menyolder. Dengan memanfaatkan breadboard, komponen-komponen
4. 4
elektronik yang dipakai tidak akan rusak dan dapat digunakan untuk membuat
rangkaian yang lain. Breadboard umumnya terbuat dari plastik dengan
banyak lubang di atasnya. Lubang-lubang pada breadboard diatur membentuk
pola sesuai dengan pola jaringan koneksi di dalamnya.
Breadboard yang tersedia di pasaran umumnya terbagi atas 3 ukuran:
minibreadboard, medium breadboard, dan largebreadboard. Mini breadboard
memiliki 170 titik koneksi (bisa juga lebih). Medium breadboard memiliki
400 titik koneksi. Large breadboard memiliki 830 titik koneksi.
Gambar 2.1 Mini breadboard dan layout koneksi
Perhatikan Gambar 2.1, sebuah mini breadboard dengan 200 titik
koneksi. Pada bagian kanan dapat dilihat pola layout koneksi yang digambar
dengan garis berwarna biru. Pada breadboard tersebut dapat dilihat penulisan
huruf A, B, C, D, E, F, G, H, I, dan J. Kemudian ada angka 1, 5, 10, 15 dan
20. Huruf dan angka ini membentuk semacam koordinat. A1, B1, C1, D1, E1
saling berhubungan sesuai pola koneksinya (lihat kembali garis berwarna
biru). Begitu juga A2 E2, A3 E3, F1 J1, F2 J2 dan seterusnya.
Dengan memahami pola koneksi ini kita sudah bisa memakai breadboard
untuk keperluan prototipe rangkaian sehingga dapat menempatkan komponen
elektronik secara tepat sesuai dengan gambar rangkaian yang dimaksud.
Gambar 2.2 Medium breadboard 400 titik
5. 5
Pada Gambar 2.2, medium breadboard ini juga disebut half (setengah)
breadboard karena ukurannya kurang lebih setengah dari ukuran large/full
breadboard dengan 830 titik koneksi.
Gambar 2.3 Layout koneksi medium breadboard
Setelah kita mengetahui rangkaian apa yang akan dibuat, selanjutnya adalah
penerapannya menggunakan breadboard dan Arduino.
Gambar 2.4 Contoh penyusunan rangkaian Arduino pada Breadboard
2.3 Micro Servo
Micro Servo adalah motor servo skala kecil. Motor servo adalah sebuah
motor listrik dengan sistem umpan balik tertutup di aman posisi dari motor
akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor
servo. Motor ini terdiri dari sebuah motor DC, serangkaian gear,
potensiometer, dan rangkaian kontrol. Potensiometer berfungsi untuk
menentukan batas sudut dari putaran servo. Sedangkan sudut dari sumbu
6. 6
motor servo diatur berdasarkan lebar pulsa yang dikirim melalui kaki sinyal
dar kabel motor.
Gambar 2.5 Servo dengan horn bulat
Karena motor DC servo merupakan alat untuk mengubah energi listrik
menjadi energi mekanik, maka magnet permanen motor DC servo lah yang
mengubah energi listrik ke dalam energi mekanik melalui interaksi dua
medan magnet. Salah satu medan dihasilkan oleh magnet permanen dan yang
satunya dihasilkan oleh arus yang mengalir dalam kumparan motor. Resultan
dari dua medan magnet tersebut menghasilkan torsi yang membangkitkan
putaran motor tersebut. saat motor berputar, arus pada kumparan motor
menghasilkan torsi yang nilainya konstan.
Secara umum terdapat 2 jenis motor servo, yaitu motor servo standar dan
motor servo Continuous. Motor servo tipe standar hanya mampu berputar 180
derajat. Motor servo standar sering dipakai pada sistem robotika misalnya
untuk membuat “Robot Arm” (Robot Lengan), sedangkan Servo motor
continuous dapat berputar 360 derajat. Motor servo continuous sering dipakai
untuk Mobile Robot. Pada badan servo tertulis tipe servo yang bersangkutan.
Gambar 2.6 Motor servo dengan horn x
Motor servo merupakan sebuah motor DC kecil yang diberi sistem gear
dan potensiometer sehingga dia dapat menempatkan “horn” servo pada posisi
7. 7
yang dikehendaki. Karena motor ini menggunakan sistem close loop sehingga
posisi “horn” yang dikehendaki bisa dipertahankan. “Horn” pada servo ada
dua jenis, yaitu Horn “X” dan Horn berbentuk bulat.
Pengendalian gerakan batang motor servo dapat dilakukan dengan
menggunakan metode PWM (Pulse Width Modulation). Teknik ini
menggunakan sistem lebar pulsa untuk mengendalikan putaran motor. Sudut
dari sumbu motor servo diatur berdasarkan lebar pulsa yang dikirim melalui
kaki sinyal dari kabel motor.
2.4 LED
LED kepanjangan dari Light Emitting Diode (Dioda Pemancar Cahaya).
Dioda ini akan mengeluarkan cahaya bila diberi tegangan sebesar 1,8 V
dengan arus 1,5 mA. LED banyak digunakan sebagai lampu indikator dan
peraga (display). Lampu LED terbuat dari plastik dan dioda semikonduktor
yang dapat menyala apabila dialiri tegangan listrik rendah (sekitar 1,8 volt
DC). Bermacam-macam warna dan bentuk dari lampu LED, disesuaikan
dengan kebutuhan dan fungsinya.
Gambar 2.7 Struktur dasar LED
Dalam LED digunakan konduktor dengan gabungan unsur logam
aluminium-gallium-arsenit (AlGaAs). Konduktor AlGaAs murni tidak
memiliki pasangan elektron bebas sehingga tidak dapat mengalirkan arus
listrik. Oleh karena itu dilakukan proses doping dengan menambahkan
8. 8
elektron bebas untuk mengganggu keseimbangan konduktor tersebut,
sehingga material yang ada menjadi semakin konduktif.
a. Proses Pembangkitan Cahaya pada LED
Cahaya pada dasarnya terbentuk dari paket-paket partikel yang
memiliki energi dan momentum, tetapi tidak memiliki massa. Partikel ini
disebut foton. Foton dilepaskan sebagai hasil pergerakan elektron. Pada
sebuah atom, elektron bergerak pada suatu orbit yang mengelilingi
sebuah inti atom. Elektron pada orbital yang berbeda memiliki jumlah
energi yang berbeda. Elektron yang berpindah dari orbital dengan tingkat
energi lebih tinggi ke orbital denag tingkat energi lebih rendah perlu
melepas energi yang dimilikinya. Energi yang dilepaskan merupakan
bentuk dari foton. Semakin besar energi yang dilepaskan, semakin besar
energi yang terkandung dalam foton.
Pembangkitan cahaya pada lampu pijar adalah dengan mengalirkan
arus pada filamen (kawat) yang letaknya ada di tengah-tengah bola
lampu dan menyebabkan filamen tersebut panas, setelah panas pada suhu
tertentu (tergantung pada jenis bahan filamen), filamen tersebut akan
memancarkan cahaya. Namun karena pada lampu pijar yang
memancarkan cahaya adalah filamen yang terbakar, tapi jika suhu pada
filamen melewati batas kemampuan untuk menahan panas, akan
mengakibatkan filamen lampu pijar sedikit demi sedikit meleleh dan
selanjutnya putus sehingga lampu pijar tidak akan bisa memancarkan
cahaya lagi. Umur dari lampu pijar kurang lebih sekitar 2000 jam.
Sedangkan pada lampu fluoresenceatau lampu TL, proses pembangkitan
cahaya hanya memanfaatkan ionisasi gas dalam tabung lampu lalu
diberikan beda potensial di antara kedua ujung tabung lampu TL
sehingga mengakibatkan loncatan-loncatan elektron dari ujung yang satu
ke ujung yang lain dan saat terjadi saat terjadi loncatan elektron
bersamaan dengan dipancarkannya cahaya dari loncatan tersebut.
Kekurangan dari lampu TL adalah jika gas yang ada dalam tabung habis,
maka cahayanya tidak bisa dipancarkan lagi. Umur dari lampu TL relatif
lebih lama daripada lampu pijar.
9. 9
Ketika sebuah dioda sedang mengalirkan elektron, terjadi pelepasan
energi yang umumnya berbentuk emisi panas dan cahaya. Material
semikonduktor pada dioda sendiri menyerap cukup banyak energi
cahaya, sehingga tidak seluruhnya dilepaskan. LED merupakan dioda
yang dirancang untuk melepaskan sejumlah banyak foton, sehingga dapat
mengeluarkan cahaya yang tampak oleh mata. Umumnya LED
dibungkus oleh bohlam plastik yang dirancang sedemikian sehingga
cahaya yang dikeluarkan terfokus pada suatu arah tertentu.
Setiap material hanya dapat mengemisikan foton dalam rentang
frekuensi sangat sempit. LED yang menghasilkan warna berbeda terbuat
dari material semikonduktor yang berbeda pula, serta membutuhkan
tingkat energi berbeda untuk menghasilkan cahaya. Misalnya AlGaAs –
merah dan inframerah, AlGaP – hijau, GaP – merah, kuning dan hijau.
b. LED sebagai Sumber Cahaya
Lampu pijar lebih murah tapi juga kurang efisien dibanding LED.
Lampu TL lebih efisien daripada lampu pijar, tapi butuh tempat besar,
mudah pecah dan membutuhkan starter atau rangkaian ballast yang
terkadang terdengar suara dengungnya.
LED mempunyai beberapa keunggulan dibandingkan dengan lampu
pijar konvensional. LED tidak memiliki filamen yang terbakar, sehingga
usia pakai LED jauh lebih panjang daripada lampu pijar, LED tidak
memerlukan gas untuk menghasilkan cahaya. Selain itu, bentuk LED
yang sederhana, kecil, dan kompak memudahkan penempatannya. Dalam
hal efisiensi, LED juga memiliki keunggulan. Pada lampu pijar
konvensional, proses produksi cahaya menghasilkan panas yang tinggi
karena filamen lampu harus dipanaskan. LED hanya sedikit
menghasilkan panas, sehingga porsi terbesar dari energi listrik yang ada
digunakan untuk menghasilkan cahaya dan membuatnya jauh lebih
efisien.
RGB (Red Green Blue) LED atau LED yang bisa mengeluarkan
warna yang dipancarkan lebih dari satu warna sehingga memungkinkan
10. 10
aplikasi LED yang semakin luas, khususnya menambah keindahan dalam
dunia desain interior dan eksterior.
Dalam terminologi teknik pencahayaan, LED dapat dikatakan
memiliki tingkat efisiensi luminus (cahaya) atau efikasi yang tinggi
karena perbandingan banyaknya energi cahaya yang dikeluarkan LED
dengan besarnya daya listrik yang dikonsumsinya cukup tinggi jika
dibandingkan dengan lampu pijar konvensional.
LED dengan cahaya monokromatiknya memiliki keunggulan kekuatan
yang lebih besar dari cahaya putih ketika warna yang spesifik diperlukan.
Tidak seperti cahaya putih tradisional, LED tidak membutuhkan lapisan
atau diffuser yang banyak mengabsorpsi cahaya yang dikeluarkan.
Cahaya LED mempunyai sifat warna tertentu, dan tersedia pada range
warna yang lebar. Salah satunya yang baru-baru ini warna diperkenalkan
adalah emerald green (bluish green, panjang gelombangnya kira-kira 500
nm) yang cocok dengan persyaratan sebagai sinyal lalu lintas dan cahaya
navigasi. Cahaya LED kuning adalah pilihan bagus karena mata manusia
sensitif pada cahaya kuning (kira-kira yang dipancarkan 500lm/watt).
2.5 Shift Register
Register geser (Shift register) merupakan salah satu piranti fungsional
yang banyak digunakan di dalam sistem digital. Pada sistem digital register
geser digunakan untuk menggeser suatu data. Pergeseran data pada register
dapat dilakukan dalam dua arah yaitu ke arah LSB (Low Significant Bit) dan
ke arah MSB (Most Significant Bit). Contoh gambar Shift Register 74HC595
seperti gambar 2.8.
11. 11
Gambar 2.8 Shift Register 74HC595
Di pasaran terdapat beberapa pilihan shift register. Salah satu yang
populer adalah 74HC595.
Gambar 2.9 Kode Kaki Shift Register 74HC595
IC 74HC595 adalah shift register yang sering digunakan untuk
menghemat penggunaan output pin arduino. Berikut gambar pinout IC
74HC595 :
Gambar 2.10 Kode Kaki Shift Register 74HC595
Dengan IC tersebut kita bisa mengontrol 8 pin dengan menggunakan 3
pin. Misalnya untuk mengendalikan nyala lampu led sebanyak 8 buah atau
bisa juga sebagai perantara ke LCD basic 16×2 sehingga hanya dibutuhkan 3
pin arduino untuk menyalakannya, seperti yang akan dijelaskan pada proyek
Lmico 8 Legister.
2.6 LCD
LCD (Liquid Crystal Display) adalah suatu jenis tampilan yang
menggunakan kristal cair sebagai penampil utama. Namun tidak bisa
12. 12
menampilkan cahaya sendiri tentunya, terdapat sumber cahaya berupa lampu
neon berwarna putih di belakang susunan kristal cair. LCD 16x2 atau yang
berarti 16 baris, 2 kolom (gambar 2.11).
Gambar 2.11 LCD 16x2
Gambar 2.12 Kode kaki pada LCD
Pin LCD nomor 3 (Vo) adalah untuk contrast lcd tersebut yang akan kita
hubungkan dengan potensio.
Pin LCD nomor 4 (RS) adalah Register Kontrol atau Register Data.
Register kontrol digunakan untuk menulis data ke memori display LCD.
Pin LCD nomor 5 (R/W) untuk memilih data yang digunakan READ atau
WRITE. Karena kebanyakan fungsi hanya perlu menulis data saja ke
LCD, maka dihubungkan ke GND (WRITE).
Pin LCD nomor 6 (ENABLE) digunakan untuk mengaktifkan LCD pada
proses penulisan data ke Register Kontrol dan Register Data LCD.
13. 13
2.7 Resistor
Resistor adalah komponen elektronika berjenis pasif yang mempunyai
sifat menghambat arus listrik. Satuan nilai dari resistor adalah ohm biasa
disimbolkan Ω. Fungsi dari resistor adalah:
1. Sebagai pembagi arus
2. Sebagai penurun tegangan
3. Sebagai pembagi tegangan
4. Sebagai penghambat aliran arus listrik.
Resistor berdasarkan nilainya dapat dibagi dalam 3 jenis, yaitu:
1. Fixed Resistor, yaitu resistor yang nilai hambatannya tetap.
2. Variable Resistor, yaitu resistor yang nilai hambatannya dapat diubah-
ubah.
3. Resistor Non Linier, yaitu resistor yang nilai hambatannya tidak linier
karena pengaruh faktor lingkungan misalnya suhu dan cahaya.
Beberapa hal yang perlu diperhatikan:
1. Makin besar bentuk fisik resistor, makin besar pula daya resistor
tersebut.
2. Semakin besar nilai daya resistor makin tinggi suhu yang bisa diterima
resistor tersebut.
3. Resistor bahan gulungan kawat pasti lebih besar bentuk dan nilai
dayanya dibandingkan resistor dari bahan karbon.
Resistor Tetap (Fixed)
Secara fisik bentuk resistor tetap seperti Gambar 2.13.
Gambar 2.13 Bentuk fisik resistor
Resistor Variabel
14. 14
1. Trimpot, yaitu resistor variabel yang nilai hambatannya dapat diubah
dengan menggunakan obeng.
2. Potensiometer, yaitu resistor variabel yang nilai hambatannya dapat
diubah langsung menggunakan tangan dengan cara memutar poros
engkol atau menggeser kenop untuk potensio geser.
Contoh bentuk fisik dari resistor variabel jenis Trimpot.
Gambar 2.14 Bentuk fisik trimpot
Contoh bentuk fisik dari resistor variabel jenis potensiometer.
Gambar 2.15 Bentuk fisik potensiometer
2.8 Kabel USB Standar A-B
Kabel USB ini digunakan untuk menghubungkan antara papan Arduino
dengan komputer. Fungsinya untuk komunikasi antara Arduino dan
komputer, juga salah satu sumber catu daya pada Arduino. Kabel ini sama
dengan kabel printer sambungan USB.
Gambar 2.16 Kabel USB standar A-B
15. 15
2.9 Kabel Jumper (Jumper Wires)
Kabel jumper adalah kabel-kabel pendek yang digunakan untuk
menghubungkan antara komponen yang satu dengan komponen lainnya pada
breadboard sehingga terdapat hubungan listrik dan terbentuk rangkaian
elektronik.
Gambar 2.12 Kabel jumper
2.10 Software Arduino IDE
Untuk menulis program pada board arduino dibutuhkan software
Arduino IDE (Intergrated Development Environment). IDE adalah sebuah
software untuk menulis program, mengompilasi menjadi kode biner dan
meng-upload ke dalam memori mikrokontroler. Software IDE arduino
adalah sofware yang ditulis dengan menggunakan java.
16. 16
BAB III
METODOLOGI
3.1 Alat dan Bahan
Gambar alat/bahan Nama Alat/Bahan Jumlah
LED 8 buah
Resistor220 Ω 8 buah
Shift Register
74HC595
1 buah
Bread board 1buah
17. 17
Arduino Uno R3 1 buah
Kabel jumper male
to male
Secukupnya
LCD 1 buah
Mikro servo 1 buah
Kabel USB 1 buah
18. 18
3.2 Langkah Kerja
a. Langkah membuat rangkaian
1. Pasang 8 LED pada bread board dengan memperhatikan polarisasi kaki
LED, kaki positif pada resistor dan kaki negatif digroundkan.
2. Pasang shift register 74HC595 pada bread board.
3. Sambungkan kaki positif masing-masing LED dengan kaki shift
register menggunakan resistor 220 ohm perhatikan gambar 3.1.
Gambar 3.1 Kode kaki shift register 74HC595
Kaki QA (15) pada register 74HC595 dihubungkan dengan kaki
positif LED ke 8 dengan resistor 220 ohm.
Kaki QB (1) pada register 74HC595 dihubungkan dengan kaki
positif LED ke 7 dengan resistor 220 ohm.
Kaki QC (2) pada register 74HC595 dihubungkan dengan kaki
positif LED ke 6 dengan resistor 220 ohm.
Kaki QD (3) pada register 74HC595 dihubungkan dengan kaki
positif LED ke 5 dengan resistor 220 ohm.
Kaki QE (4) pada register 74HC595 dihubungkan dengan kaki
positif LED ke 4 dengan resistor 220 ohm.
Kaki QF (5) pada register 74HC595 dihubungkan dengan kaki
positif LED ke 3 dengan resistor 220 ohm.
Kaki QG (6) pada register 74HC595 dihubungkan dengan kaki
positif LED ke 2 dengan resistor 220 ohm.
Kaki QH (7) pada register 74HC595 dihubungkan dengan kaki
positif LED ke 1 dengan resistor 220 ohm.
19. 19
4. Kaki GND (8) pada register 74HC595 digroundkan dengan
menggunakan kabel jumper.
5. Kaki VCC (16) pada register 74HC595 dihubungkan dengan
menggunakan kabel jumper ke kaki SRCLR (10) pada register
74HC595.
6. Kaki SER (14) pada register 74HC595 dihubungkan dengan pin 6
arduino menggunakan kabel jumper.
7. Kaki RCLK (12) pada register 74HC595 dihubungkan dengan pin 7
arduino menggunakan kabel jumper.
8. Kaki SRCLK (11) pada register 74HC595 dihubungkan dengan pin 8
arduino menggunakan kabel jumper.
9. Pasang LCD pada board arduino dan sambungkan kaki LCD dengan
rangkaian (gambar. 3.2)
Kaki K pada LCD dihubungkan dengan Ground yang terletak
pada pin positif breadboardd.
Kaki A pada LCD dihubungkan dengan pin 5V yang terletak pada
pin negatif breadboardd.
Kaki D7 pada LCD dihubungkan dengan pin 2 pada arduino
menggunakan kabel jumper.
Kaki D6 pada LCD dihubungkan dengan pin 3 pada arduino
menggunakan kabel jumper.
Kaki D5 pada LCD dihubungkan dengan pin 4 pada arduino
menggunakan kabel jumper.
Kaki D4 pada LCD dihubungkan dengan pin 5 pada arduino
menggunakan kabel jumper.
Kaki E pada LCD dihubungkan dengan pin 11 pada arduino
menggunakan kabel jumper.
Kaki RW pada LCD dihubungkan dengan Ground yang terletak
pada pin positif breadboard.
Kaki RS pada LCD dihubungkan dengan pin 12 pada arduino
menggunakan kabel jumper.
20. 20
Kaki VDD pada LCD dihubungkan dengan pin 5V yang terletak
pada pin negatif breadboard.
Kaki VSS pada LCD dihubungkan dengan ground yang terletak
pada pin negatif breadboard.
10. Sambungkan ground yang terletak pada pin positif breadboard ke pin
ground pada arduino
11. Sambungkan 5V yang terletak pada pin negatif breadboard ke pin 5V
pada arduino
12. Pasang Mikro Servo pada board arduino dengan menyambungkan:
Kabel coklat dihubungkan dengan ground
Kabel merah dihubungkan dengan pin 9
Kabel kuning dihubungkan dengan pin 5V yang terletak pada pin
negatif breadboard.
13. Sambungkan kabel USB ke arduino
14. Selanjutnya hubungkan rangkaina dengan software pada laptop yang
telah disiapkan kode programnya.
Kode program
#include <Servo.h>
#include <LiquidCrystal.h>
Servo myservo; // create servo object to control a servo
// a maximum of eight servo objects can be created
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int pos = 0;
int latchPin = 7;
int clockPin = 8;
int dataPin = 6;
byte leds = 0;
21. 21
void setup()
{
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("PROJECT KLMPK 2");
lcd.setCursor(0,1); // move cursor down one
lcd.print("L.mico 8 LedGister"); //input your text here
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop()
{
// scroll 13 positions (string length) to the left
// to move it offscreen left:
for (int positionCounter = 0; positionCounter < 13; positionCounter++)
{
// scroll one position left:
lcd.scrollDisplayLeft();
// wait a bit:
delay(150);
22. 22
}
// scroll 29 positions (string length + display length) to the right
// to move it offscreen right:
for (int positionCounter = 0; positionCounter < 29; positionCounter++)
{
// scroll one position right:
lcd.scrollDisplayRight();
// wait a bit:
delay(150);
}
// scroll 16 positions (display length + string length) to the left
// to move it back to center:
for (int positionCounter = 0; positionCounter < 16; positionCounter++)
{
// scroll one position left:
lcd.scrollDisplayLeft();
// wait a bit:
delay(150);
}
// delay at the end of the full loop:
delay(1000);
23. 23
leds = 0;
updateShiftRegister();
delay(500);
for (int i = 0; i < 8; i++)
{
bitSet(leds, i);
updateShiftRegister();
delay(500);
}
}
void updateShiftRegister()
{
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, leds);
digitalWrite(latchPin, HIGH);
for(pos = 0; pos < 180; pos += 1) // goes from 0 degrees to 180
degrees
{ // in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable
'pos'
delay(5); // waits 15ms for the servo to reach the
position
}
24. 24
for(pos = 180; pos>=1; pos-=1) // goes from 180 degrees to 0
degrees
{
myservo.write(pos); // tell servo to go to position in variable
'pos'
delay(5); // waits 15ms for the servo to reach the
position
}
}
15. Program diverifikasi terlebih dahulu untuk pengecekan kode error.
16. Klik ikon upload pada toolbar, untuk meng-upload sketch ke papan
Arduino. Lihat hasilnya.
3.3 Gambar Rangkaian
Gambar 3.2 Gambar Rangkaian
26. 26
BAB IV
HASIL DAN PEMBAHASAN
3.1 Hasil
3.2 Pembahasan
L.Mico 8 LedGister adalah sebuah proyek yang menggabungkan 4
komponen-komponen penting pada kotak arduino, yaitu LED, LCD, Shift
Register, dan Micro Servo. Ada hal yang harus dilakukan agar alat-alat
tersebut dapat berfungsi dengan baik. Untuk LCD, harus disolder dengan
kabel yang berbentuk sisir agar pada saat digunakan, LCD dapat menampilkan
tulisan dengan jelas. Kemudian pada bagian kiri yaitu VSS, VDD, V0
dihubungkan dengan potensiometer. Apabila LCD tidak disolder, maka LCD
akan terus goyang dan harus dipegang pada saat penggunaannya.
Potensiometer disini berguna untuk mengatur kecerahan dari LCD, sehingga
didapatkan tulisan yang jelas pada layarnya.
Selain menggabungkan 4 jenis komponen arduino yang berbeda, proyek
ini akan menampilkan tulisan pada LCD, menggerakkan Micro Servo dan
menghidupkan 8 buah LED secara berurutan. Prinsip kerja dari proyek ini
adalah LCD akan menampilkan tulisan yang bergerak ke kiri dan ke kanan
yaitu Proyek Kelompok 2 selama beberapa detik, kemudian LCD akan mati
sesaat, dan micro servo akan mulai bergerak dimulai dari sudut 0o menuju
sudut 180o ketika putaran pertama dari servo mulai bergerak, maka LED
27. 27
pertama juga akan hidup. Sedangkan LCD akan menampilkan tulisan pertama
tetapi berkedip-kedip. Setelah putaran servo mencapai sudut 180o (15 ms)
maka servo akan bergerak kembali ke sudut 0o, pada saat itu juga LED kedua
hidup, sedangkan LCD tetap menampilkan tulisan yang berkedip-kedip. Alat
ini akan bekerja berulang sampai LED terakhir. Kemudian setelah LED
terakhir mati, maka alat akan bergerak kembali seperti pada keadaan awal.
Prinsip kerja alat ini dapat digambarkan dalam bentuk Flowchart di
bawah ini:
Start
Inisialisasi LED
Inisialisasi LCD
Inisialisasi Micro Servo
Nyalakan LCD dengan tulisan Proyek kelompok 2 L
Mico 8 Ledgister
Tunda 1 detik
Matikan LCD
28. 28
Langkah-langkah yang kita lakukan untuk membuat proyek ini
adalah merangkai alat dan juga membuat program di software arduino.
a. Merangkai Alat
Setiap alat yang kita pasang harus diperhatikan betul bagian-
bagiannya. Pada proyek ini, LED yang digunkan yaitu sebanyak 8
buah, harus dipasang dengan memperhatikan kakinya. Jika pada
proyek sebelumnya kaki positif LED dihubungkan dengan pin dan
kaki negative pada bagian ground dengan bantuan resistor, maka
disini, kaki positif diletakkan pada resistor dan kaki negative tetap
pada bagian ground. Selanjutnya yaitu memasang shiftregister
74HC595. Shift register disini digunakan selain untuk menghemat
penggunaan pin pada arduino, tetapi jugadigunakan untuk menggeser
data.
Pin arduino yang seharusnya digunakan sebanyak 8 buah, dapat
dikontrol hanya dengan menggunakan 3 pin, yaitu pin 7, 8, dan 6.
Pemasangan Shift Register pada breadboard juga harus diperhatikan,
dimana bagian hurufnya menghadap ke kita atau pada arah LED yang
kita rangkai.
Putarkan micro servo ke sudut 180o, 0o
Tunda 15 ms
Hidupkan LED 1,2,3,4,5,6,7,8
Tunda 500 ms
Putarkan micro servo ke sudut 0o
Tunda 15 ms
29. 29
Shift register kemudian dihubungkan dengan LED dengan
bantuan resistor. Resistor yang digunkan adalah resistor 220 ohm
dengan gelang warna, merah-merah-cokelat-emas. Resistor yang
digunkan adalah sebanyak 8 buah. Kaki dari resistor dihubungkan
dengan Shiftregister dan kaki lai dihubungkan dengan LED. Karena
disini menggunakan resistor nonpolar, maka kita tidak perlu
memperhatikan polaritas masing-masing kakinya. Seperti yang telah
dijabarkan pada langkah kerja rangkaian, resistor yang digunakan
diletakkan sebanyak 7 buah pada bagian QB-QH pada shift register
dan 1 lagi diletakkan pada bagian QA shift register.
Selanjutnya pemasangan LCD pada papan rangkaian
(Breadboard), LCD ini memiliki 16 kaki yang sebelumnya sudah
dihubungkan dengan potensiometer. 16 kaki ini adalah VSS, VDD,
dan V0 dihubungkan dengan potensiometer yang juga dihubungkan
dengan pin-pin arduino, dimana VDD pada 5 V dan VSS pada
Ground. K dan A dihubungkan dengan sumber daya, dimana kaki K
dihubungkan dengan ground (+) Breadboard dan kaki A untuk 5 V
pada lubang negative breadboard. Kemudian kaki D7, D6, D5, D4
dan E dihubungkan dengan pin arduino 2,3,4,5,11. Kaki R5 pada pin
12. Kaki RW pada Ground Bread board.
Setelah LCD dipasang, selanjutnya memasang micro servo pada
rangkaian. Micro servo dihubungkan dengan pad 5 V pada papan
arduino selanjutnya adalah rangkaian dengan menggunakan kabel
male to male. Kabel cokelat pada ground, merah pada pin 9 dan kabel
kuning pada pin 5 volt pada papan arduino. Selanjutnya adalah
memasang kabel USB, kabel ini digunakan untuk menghubungan
rangkaian dengan computer.
b. Mebuat kode Program
Kode program yang ditulis digunakan untuk menalankan 4
kompone yang digunakan. Penjelasan masing-masing dari kode
program ini adalah :
1) #include <Servo.h>
30. 30
#include <LiquidCrystal.h>
Kode program ini merupakan kode untuk memanggil atau
menggunakan library yang ada pada arduino.
2) Servo myservo; // create servo object to control a servo
Kode ini kita membuat objek servo dengan nama myservo
3) // a maximum of eight servo objects can be created
Kode yang didahului dengan // adalah sebuah komentar yang
berada pada satu baris, baris berikutnya bukan sebuah komentar.
4) LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int pos = 0;
kode program ini digunakan untuk meletakkan lcd pada pin
12,11,5, 4, 3, 2. Dimana pin ini dimulai dengan pin 12.
5) int latchPin = 7;
int clockPin = 8;
int dataPin = 6;
byte leds = 0;
kode ini digunakan untuk menginisialisasi pin untuk LED pada pin
7,8,6. Yang mana pin ini berurutan dari 7 sampai 6.
6) void setup()
kode void setup(), merupakan fungsi yang dieksekusi pertama kali
sesaat setelah arduino diberi catu daya, berfungsi untuk perintah-
perintah inisialisasi sebelum program utama dieksekusi.
7) {
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
kode ini digunakan untuk menetapkan mode dari suatu pin. Disini
pin yang digunakan sebagai output atau keluaran.
8) lcd.begin(16, 2);
kode ini menyatakan bahwa lcd terdiri dari 16 kotak dengan 2
baris.
9) // Print a message to the LCD.
31. 31
lcd.print("PROJECT KLMPK 2");
lcd.setCursor(0,1); // move cursor down one
lcd.print("8LED,Servo,Shift,and LCD"); //input your
text here
kode ini digunakan untuk menampilkan tulisan pada layar LCD.
Dimana pada baris pertama akan menampilkan project kelompok 2
dan baris dibawahnya akan menampilkan tulisan L.mico 8
LedGister.
10) myservo.attach(9); // attaches the servo on pin 9 to the servo
object
}
Kode ini berarti kita akan memasang objek servo pada pin 9.
11) void loop()
merupakan fungsi dari program utama yang dieksekusi secara
berurutan dari atas sampai terakhir dan kembali dari atas sampai
terakhir, begitu seterusnya karena merupakan loop yang tidak
pernah berakhir
12) // scroll 13 positions (string length) to the left
// to move it offscreen left:
for (int positionCounter = 0; positionCounter < 13;
positionCounter++) {
// scroll one position left:
lcd.scrollDisplayLeft();
// wait a bit:
delay(150);
}
// scroll 29 positions (string length + display length) to the right
// to move it offscreen right:
for (int positionCounter = 0; positionCounter < 29;
positionCounter++) {
// scroll one position right:
lcd.scrollDisplayRight();
32. 32
// wait a bit:
delay(150);
}
kode ini digunakan untuk membuat tulisan dapat bergerak dari kiri
ke kanan dan sebaliknya pada layar LCD
13) // scroll 16 positions (display length + string length) to the left
// to move it back to center:
for (int positionCounter = 0; positionCounter < 16;
positionCounter++) {
// scroll one position left:
lcd.scrollDisplayLeft();
// wait a bit:
delay(150);
}
// delay at the end of the full loop:
delay(1000);
kode ini untuk mengembalikan tulisan yang ditampilkan berada di
tengah, dan tulisan tersebut akan menyala berkedip-kedip.
14) leds = 0;
updateShiftRegister();
delay(500);
for (int i = 0; i < 8; i++)
{
bitSet(leds, i);
updateShiftRegister();
delay(500);
}
33. 33
}
void updateShiftRegister()
{
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, leds);
digitalWrite(latchPin, HIGH);
Kode ini digunakan untuk menjalankan shift register
15) for(pos = 0; pos < 180; pos += 1) // goes from 0 degrees to 180
degrees
{ // in steps of 1 degree
myservo.write(pos); // tell servo to go to position in
variable 'pos'
delay(15); // waits 15ms for the servo to reach the
position
}
Kode di atas merupakan fungsi for loop yang menyatakan bahwa
motor servo akan berputar dari posisi minimum 0 derajat ke posisi
maksimum 180 derajat dengan langkah/step tiap 1 derajat.
Kemudian myservo.write(pos); berarti pin mengeluarkan output
atau posisi motor sesuai dengan variable “pos”. kemudian tunda 15
ms di antar setiap perintah/kode servo.
16) for(pos = 180; pos>=1; pos-=1) // goes from 180 degrees to 0
degrees
{
myservo.write(pos); // tell servo to go to position in
variable 'pos'
delay(15); // waits 15ms for the servo to reach
theposition
}
34. 34
}
Kode diatas, adalah kode kebalikan dari kode untuk putaran servo
pertama, yaitu untuk putaran/posisi micro servo dari 180 derajat ke
posisi 0 derajat. Kode ini akan terus berulang, posisi motor dari 0
derajat ke posisi 180 derajat dengan langkah/step setiap 1 derajat,
kemudian sebaliknya dari 180 derajat ke 0 derajat.
Sebelum dihubungkan dengan rangkaian, kode program terlebih
dahulu diverifikasi untuk mengecek apabila ada kesalahan. Setelah
rangkaian selesai dirangkai dan kode program diverifikasi, antara
rangkaian dan computer dihubungkan, sehingga proyek ini akan
dihasilkan sesuai yang dibahas tadi.
35. 35
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Proyek L.Mico 8 Ledgister (LCD Micro Servo 8 LED Shift Register)
yang dapat menjalankan 4 komponen yang digunakan yaitu, LCD, LED, Shift
Register, dan Micro Servo. Sehingga akan nantinya dapat menghidupkan
LCD, menghidupkan LED dan menggerakkan motor servo. Susunan
penghidupannya adalah LCD dihidupkan terlebih dahulu dengan tulisan
bergerak ke kiri dan ke kanan yang menampilkan tulisan “Proyek kelompok 2
L.Mico 8 Ledgister”. Kemudian LCD akan mati sebentar sedangkan mikro
servo akan mulai bergerak dari sudut 00 ke 1800. Ketika sudutnya sudah
mencapai 1800, maka LED pertama akan hidup, dan ketika servo kembali ke
sudut awal 00, maka LED kedua akan hidup dan begitu juga seterusnya.
Sedangkan pada LCD akan menghasilkan tulisan sama tetai berkedip-kedip.
Setelah LED terakhir hidup, maka proyek akan mulai dijalankan dari awal.
5.2 Saran
1. Sebaiknya alat yang digunakan pada proyek ini dalam kondisi baik
agar proyek dapat dijalankan dengan baik dan sesuai dengan hasil yang
diharapkan
2. Sebaiknya pada LCD dapat menghasilkan tulisan yang beragam
seperti pada saat LCD yang menampilkan tulisan yang berkedip dapat
menampilkan nama kelompok yang muncul bergantian yang disertai
dengan penggunaan kode program yang lebih mudah dipahami.
3. Proyek yang dibuat pada laporan ini adalah penggunaan LCD, LED,
Micro Servo dan Shift register, untuk kedepannya, penggunaan
komponen lain seperti sensor suhu maupun sensor ultrasonik dapat
juga digabungkan dengan menggunakan satu program.