Lompat ke konten Lompat ke sidebar Lompat ke footer

Arduino part 9. Mengendalikan 7-Segment

Project ini adalah mengendalikan 7-segment menggunakan Arduino Uno. Dengan menggunakan arduino maka pengendalian 7-segment akan lebih mudah.

Bagi pembaca yang belum memahami tentang 7-segment dan prinsip dasar menyalakan 7-segment maka bisa baca materi sebelumnya tentang  7-Segment.

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 cara menentukan common maka bisa baca kembali materi tentang  cara menghidupkan 7-segment.

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. 

Untuk materi selanjutnya adalah menyalakan 3 buah 7-segment menggunakan arduino sehingga bisa mencacah hitungan dari 000 s.d 999. Silahkan klik cara menghidupkan 3 buah 7-segment.

Selamat mencoba. 

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