Anda di halaman 1dari 22

Multi 7-Segment

Display

Modul 8

1
Materi sebelumnya
Pada materi sebelumnya, kita menggunakan
sebuah 7-segment display untuk menampilkan
sebuah angka.

2
Materi sebelumnya ..(2)
• Untuk praktek berikutnya, silakan ubah rangkaian sebelumnya menjadi seperti
pada gambar di bawah.
• Sebelumnya kita menggunakan resistor untuk setiap LED 7-segment
• Untuk praktek kali ini, cukup gunakan di Pin common saja.

3
Problem
• Pada materi sebelumnya, kita menggunakan
pin 0 sampai pin 6 atau totalnya 7 pin untuk
mengaktifkan LED pada 7-segmen display.
• Berati bila menggunakan 2 display, kita
membutuhkan minimal 14 pin pada Arduino.
• Bagaimana bila 4 atau lebih banyak lagi?

4
Solusi
• Ada 2 cara yang bisa kita gunakan:
1) Paralel.
2) Menggunakan Register.

• Pada materi ini kita akan menggunakan cara


pertama

5
Latihan 1
Buatlah rangkaian sirkuit seperti gambar di
bawah.
• 1x Arduino
• 1x Breadboard
• 2x 7-segment display
(Anode)
• 2x Resistor 220 ohm

6
Latihan 1 ..(2)
• Hubungkan Pin 0 ke setiap Pin A display

7
Latihan 1 ..(3)
• Jalankan sketch berikut.
void setup()
{
pinMode(0, OUTPUT);
}

void loop()
{
digitalWrite(0, LOW);
}

8
Latihan 2
• Hubungkan Pin 1 ke setiap Pin B display
• Hubungkan Pin 2 ke setiap Pin C display

9
Latihan 2 ..(2)
• Jalankan sketch berikut.
void setup()
{
pinMode(0, OUTPUT); //A
pinMode(1, OUTPUT); //B
pinMode(2, OUTPUT); //C
}
void loop()
{
digitalWrite(0, LOW);
digitalWrite(1, LOW);
digitalWrite(2, LOW);
}
10
Hasil Latihan 2

• Pada Latihan 2, hasilnya menampilkan angka 7 dan 7.


• Tetapi bagaimana bila kita ingin menampilkan angka
yang berbeda?
• Caranya adalah dengan memanipulasi nilai common
dari 7-segment display.

11
Latihan 3
Ubah rangkaian sebelumnya menjadi:
• Hubungkan Pin 8 ke Pin common display 1.
• Hubungkan Pin 9 ke Pin common display 2.

12
Latihan 3 ..(2)
• Jalankan sketch berikut.
void setup()
{
pinMode(0, OUTPUT); //A
pinMode(1, OUTPUT); //B
pinMode(2, OUTPUT); //C
pinMode(8, OUTPUT); //D1
pinMode(9, OUTPUT); //D2

void loop()
{
//Display 1 (D1)
digitalWrite(8, HIGH);
digitalWrite(9, LOW);
digitalWrite(0, LOW);
digitalWrite(1, LOW);
digitalWrite(2, LOW);
}

13
Hasil Latihan 3

• Display 1 aktif karena diberikan nilai HIGH.


digitalWrite(8, HIGH);
• Ingat! Kita menggunakan common anode, jadi
memerlukan daya untuk menyalakan LED.

14
Latihan 4
• Ubah kode pada fungsi loop().
void loop()
{
//Display 1
digitalWrite(8, HIGH);
digitalWrite(9, LOW);
digitalWrite(0, HIGH);
digitalWrite(1, LOW);
digitalWrite(2, LOW);
delay(10);
//Display 2
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
digitalWrite(0, LOW);
digitalWrite(1, LOW);
digitalWrite(2, LOW);
delay(10);
}
15
Hasil Latihan 4

• Selain memanipulasi nilai common pada display, kita juga harus


memperhatikan delay pada sketch.
• Jika delay terlalu besar, maka display akan menyala secara bergantian.
• Jika delay terlalu kecil, kedua display akan blink atau menyalakan semua
LED yang diatur HIGH pada kedua display.

16
Tugas 3
1) Buatlah rangkaian seperti pada latihan (20 poin)

17
Tugas 3 ..(2)
2) Kemudian hubungkan:
Pin 3 ke PIN D tiap display
Pin 4 ke PIN E tiap display
Pin 5 ke PIN F tiap display
Pin 6 ke PIN G tiap display
(40 Poin)

3) Tampilkan 2 digit terakhir dari NIM Anda.


(40 pin)

18
Catatan
• Tugas dikerjakan di portal tinkercad.com
• Nama Sirkuit : UMI MC Tugas 3
• Ubah pengaturan privasi menjadi Publik
• Kemudian kirimkan URL (bukan Link-Shared)
ke muh.arfah.asis@umi.ac.id
• Subject : UMI MC TUGAS3 [KELAS] [NIM]

19
20
21
Sekian & Terima kasih

Muhammad Arfah Asis

22

Anda mungkin juga menyukai