Activity 2.3 2 Seven Segment Displays
planetorganic
Nov 26, 2025 · 10 min read
Table of Contents
Dua seven segment displays atau tampilan tujuh segmen memungkinkan kita untuk menampilkan angka 0 hingga 9, bahkan beberapa karakter alfanumerik sederhana. Penggunaan dua tampilan ini memungkinkan kita menampilkan angka dua digit, yang sangat berguna dalam berbagai aplikasi mulai dari jam digital hingga penghitung sederhana. Aktivitas 2.3 akan membimbing Anda melalui proses perancangan dan implementasi sistem yang memanfaatkan dua seven segment displays.
Pendahuluan
Seven segment display adalah komponen elektronik yang menampilkan angka desimal melalui kombinasi tujuh segmen yang dapat dinyalakan secara individual. Setiap segmen biasanya diwakili oleh LED (Light Emitting Diode) yang disusun dalam bentuk "8". Dengan mengendalikan segmen mana yang menyala, kita dapat menghasilkan angka dari 0 hingga 9.
Dalam aktivitas ini, kita akan menggunakan dua seven segment displays untuk menampilkan angka dua digit. Ini membutuhkan pemahaman tentang bagaimana mengendalikan beberapa tampilan secara efisien, biasanya menggunakan teknik yang disebut multiplexing. Multiplexing memungkinkan kita untuk mengendalikan beberapa tampilan dengan menggunakan lebih sedikit pin kontrol daripada jika setiap tampilan dikendalikan secara terpisah.
Komponen yang Dibutuhkan
Sebelum memulai, pastikan Anda memiliki komponen berikut:
- Dua seven segment displays (umumnya tipe common cathode atau common anode)
- Mikrokontroler (misalnya, Arduino Uno, ESP32, atau Raspberry Pi Pico)
- Resistor (nilai tergantung pada tipe seven segment display dan mikrokontroler yang digunakan, biasanya antara 220Ω - 470Ω)
- Kabel jumper
- Breadboard (opsional, tetapi sangat membantu)
Catatan Penting: Pastikan Anda mengetahui tipe seven segment display yang Anda gunakan (anoda umum atau katoda umum). Konfigurasi rangkaian dan kode program akan berbeda tergantung pada tipe tampilan.
Memahami Tipe Seven Segment Display: Anoda Umum vs. Katoda Umum
Sebelum melangkah lebih jauh, penting untuk memahami perbedaan antara seven segment display anoda umum dan katoda umum. Perbedaan utama terletak pada bagaimana LED di dalam display terhubung:
- Anoda Umum (Common Anode): Semua anoda LED dihubungkan bersama ke satu pin umum. Untuk menyalakan sebuah segmen, Anda perlu memberikan logika LOW (0V) ke katoda segmen tersebut. Pin anoda umum dihubungkan ke sumber tegangan positif (VCC).
- Katoda Umum (Common Cathode): Semua katoda LED dihubungkan bersama ke satu pin umum. Untuk menyalakan sebuah segmen, Anda perlu memberikan logika HIGH (VCC) ke anoda segmen tersebut. Pin katoda umum dihubungkan ke ground (0V).
Memahami perbedaan ini sangat penting karena akan mempengaruhi bagaimana Anda merancang rangkaian dan menulis kode program. Kesalahan dalam konfigurasi dapat menyebabkan display tidak berfungsi atau bahkan kerusakan pada komponen.
Langkah-Langkah Rangkaian (Contoh dengan Arduino Uno dan Katoda Umum)
Berikut adalah langkah-langkah untuk menghubungkan dua seven segment displays katoda umum ke Arduino Uno:
-
Identifikasi Pin: Identifikasi pin segmen (a, b, c, d, e, f, g) dan pin katoda umum pada kedua seven segment displays. Biasanya, datasheet komponen akan memberikan informasi ini.
-
Hubungkan Pin Segmen ke Arduino: Hubungkan setiap pin segmen (a hingga g) dari kedua display ke pin digital Arduino. Karena kita menggunakan dua display, kita akan membutuhkan minimal 7 pin untuk data segmen. Untuk efisiensi, kita bisa menggunakan 8 pin, di mana 7 pin digunakan untuk segmen a-g dan 1 pin untuk titik desimal (jika ada). Misalnya:
- Segmen a display 1 -> Pin Arduino 2
- Segmen b display 1 -> Pin Arduino 3
- Segmen c display 1 -> Pin Arduino 4
- Segmen d display 1 -> Pin Arduino 5
- Segmen e display 1 -> Pin Arduino 6
- Segmen f display 1 -> Pin Arduino 7
- Segmen g display 1 -> Pin Arduino 8
- Segmen a display 2 -> Pin Arduino 9
- Segmen b display 2 -> Pin Arduino 10
- Segmen c display 2 -> Pin Arduino 11
- Segmen d display 2 -> Pin Arduino 12
- Segmen e display 2 -> Pin Arduino 13
- Segmen f display 2 -> Pin Arduino A0
- Segmen g display 2 -> Pin Arduino A1
Penting: Gunakan resistor antara setiap pin segmen dan pin Arduino untuk membatasi arus dan melindungi LED.
-
Hubungkan Pin Katoda Umum ke Ground: Hubungkan pin katoda umum dari kedua display ke ground (GND) Arduino.
-
Gunakan Pin Digital Tambahan untuk Kontrol Digit: Karena kita akan menggunakan teknik multiplexing, kita memerlukan dua pin digital tambahan untuk mengendalikan display mana yang aktif pada suatu waktu. Hubungkan:
- Pin katoda umum display 1 melalui transistor NPN (basis ke pin Arduino, kolektor ke katoda umum display, emitor ke ground) -> Pin Arduino A2
- Pin katoda umum display 2 melalui transistor NPN (basis ke pin Arduino, kolektor ke katoda umum display, emitor ke ground) -> Pin Arduino A3
Catatan: Transistor NPN digunakan sebagai switch untuk menghidupkan dan mematikan display. Resistor basis (misalnya 1kΩ) diperlukan antara pin Arduino dan basis transistor untuk membatasi arus.
Kode Program (Contoh dengan Arduino Uno dan Katoda Umum)
Berikut adalah contoh kode Arduino untuk menampilkan angka dari 00 hingga 99 pada dua seven segment displays:
// Definisi pin untuk segmen
const int segmentA_1 = 2;
const int segmentB_1 = 3;
const int segmentC_1 = 4;
const int segmentD_1 = 5;
const int segmentE_1 = 6;
const int segmentF_1 = 7;
const int segmentG_1 = 8;
const int segmentA_2 = 9;
const int segmentB_2 = 10;
const int segmentC_2 = 11;
const int segmentD_2 = 12;
const int segmentE_2 = 13;
const int segmentF_2 = A0;
const int segmentG_2 = A1;
// Definisi pin untuk kontrol digit
const int digit1Pin = A2; // Kontrol display 1
const int digit2Pin = A3; // Kontrol display 2
// Array untuk kode segmen (katoda umum)
const byte digits[10] = {
B0111111, // 0
B0000110, // 1
B1011011, // 2
B1001111, // 3
B1100110, // 4
B1101101, // 5
B1111101, // 6
B0000111, // 7
B1111111, // 8
B1101111 // 9
};
void setup() {
// Set pin sebagai output
pinMode(segmentA_1, OUTPUT);
pinMode(segmentB_1, OUTPUT);
pinMode(segmentC_1, OUTPUT);
pinMode(segmentD_1, OUTPUT);
pinMode(segmentE_1, OUTPUT);
pinMode(segmentF_1, OUTPUT);
pinMode(segmentG_1, OUTPUT);
pinMode(segmentA_2, OUTPUT);
pinMode(segmentB_2, OUTPUT);
pinMode(segmentC_2, OUTPUT);
pinMode(segmentD_2, OUTPUT);
pinMode(segmentE_2, OUTPUT);
pinMode(segmentF_2, OUTPUT);
pinMode(segmentG_2, OUTPUT);
pinMode(digit1Pin, OUTPUT);
pinMode(digit2Pin, OUTPUT);
}
void loop() {
for (int number = 0; number < 100; number++) {
displayNumber(number);
delay(50); // Kecepatan tampilan
}
}
void displayNumber(int number) {
int digit1 = number / 10; // Digit puluhan
int digit2 = number % 10; // Digit satuan
displayDigit(digit1, digit1Pin, segmentA_1, segmentB_1, segmentC_1, segmentD_1, segmentE_1, segmentF_1, segmentG_1);
delay(2);
displayDigit(digit2, digit2Pin, segmentA_2, segmentB_2, segmentC_2, segmentD_2, segmentE_2, segmentF_2, segmentG_2);
delay(2);
}
void displayDigit(int digit, int digitPin, int segA, int segB, int segC, int segD, int segE, int segF, int segG) {
// Matikan semua segmen
digitalWrite(segA, LOW);
digitalWrite(segB, LOW);
digitalWrite(segC, LOW);
digitalWrite(segD, LOW);
digitalWrite(segE, LOW);
digitalWrite(segF, LOW);
digitalWrite(segG, LOW);
// Pilih digit (aktifkan transistor)
digitalWrite(digitPin, HIGH);
// Tampilkan digit
byte segmentCode = digits[digit];
digitalWrite(segA, bitRead(segmentCode, 7) == 0 ? HIGH : LOW);
digitalWrite(segB, bitRead(segmentCode, 6) == 0 ? HIGH : LOW);
digitalWrite(segC, bitRead(segmentCode, 5) == 0 ? HIGH : LOW);
digitalWrite(segD, bitRead(segmentCode, 4) == 0 ? HIGH : LOW);
digitalWrite(segE, bitRead(segmentCode, 3) == 0 ? HIGH : LOW);
digitalWrite(segF, bitRead(segmentCode, 2) == 0 ? HIGH : LOW);
digitalWrite(segG, bitRead(segmentCode, 1) == 0 ? HIGH : LOW);
// Matikan digit (nonaktifkan transistor)
digitalWrite(digitPin, LOW);
}
Penjelasan Kode:
-
Definisi Pin: Mendefinisikan pin Arduino yang terhubung ke setiap segmen dan pin kontrol digit.
-
Array
digits: Berisi kode biner untuk setiap angka (0-9) yang sesuai dengan konfigurasi segmen seven segment display katoda umum. Setiap bit dalam byte merepresentasikan status segmen (1 = mati, 0 = hidup). -
setup(): Menginisialisasi pin sebagai output. -
loop(): Mengulang angka dari 0 hingga 99, memanggil fungsidisplayNumber()untuk menampilkan setiap angka. -
displayNumber(): Memisahkan angka menjadi digit puluhan dan satuan, kemudian memanggil fungsidisplayDigit()untuk menampilkan setiap digit pada seven segment display yang sesuai. -
displayDigit(): Fungsi inti yang mengendalikan multiplexing dan menampilkan digit pada seven segment display. Fungsi ini menerima digit yang akan ditampilkan, pin kontrol digit, dan pin segmen sebagai parameter.- Mematikan semua segmen pada display.
- Mengaktifkan display yang sesuai dengan mengatur pin kontrol digit ke HIGH (mengaktifkan transistor).
- Mengatur setiap pin segmen sesuai dengan kode segmen yang sesuai untuk digit yang ingin ditampilkan.
- Mematikan display dengan mengatur pin kontrol digit ke LOW (menonaktifkan transistor).
-
Multiplexing: Kode ini menggunakan multiplexing dengan sangat cepat menghidupkan dan mematikan setiap display. Karena kecepatan switching yang tinggi, mata manusia melihat angka yang ditampilkan seolah-olah menyala secara bersamaan.
Penting:
- Pastikan untuk mengubah definisi pin sesuai dengan koneksi rangkaian Anda.
- Jika Anda menggunakan seven segment display anoda umum, Anda perlu membalik logika dalam array
digits(1 = hidup, 0 = mati) dan mengubah logika HIGH/LOW dalam fungsidisplayDigit(). - Nilai
delay()dalam fungsiloop()dandisplayNumber()dapat disesuaikan untuk mengontrol kecepatan tampilan.
Penjelasan Ilmiah tentang Multiplexing
Multiplexing adalah teknik yang digunakan untuk mengendalikan beberapa perangkat dengan menggunakan lebih sedikit pin kontrol daripada yang dibutuhkan jika setiap perangkat dikendalikan secara terpisah. Dalam konteks seven segment displays, multiplexing memanfaatkan sifat persistence of vision (ketekunan penglihatan) pada mata manusia.
- Persistence of Vision: Mata manusia mempertahankan gambar selama sekitar 1/25 hingga 1/15 detik setelah gambar tersebut menghilang. Ini berarti jika kita menampilkan gambar (dalam hal ini, angka pada seven segment display) dengan kecepatan yang cukup tinggi, mata kita akan melihat gambar tersebut seolah-olah menyala secara terus menerus.
- Bagaimana Multiplexing Bekerja: Dalam multiplexing, kita menghidupkan satu seven segment display pada satu waktu, menampilkan digit yang sesuai, kemudian mematikannya dan menghidupkan display berikutnya. Proses ini diulang dengan sangat cepat sehingga mata kita melihat semua display menyala secara bersamaan.
- Keuntungan Multiplexing: Mengurangi jumlah pin mikrokontroler yang dibutuhkan, menyederhanakan rangkaian, dan mengurangi biaya.
- Kekurangan Multiplexing: Membutuhkan kode program yang lebih kompleks dan dapat menyebabkan tampilan menjadi redup jika kecepatan switching tidak optimal.
Tips dan Trik
- Pilih Resistor yang Tepat: Nilai resistor yang digunakan untuk membatasi arus ke LED pada seven segment display sangat penting. Terlalu kecil, dan LED bisa terbakar. Terlalu besar, dan tampilan akan redup. Gunakan hukum Ohm (V = IR) untuk menghitung nilai resistor yang tepat berdasarkan tegangan sumber, tegangan maju LED, dan arus maju LED (biasanya tercantum dalam datasheet).
- Gunakan Library: Beberapa library Arduino (misalnya,
SevSeg.h) dapat menyederhanakan proses mengendalikan seven segment displays, terutama jika Anda menggunakan multiplexing. - Optimalkan Kecepatan Multiplexing: Eksperimen dengan nilai
delay()dalam kode Anda untuk menemukan kecepatan multiplexing yang optimal. Terlalu lambat, dan Anda akan melihat flickering (kedipan). Terlalu cepat, dan tampilan mungkin menjadi redup. - Debugging: Jika tampilan tidak berfungsi dengan benar, periksa koneksi rangkaian Anda dengan hati-hati. Pastikan semua pin terhubung dengan benar dan resistor terpasang. Gunakan multimeter untuk memeriksa tegangan dan kontinuitas.
- Dokumentasi: Selalu baca datasheet komponen Anda. Datasheet akan memberikan informasi penting tentang pinout, karakteristik listrik, dan rekomendasi penggunaan.
Aplikasi Lanjutan
Setelah Anda berhasil menampilkan angka pada dua seven segment displays, Anda dapat mengembangkan aplikasi yang lebih kompleks:
- Jam Digital: Gunakan dua seven segment displays untuk menampilkan jam dan menit. Anda akan memerlukan timer atau RTC (Real Time Clock) untuk melacak waktu.
- Penghitung: Buat penghitung yang dapat menghitung naik atau turun. Anda dapat menggunakan tombol atau sensor untuk memicu penghitungan.
- Voltmeter/Amperemeter: Gunakan ADC (Analog to Digital Converter) pada mikrokontroler Anda untuk mengukur tegangan atau arus, dan kemudian tampilkan nilai tersebut pada seven segment displays.
- Termometer: Gunakan sensor suhu (misalnya, LM35 atau DHT11) untuk mengukur suhu, dan kemudian tampilkan suhu pada seven segment displays.
FAQ
Q: Mengapa tampilan saya redup?
A: Beberapa kemungkinan penyebab:
- Nilai resistor terlalu tinggi.
- Tegangan sumber terlalu rendah.
- Kecepatan multiplexing terlalu tinggi.
- Kode program tidak efisien.
Q: Mengapa beberapa segmen tidak menyala?
A: Beberapa kemungkinan penyebab:
- Koneksi rangkaian yang buruk.
- Resistor yang rusak.
- LED yang rusak.
- Kesalahan dalam kode program.
Q: Bagaimana cara menggunakan seven segment display anoda umum?
A: Anda perlu membalik logika dalam kode program (HIGH menjadi LOW dan sebaliknya) dan memastikan pin anoda umum terhubung ke VCC.
Q: Bisakah saya menggunakan lebih dari dua seven segment displays?
A: Ya, Anda dapat menggunakan lebih banyak seven segment displays dengan menggunakan teknik multiplexing. Namun, Anda akan memerlukan lebih banyak pin kontrol dan kode program yang lebih kompleks.
Q: Apa itu BCD to Seven Segment Decoder?
A: BCD to Seven Segment Decoder adalah IC (Integrated Circuit) yang menerima input dalam format BCD (Binary Coded Decimal) dan menghasilkan output yang sesuai untuk mengendalikan seven segment display. Menggunakan decoder dapat menyederhanakan rangkaian dan kode program. Contoh IC decoder yang umum adalah 7447 dan 7448.
Kesimpulan
Aktivitas 2.3 dengan dua seven segment displays adalah proyek elektronik yang menyenangkan dan mendidik yang memperkenalkan konsep penting seperti multiplexing, kontrol digital, dan representasi angka. Dengan memahami dasar-dasar ini, Anda dapat membangun berbagai aplikasi menarik dan mengembangkan keterampilan Anda dalam bidang elektronika dan pemrograman mikrokontroler. Ingatlah untuk selalu berhati-hati saat bekerja dengan elektronik, dan selamat bereksperimen!
Latest Posts
Latest Posts
-
Ati Skills Module 3 0 Blood Administration
Nov 26, 2025
-
Diels Alder Reaction Of Anthracene And Maleic Anhydride
Nov 26, 2025
-
Unit 3 Parallel And Perpendicular Lines Homework 3
Nov 26, 2025
-
Activity 2 3 2 Seven Segment Displays
Nov 26, 2025
-
Which Of The Following Is The Earth Not Located In
Nov 26, 2025
Related Post
Thank you for visiting our website which covers about Activity 2.3 2 Seven Segment Displays . We hope the information provided has been useful to you. Feel free to contact us if you have any questions or need further assistance. See you next time and don't miss to bookmark.