Arduino - 7 Segment dengan IC 74HC595

 

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

Selanjutnya
« Post Selanjutnya
Sebelumnya
Post Sebelumnya »

EmoticonEmoticon

Note: Only a member of this blog may post a comment.