Berikut adalah contoh program untuk mengontrol 7-segment display dengan menggunakan Arduino dan 74HC595 shift register:



// Define pin connections
#define latchPin 8
#define clockPin 12
#define dataPin 11

// Define the numbers to be displayed on the 7-segment display
byte numbers[10] = { 0b00111111, 0b00000110, 0b01011011, 0b01001111, 0b01100110, 0b01101101, 0b01111101, 0b00000111, 0b01111111, 0b01101111 };

void setup() {
  // Initialize the shift register pins
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
}

void loop() {
  // Loop through the numbers array and display each number for 1 second
  for (int i = 0; i < 10; i++) {
    // Write the number to the shift register
    shiftOut(dataPin, clockPin, MSBFIRST, numbers[i]);
    digitalWrite(latchPin, HIGH);
    digitalWrite(latchPin, LOW);
    // Wait for 1 second
    delay(1000);
  }
}



Penjelasan:

  • Pertama, kita mendefinisikan pin yang akan digunakan untuk koneksi ke shift register, yaitu latchPin (untuk mengaktifkan output), clockPin (untuk mengirim data bit ke shift register), dan dataPin (untuk mengirim data).
  • Selanjutnya, kita mendefinisikan array numbers yang berisi representasi bit dari angka 0 hingga 9 pada 7-segment display.
  • Pada fungsi setup, kita mengatur semua pin yang akan digunakan sebagai output.
  • Pada fungsi loop, kita melakukan perulangan untuk menampilkan semua angka dari array numbers. Untuk setiap angka, kita mengirim data bitnya ke shift register menggunakan fungsi shiftOut. Kemudian, kita mengaktifkan output pada shift register dengan menyetel latchPin menjadi HIGH, dan kemudian kembali ke LOW. Setelah itu, kita tunggu selama 1 detik sebelum menampilkan angka selanjutnya.

Pastikan Anda sudah menghubungkan 7-segment display Anda dengan benar ke shift register dan Arduino Anda sebelum menjalankan program ini.

 Copyright stekom.ac.id 2018 All Right Reserved