Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
MIKROPROSESOR
“DISPLAY 7 SEGMEN ARDUINO”
LABORATORIUM MIKROKONTROLER
PROGRAM STUDI TEKNIK ELEKTROMEDIK
PROGRAM VOKASI
UNIVERSITAS MUHAMMADIYAH YOGYAKARTA
2019
PRAKTIKUM 4
DISPLAY 7 SEGMEN ARDUINO
I. Dasar Teori
1.1 Pengertian Arduino
Arduino adalah pengendali mikro single-board yang bersifat opensource, diturunkan dari
Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai
bidang. Hardware arduino memiliki prosesor Atmel AVR dan software arduino memiliki
bahasa pemrograman C. Memori yang dimiliki oleh Arduino Uno sebagai berikut : Flash
Memory sebesar 32KB, SRAM sebesar 2KB, dan EEPROM sebesar 1KB. Clock pada board
Uno menggunakan XTAL dengan frekuensi 16 Mhz. Dari segi daya, Arduino Uno
membutuhkan tegangan aktif kisaran 5 volt, sehingga Uno dapat diaktifkan melalui koneksi
USB. Arduino Uno memiliki 28 kaki yang sering digunakan. Untuk Digital I/O terdiri dari 14
kaki, kaki 0 sampai kaki 13, dengan 6 kaki mampu memberikan output PWM (kaki
3,5,6,9,10,dan 11). Masing-masing dari 14 kaki digital di Uno beroperasi dengan tegangan
maksimum 5 volt dan dapat memberikan atau menerima maksimum 40mA. Untuk Analog
Input terdiri dari 6 kaki, yaitu kaki A0 sampai kaki A5.
Mikrokontroler ada pada perangkat elektronik di sekeliling kita. Misalnya handphone,
MP3 player, DVD, televisi, AC, dll. Mikrokontroler juga dipakai untuk keperluan
mengendalikan robot. Baik robot mainan, maupun robot industri.Karena komponen utama
Arduino adalah mikrokontroler, maka Arduino pun dapat diprogram menggunakan komputer
sesuai kebutuhan kita. Bahasa pemrograman Arduino adalah bahasa C. Tetapi bahasa ini
sudah dipermudah menggunakan fungsi-fungsi yang sederhana sehingga pemula pun bisa
mempelajarinya dengan cukup mudah.
Pada arduino nano terdapat beberapa pin yang dapat digunakan untuk memasukan
input atau luaran output secara digital (menerima tegangan masukan 5 volt atau 0 volt,
menghasilkan luaran 5 volt atau 0 volt). Sebenarnya hampir semua pin di Arduino Nano
dapat digunakan untuk digital input/output, tapi umumnya yang digunakan adalah pin D2-
D12. Lalu apakah pin A0-A7 dan pin D0-D1 tidak bisa digunakan sebagai digital input
output? Jawabanya adalah bisa saja tetapi dengan syarat tertentu.
Aplikasi digital input biasa digunakan untuk membuat push button, sedangkan
aplikasi digital input digunakan untuk menyalakan/menonaktifkan sebuah driver.
2
Seven segment adalah suatu segmen-segmen yang digunakan untuk menampilkan
angka / bilangan decimal. Seven segment ini terdiri dari 7 batang LED yang disusun
membentuk angka 8 dengan menggunakan huruf a-f yang disebut DOT MATRIKS.
Setiap segment ini terdiri dari 1 atau 2 LED (Light Emitting Dioda).
Piranti tampilan modern disusun sebagai pola 7 segmen atau dot matriks. Jenis 7
segmen sebagaimana namanya, menggunakan pola tujuh batang led yang disusun
membentuk angka 8 seperti yang ditunjukkan pada gambar di atas. Huruf-huruf yang
diperlihatkan dalam gambar tersebut ditetapkan untuk menandai segmen-segmen
tersebut. Dengan menyalakan beberapa segmen yang sesuai, akan dapat diperagakan
digit-digit dari 0 sampai 9, dan juga bentuk huruf A sampai F (dimodifikasi).
Sinyal input dari switches tidak dapat langsung dikirimkan ke peraga 7 segmen,
sehingga harus menggunakan decoder BCD (Binary Code Decimal) ke 7 segmen sebagai
antar muka. Decoder ini terdiri dari gerbang-gerbang logika yang masukannya berupa
digit BCD dan keluarannya berupa saluran-saluran untuk mengemudikan tampilan 7
segmen.
Terdapat 2 Jenis LED 7 Segmen, diantaranya adalah “LED 7 Segmen common Cathode”
dan “LED 7 Segmen common Anode”.
3
1. LED 7 Segmen Tipe Common Cathode (Katoda)
Pada LED 7 Segmen jenis Common Cathode (Katoda), Kaki Katoda pada semua segmen
LED adalah terhubung menjadi 1 Pin, sedangkan Kaki Anoda akan menjadi Input untuk
masing-masing Segmen LED. Kaki Katoda yang terhubung menjadi 1 Pin ini
merupakan Terminal Negatif (-) atau Ground sedangkan Signal Kendali (Control Signal)
akan diberikan kepada masing-masing Kaki Anoda Segmen LED.
Pada LED 7 Segmen jenis Common Anode (Anoda), Kaki Anoda pada semua segmen
LED adalah terhubung menjadi 1 Pin, sedangkan kaki Katoda akan menjadi Input untuk
masing-masing Segmen LED. Kaki Anoda yang terhubung menjadi 1 Pin ini akan
diberikan Tegangan Positif (+) dan Signal Kendali (control signal) akan diberikan kepada
masing-masing Kaki Katoda Segmen LED.
Berikut ini adalah Blok Diagram Dasar untuk mengendalikan LED 7 Segmen :
4
Blok Dekoder pada diagram diatas mengubah sinyal Input yang diberikan menjadi 8 jalur
yaitu “a” sampai “g” dan poin decimal (koma) untuk meng-ON-kan segmen sehingga
menghasilkan angka atau digit yang diinginkan. Contohnya, jika output dekoder adalah a, b,
dan c, maka Segmen LED akan menyala menjadi angka “7”. Jika Sinyal Input adalah
berbentuk Analog, maka diperlukan ADC (Analog to Digital Converter) untuk mengubah
sinyal analog menjadi Digital sebelum masuk ke Input Dekoder. Jika Sinyal Input sudah
merupakan Sinyal Digital, maka Dekoder akan menanganinya sendiri tanpa harus
menggunakan ADC.
Blok Dekoder pada diagram diatas mengubah sinyal Input yang diberikan menjadi 8 jalur
yaitu “a” sampai “g” dan poin decimal (koma) untuk meng-ON-kan segmen sehingga
menghasilkan angka atau digit yang diinginkan. Contohnya, jika output dekoder adalah a, b,
dan c, maka Segmen LED akan menyala menjadi angka “7”. Jika Sinyal Input adalah
berbentuk Analog, maka diperlukan ADC (Analog to Digital Converter) untuk mengubah
sinyal analog menjadi Digital sebelum masuk ke Input Dekoder. Jika Sinyal Input sudah
merupakan Sinyal Digital, maka Dekoder akan menanganinya sendiri tanpa harus
menggunakan ADC.
6
7
Percobaan 2
Langkah percobaan:
8
9
10
V. Hasil Praktikum
A. Percobaan 1
B. Percobaan 2
11
Gambar 2 simulasi dengan tinkercad
VI. Analisis
A. Percobaan 1
1. Code program dan penjelasan per baris program:
byte angka = 0;
switch(angka)
case 0:
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,HIGH);
break;
12
case 1:
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
break;
case 2:
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
break;
case 3:
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
13
digitalWrite(8,LOW);
break;
case 4:
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
break;
case 5:
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
break;
case 6:
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
14
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
break;
case 7:
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
break;
case 8:
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
break;
case 9:
digitalWrite(2,LOW);
digitalWrite(3,LOW);
15
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
break;
void setup()
pinMode(i, OUTPUT);
void loop()
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(9, LOW);
tampil_angka(1);
delay(10);
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(9, HIGH);
tampil_angka(2);
delay(10);
digitalWrite(10, LOW);
16
digitalWrite(11, LOW);
digitalWrite(9, LOW);
delay(10);
#include <TM1637Display.h>
#define CLK 3
#define DIO 2
void setup()
display.setBrightness ( 0x0f );
void loop()
if (currentMillis-previousMillis >=interval)
previousMillis=currentMillis;
display.showNumberDec (angka);
17
delay (500);
2. Flowchart:
3. Penjelasan cara kerja program yang dibandingkan dengan hasil praktikum:
B. Percobaan 2
1. Code program dan penjelasan per baris program:
#include <TM1637Display.h>
#define CLK 3
#define DIO 2
Unsigned int angka = 0;
TM1637Display display ( CLK, DIO);
void setup ()
Display.setBrightness (0x0f);
void loop ()
For ( angka = 0; angka < 9999; angka ++)
display.showNumberDec (angka);
delay ( 100 );
}
{
2. Flowchart:
3. Penjelasan cara kerja program yang dibandingkan dengan hasil praktikum:
18
VII. Kesimpulan
VIII. Lampiran
TUGAS!
19
1. Buatlah Counter Down dengan jeda 500 ms menggunakan fungsi millis() yang
ditampilkan pada seven segmen pada percobaan pertama, dimana timer
counter down dimulai dari nilai 99 dan berakhir di nilai 00!
2. Buat timer 1 menit dengan menggunakan seven segmen pada percobaan
kedua,dimana ketika timer counter down dan ketika nilai timer = 00, maka
timer berhenti counter.
Jawab:
1.
20