Anda di halaman 1dari 21

LAPORAN PRAKTIKUM 4

MIKROPROSESOR
“DISPLAY 7 SEGMEN ARDUINO”

Nama : Ike Merlina


NIM : 20173010037
Kelas : TEM B
Dosen Pengampu : Wisnu Kartika, S.T., M.Eng.

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.

1.2 Pengertian Arduino Nano


Arduino Nano adalah salah satu papan pengembangan mikrokontroler yang berukuran
kecil, lengkap dan mendukung penggunaan breadboard. Arduino Nano diciptakan dengan
basis mikrokontroler ATmega328 (untuk Arduino Nano versi 3.x) atau ATmega 168 (untuk
Arduino versi 2.x). Arduino Nano kurang lebih memiliki fungsi yang sama dengan Arduino
Duemilanove, tetapi dalam paket yang berbeda. Arduino Nano tidak menyertakan colokan DC
berjenis Barrel Jack, dan dihubungkan ke komputer menggunakan port USB Mini-B. Arduino
Nano dirancang dan diproduksi oleh perusahaan Gravitech.
1
Gambar 1 : Arduino Nano

Gambar 2 : Pinout Arduino Nano

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.

I.3 Seven Segmen

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).

Seven segment dapat menampilkan angka-angka desimal dan beberapa karakter


tertentu melalui kombinasi aktif atau tidaknya LED penyususnan dalam seven segment.
Untuk mempermudah pengguna seven segment, umumnya digunakan sebuah decoder
atau sebuah seven segment driver yang akan mengatur aktif atau tidaknya led-led dalam
seven segment sesuai dengan inputan biner yang diberikan.

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.

2. LED 7 Segmen Tipe Common Anode (Anoda)

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.

Prinsip Kerja Dasar Driver System pada LED 7 Segmen

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.

II. Tujuan Praktikum


Mahasiswa mampu memahami cara mengkoneksikan display 7 Segmen Common Anoda dan
TM1637 Seven Segmen pada Arduino
5
III. Alat dan Bahan
A. Alat
1. Notebook/Laptop/Personal Computer
2. Web Browser
B. Bahan
1. Modul Praktikum
2. Arduino Nano ( 1 buah )
3. Kabel jumper ( 4 buah )
4. Seven Segmen TM1637
IV. Langkah Percobaan
Percobaan 1
Langkah percobaan:
1. Buka https://www.tinkercard.com, login menggunakan akun yang sudah dibuat.
2. Masuk Circuits
3. Create new circuit
Menampilkan angka di seven segmen
Skematik

6
7
Percobaan 2
Langkah percobaan:

8
9
10
V. Hasil Praktikum
A. Percobaan 1

Gambar 1 simulasi dengan tinkercad

Penjelasan gambar 1....

B. Percobaan 2
11
Gambar 2 simulasi dengan tinkercad

Penjelasan gambar 2....

VI. Analisis
A. Percobaan 1
1. Code program dan penjelasan per baris program:

byte angka = 0;

void tampil_angka(int angka)

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()

for (int i = 2; i <= 11; i++)

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

unsigned long previousMillis= 500;

const long interval=99;

unsigned int angka=99;

TM1637Display display(CLK, DIO);

void setup()

display.setBrightness ( 0x0f );

void loop()

unsigned long currentMillis=millis();

if (currentMillis-previousMillis >=interval)

previousMillis=currentMillis;

for(angka = 99; angka > 00; angka --)

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

Anda mungkin juga menyukai