Lompat ke konten Lompat ke sidebar Lompat ke footer

Arduino part 9. Mengendalikan 7-Segment

Pada project kali ini kita akan mencoba menghidupkan 7-segment menggunakan Arduino Uno. Bagi pembaca yang belum memahami tentang 7-segment dan prinsip dasar menyalakan 7-segment maka bisa klik di sini. Untuk menyalakan 7-segment kita bisa menghubungkan langsung 7-segment ke pin I/O arduino uno melalui resistor 330 ohm. Jadi semua pin a,b,c,d,e,f,g dan dp (titik) dihubungkan dengan pin arduino.

7 segment arduino

Pemasangan resistor digunakan untuk melindungi LED supaya umur LED bisa tahan lama dan tidak lekas rusak/putus, hal ini dikarenakan tegangan ouput Arduino sekitar 5 volt (saat kondisi high atau “1”). Kalau tegangan 5 volt terhubung langsung ke LED memang akan bisa mebuat LED menyala terang tetapi tegangan tersebut berlebih dari tegangan kerja pada LED. Tegangan kerja LED umumnya sekitar 3 Volt (bisa berbeda sesuai jenis LEDnya), jadi kalau LED diberi tegangan kerja LED menyebabkan umur LED akan lebih pendek sehingga bisa menyebabkan LED akan cepat putus.

Untuk project menyalakan display 7-segment ini kita membutuhkan alat dan bahan antara lain:

  1. Laptop/Komputer
  2. Arduino Uno
  3. 7 segment
  4. Resistor 330 ohm (8 buah)
  5. Kabel USB
  6. Kabel Jumper male to male
  7. Kabel tunggal diameter 1 mm
  8. Project Board
  9. Tang kupas
  10. Tang potong

Setelah alat dan bahan sudah lengkap maka tentukan dulu jenis 7 segmentnya, apakah 7-segment tersebut termasuk common anode atau common cathode.  Cara menentukan jenis common pada 7-segment bisa menggunakan multitester analog. Jika anda belum memahaminya bisa klik di sini.

Kalau anda sudah memahaminya maka sekarang rakitlah komponen tersebut ke dalam project board, seperti terlihat pada gambar di bawah ini:

 

7 segment arduino

Khusus untuk pin com pada 7-segment merupakan jenis common anode maka pin com-nya dihubungkan ke +5 volt, akan tetapi jika pin com pada 7-segment merupakan jenis common cathode maka pin com-nya dihubungkan ke Ground (GND).

Lalu hubungkan kabel jumper male to male dari project board ke Arduino Uno. Anda ikuti sesuai gambar sekema rangkaian di bawah ini :


7 segment common anode

7 segment common cathode
7 segment arduino

Setelah selesai merakit maka sebelum membuat sketch program ada baiknya anda memahami terlebih dahulu konsep menyalakan 7-segment yang menggunakan data digital (1 dan 0). Jadi saat output arduino diberi logika “1” maka akan output arduino mengeluarkan tegangan sebesar +5 V dan pada saat output arduino diberi logika “0” maka akan output arduino mengeluarkan tegangan sebesar 0 V.

Jika anda menggunakan 7-segment common cathode maka jika ingin menghidupkan 7-segment maka butuh data digital yang berlogika high atau “1” akan tetapi ini bisa berbeda saat anda menggunakan 7-segment common anode, karena jika ingin menghidupkan 7-segment common anode  justru harus logikanya dibuat low atau “0”.

Untuk lebih jelasnya bisa lihat pada tabel dibawah ini.

7 segment

Sekarang siapkan laptop/komputer lalu bukalah aplikasi Arduino IDE dan ketiklah skecth programnya. Untuk contoh sketch programnya bisa lihat dibawah ini :

// --------------------------------------

//  Menampilkan angka 0 s/d 9

//   7 segment Common Anode

//   Oleh : Hendry Kurniawan

// --------------------------------------

const byte ANGKA[13] =

{

  B11111111,  // mati

  B00000011,  // 0 

  B10011111,  // 1 

  B00100101,  // 2 

  B00001101,  // 3 

  B10011001,  // 4 

  B01001001,  // 5 

  B01000001,  // 6 

  B00011111,  // 7

  B00000001,  // 8 

  B00001001,  // 9 

  B11111110,  // dp

  B00000000,  // semua menyala

};

const int PIN[8] = { 9, 8, 7, 6, 5, 4, 3, 2};

void setup()

{

  // Inisialisasi pin

  for (int j = 0; j < 8; j++)

    pinMode(PIN[j], OUTPUT);

}

void loop()

{

  // Tampilkan 0 s/d 9

  for (int j = 0; j < 13; j++)

  {

    tampilkanAngka(j);

    delay(2000);

  }

  delay(2000); 

}

void tampilkanAngka(int angka)

{

  // Abaikan kalau angka tidak antara 0 dan 9

  if ((angka < 0) || (angka > 13))

    return;

  byte dataSegmen = ANGKA[angka];

  for (int j = 0; j < 8; j++)

  {

     int bit = bitRead(dataSegmen, j);

       digitalWrite(PIN[j], bit);

  } 

}

Setelah selesai membuat sketch program maka lakukan verify guna memastikan tidak ada kesalahan dalam pembuatan program. Jika sukses maka silahkan di upload ke dalam mikrokontroller arduino.

Jika sukses maka 7-segmen akan menampilkan angka digit 0 hingga 9, seperti pada video dibawah ini :


Setelah berhasil sesuai video diatas maka sebaiknya anda mencoba latihan menyalakan seven segment common cathode. Sketch program dimodifikasi agar bisa menyalakan seven segment dengan benar. Selamat mencoba

Posting Komentar untuk "Arduino part 9. Mengendalikan 7-Segment"