Buka Senin - Jumat jam 08.30 s/d jam 16.30 , Sabtu Jam 8.30 s/d jam 13.00 , Minggu tutup
  • Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
  • Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
Beranda » Blog » Menangani 7 Segment 2 Digit pada Arduino

Menangani 7 Segment 2 Digit pada Arduino

Diposting pada 2 October 2022 oleh farhan / Dilihat: 255 kali / Kategori:

 

Pada kesempatan kali ini kita akan belajar bersama mengenai 7 segment. Berbeda dengan tutorial sebelumnya yang membahas 1 digit saja LIHAT DISINI, namun sekarang yang akan kita bahas yaitu 2 digit. Perbedaanya apa? perbedaanya dikarenakan terdapat 2 digit angka sehingga terdapat juga 2 buah common untuk masing-masing digitnya. Sedangkan untuk pin-pin lainya tentu diparalelkan saja, misal digit 1 a dengan digit 2 a dan seterusnya. Lebih jelasnya bisa dilihat pada gambar di bawah ini.

Cukup jelas ya dengan gambar di atas, oke langsung kita coba untuk menghubungkan ke Arduino. Bahan-bahan yang di butuhkan berikut ini :

  1. Arduino Uno R3, BELI
  2. 7 Segment 2 digit common Anoda , BELI
  3. Kabel jumper male to male, BELI
  4. Resistor 1k, BELI
  5. Projectboard, BELI

Rangkaian

Keterangan :

  • Pin a = Pin 6 Arduino
  • Pin b = Pin 7 Arduino
  • Pin c = Pin 8 Arduino
  • Pin d = Pin 9 Arduino
  • Pin e = Pin 10 Arduino
  • Pin f = Pin 11 Arduino
  • Pin g = Pin 12 Arduino
  • Pin dig1 = resistor + Pin 2 Arduino
  • Pin dig2 = resistor + Pin 3 Arduino

Menggunakan jenis 7 segment Anode.

Sketch Program

#define A 6
#define B 7
#define C 8
#define D 9
#define E 10
#define F_SEG 11
#define G 12
#define DP 13

// Pins driving common anodes
#define CA1 2
#define CA2 3

// Pins for A B C D E F G, in sequence
const int segs[8] = { A, B, C, D, E, F_SEG, G, DP};

// Segments that make each number
const byte numbers[10] = { 0b1000000, 0b1111001, 0b0100100, 0b0110000, 0b0011001, 0b0010010,
                           0b0000010, 0b1111000, 0b0000000, 0b0010000
                         };

void setup() {
  pinMode(A, OUTPUT);
  pinMode(B, OUTPUT);
  pinMode(C, OUTPUT);
  pinMode(D, OUTPUT);
  pinMode(E, OUTPUT);
  pinMode(F_SEG, OUTPUT);
  pinMode(G, OUTPUT);
  pinMode(DP, OUTPUT);
  pinMode(CA1, OUTPUT);
  pinMode(CA2, OUTPUT);
}

void loop() {
  for (int digit1 = 0; digit1 < 10; digit1++) {
    for (int digit2 = 0; digit2 < 10; digit2++) {
      unsigned long startTime = millis();
      for (unsigned long elapsed = 0; elapsed < 600; elapsed = millis() - startTime) {
        lightDigit1(numbers[digit1]);
        delay(5);
        lightDigit2(numbers[digit2]);
        delay(5);
      }
    }
  }
}

void lightDigit1(byte number) {
  digitalWrite(CA1, LOW);
  digitalWrite(CA2, HIGH);
  lightSegments(number);
}

void lightDigit2(byte number) {
  digitalWrite(CA1, HIGH);
  digitalWrite(CA2, LOW);
  lightSegments(number);
}

void lightSegments(byte number) {
  for (int i = 0; i < 8; i++) {
    int bit = bitRead(number, i);
    digitalWrite(segs[i], bit);
  }
}

Upload sketch program di atas pada software Arduino IDE, jangan lupa untuk mengecek board dan Portnya di menu Tools. Jika sudah diupload maka hasilnya seperti dibawah ini, kebetulan saya memakai Arudino Mega.

Semoga berhasil, terima kasih sudah berkunjung, sampai jumpa lagi di tutorial berikutnya.

Bagikan ke

Menangani 7 Segment 2 Digit pada Arduino

Saat ini belum tersedia komentar.

Silahkan tulis komentar Anda

Menangani 7 Segment 2 Digit pada Arduino

Produk yang sangat tepat, pilihan bagus..!

Berhasil ditambahkan ke keranjang belanja
Lanjut Belanja
Checkout
Produk Quick Order

Pemesanan dapat langsung menghubungi kontak dibawah: