7 Segment Display digunakan untuk menampilkan angka (0-9). Untuk menghemat pin digital Arduino, kita bisa menggunakan IC shift register 74HC595.
Keunggulan:
- Hanya butuh 3 pin Arduino
- Bisa dikembangkan untuk banyak digit
- Kontrol efisien melalui shifting data
Alat dan Bahan
- Arduino Uno (atau kompatibel)
- IC 74HC595
- 7 Segment Display (common cathode)
- Resistor 1K Ohm (7 buah)
- Breadboard dan kabel jumper
Wiring Rangkaian
74HC595 Pinout
IC 74HC595:
- DS → Pin 13 Arduino
- RCLK → Pin 12 Arduino
- SRCLK → Pin 11 Arduino
- OE → GND
- SRCLR → 5V
- Q0-Q6 → ke segmen a-g 7 Segment (melalui resistor)
7 Segment:
- Hubungkan pin a-g ke Q0-Q6
- Pin GND (common cathode) ke GND
Kode Arduino
const int latchPin = 12; // Pin connected to Pin 12 of 74HC595 RCLK (Latch)
const int dataPin = 13; // Pin connected to Pin 14 of 74HC595 DS (Data)
const int clockPin = 11; // Pin connected to Pin 11 of 74HC595 SRCLK (Clock)
// 0,1,2,3,4,5,6,7,8,9
int dec[10] = {63, 6, 91, 79, 102, 109, 125, 7, 127, 111}; //common cathode
int count;
int display_number;
void setup() {
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
void loop() {
for (count = 0; count < 10; count++) {
display_number = dec[count];
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, display_number);
digitalWrite(latchPin, HIGH);
delay(1000);
}
}
Penjelasan Kode
- Array dec[] menyimpan tiap angka 0-9
- shiftOut() mengirim data ke 74HC595
- Loop akan menampilkan angka 0-9 bergantian setiap 1 detik
Wokwi link
Selamat mencoba...!
EmoticonEmoticon
Note: Only a member of this blog may post a comment.