Cara Mudah Menggunakan Seven Segments dengan Arduino

Dipublikasikan oleh Admin pada

Memprogram seven segments dengan Arduino

Seven segments atau 7 Segments adalah alat penampil elektronik yang berupa susunan LED membentuk angka. Seven segments tersusun dari 7 buah LED (maka dari itu disebut 7 segments) + 1 dot point (tanda titik).

Karena seven segments adalah kumpulan LED, maka setiap segment memiliki anoda dan katoda. Ada seven segments yang disatukan pin anodanya, disebut common anoda. Ada juga seven segments yang disatukan pin katodanya, disebut common cathode.

Diagram Komponen Seven Segments

Diagram komponen seven segments

Menggabungkan Beberapa Seven Segments

Untuk menampilkan suatu angka yang terdiri dari beberapa digit, kita bisa menggabungkan beberapa seven segment. Misalnya menggabungkan 2, 4 atau 8 seven segments sesuai kebutuhan.

Sebuah seven segments perlu dikontrol minimal dengan 8 pin untuk masing-masing segment dan 1 pin untuk common, total 9 pin untuk sebuah seven segments.

Apabila kita ingin membuat 4 digit, apakah kita membutuhkan 9×4 = 36 pin? Tentu tidak, karena itu tidak praktis dan memboroskan pin mikrokontroler/Arduino. Oleh karena itu kita perlu menggunakan cara multiplexing.

Multiplexing pada seven segments

Multiplexing dalam istilah seven segments adalah menampilkan satu persatu digit secara bergantian secara cepat sehingga mata manusia dapat melihatnya sebagai sebuah sederetan angka yang utuh.

Pada gambar di atas, pin a sampai g kedua seven segments gabungkan, sedangkan pin common dibiarkan sendiri-sendiri.

Contoh bila ingin menampilkan angka 10 pada dua buah seven segment.

  1. Kirim sinyal pada pin a – f (membentuk angka 0)
  2. Nyalakan common digit-2
  3. Tunda 20 milidetik
  4. Matikan common digit-2
  5. Kirim sinyal pada pin b dan c (membentuk angka 1)
  6. Nyalakan common digit-1
  7. Tunda 20 milidetik
  8. Matikan common digit-1
  9. Kembali ke nomor-1

Menyalakan digit pada common anoda berarti memberikan tegangan positif pada common, dan memberikan tegangan 0 pada segment.

Sedangkan menyalakan digit pada common cathode adalah kebalikannya: Memberikan tegangan 0 pada common, dan memberikan tegangan positif pada segment.

Karena seven segments pada dasarnya adalah LED, maka diperlukan resistor untuk membatasi arus. Resistor 330 ohm biasanya sudah cukup.

Rangkaian Dasar Seven Segments Common Anode 2 Digit

Rangkaian dasar seven segments dengan Arduino

Gambar di atas adalah skema dasar rangkaian 2 buah seven segments menggunakan Arduino. Bila kita ingin menambahkan lebih dari 2 digit, maka bisa memparallel semua pin segments dan menambahkan pin common yang baru untuk masing-masing seven segments.

Pada masing-masing pin common, kita menambahkan transistor untuk menguatkan arus yang masuk ke seven segment. Transistor yang digunakan berjenis PNP, oleh karena itu perlu diberi LOW untuk menghidupkan dan HIGH untuk mematikan.

Program Arduino untuk Mengendalikan Seven Segments

Dengan menggunakan prinsip multiplexing yang sudah dibahas di atas, sebenarnya relatif mudah untuk membuat program Arduino sendiri.

Akan tetapi kali ini penulis akan memberikan contoh lebih sederhana dan lebih mudah yaitu menggunakan library Arduino bernama SevSeg yang bisa di download dari halaman Library SevSeg.

Untuk menampilkan angka atau tulisan pada seven segments menggunakan library SevSeg ini caranya cukup mudah, yaitu dengan memanggil fungsi setNumber(), setChars() dan fungsi refreshDisplay():

Penjelasan mengenai fungsi dan parameter sudah dicantumkan pada program, silahkan dipelajari dan dipahami. Berikut ini contoh lengkap program Arduino untuk menampilkan counter pada seven segments

Pengembangan Lebih Lanjut

Contoh rangkaian dan program pada tulisan ini bersifat dasar dengan komponen yang minim dan mudah didapat di toko terdekat. Namun masih ada cara yang lebih lanjut dalam menampilkan seven segments menggunakan Arduino. Antara lain menggunakan shift register misalnya 74HC595, menggunakan IC binary to 7 segments atau menggunakan LED driver seperti MAX7219. Mungkin akan dibahas pada kesempatan berikutnya.

Topik hangat: