Contents
Seven segment adalah tampilan display yang terdiri dari tujuh segment yang dipancari LED sehingga membentuk karakter alfanumerik tertentu. Pada dasarnya seven segment ini menampilkan karakter angka saja, tapi untuk karakter huruf tertentu seperti ‘A’, ‘b’, ‘c’, ‘d, ‘o’, dst juga dapat ditampilkan (asal terdiri dari 7 segment karakter). Untuk karakter yang sulit seperti huruf ‘R’, ‘Q’, ‘W’, dll tidak dapat ditampilkan. Jadi untuk seven segment ini benar-benar terbatas untuk menampilkan karakter huruf. Jika Anda membutuhkan display yang lebih fleksibel, sebaiknya menggunakan display LCD (misal LCD 1602, 2004, OLED, dll).
Untuk menampilkan karakter alfanumerik caranya cukup mudah, cukup dengan memberikan tegangan 5V (atau Ground) pada kaki pin masing-masing segment, tergantung tipe seven segment apakah common cathode atau common anode.
Namun kerumitan akan terjadi saat Anda akan menampilkan misalnya 3 atau 4 digit karakter alfanumerik. Bisa dihitung berapa kebutuhan pinout mikrokontroller untuk total segment. Anda bisa saja menggunakan metode segment untuk menghemat pinout, namun mungkin nanti script handlingnya akan cukup rumit. Belum lagi nanti Anda harus menggunakan driver rangkaian yang tepat agar nyala segment cukup terang saat ditampilkan menggunakan metode scanning
Untuk mengatasi kerumitan di atas, bersyukurlah kita hidup di jaman yang serba maju. Adalah sebuah IC driver seven segment berjuluk TM1637 yang mampu mengerjakan kerumitan itu semua dalam single chip. Bahkan IC ini sudah dijual dalam bentuk modul siap pakai, lengkap dengan seven segment 4 digit, sehingga Anda cukup menempelkannya ke rangkaian Anda. Berikut ini adalah tampilan modul tersebut beserta keterangan pinout-nya
Perhatikan bahwa untuk menampilkan 4 digit display alfanumerik, Anda hanya cukup menggunakan 2 pin digital saja. Sangat sangat hemat resource, bukan? Apalagi sudah tersedia library yang akan memudahkan Anda menampilkan angka dan huruf tertentu ke 4 buah seven segment. Saya yakin dalam waktu 5 menit saja Anda akan mampu melakukannya 🙂 .
Alat dan Bahan:
- 4 digit seven segment module TM1637
- Arduino (bisa uno, nano atau yang lain)
- 4 kabel jumper (tipenya menyesuaikan Arduino yang Anda gunakan)
Oke, kita coba ya. Silahkan download dulu library nya di sini. Tambahkan library tersebut ke Arduino IDE. Jika belum tahu cara menambahkan library bisa baca caranya di sini.
Hubungkan Arduino dan module TM1637 sesuai rangkaian sbb:
Berikutnya bikin sketch sederhana berikut untuk menampilkan karakter angka di 4 seven segment yang ada di module TM1637
#include <TM1637Display.h> #define CLK 3 #define DIO 2 unsigned int angka = 0; TM1637Display display(CLK, DIO); void setup() { display.setBrightness(0x0f); //maximum brightness } void loop() { for(angka = 0; angka < 9999; angka++) { display.showNumberDec(angka); //tampilkan angka delay(100); } }
Upload sketch dan beberapa detik kemudian seharusnya akan tampil angka mulai dari 0 sampai 9999 di module TM1637 Anda. Mudah, bukan?
Resume Sketch Arduino – TM1637 Seven Segment Driver
Beberapa function penting pada sketch di atas adalah sebagai berikut. Function ini adalah function yang terdapat pada library ‘TM1637Display.h’ yang tadi Anda download
display.setBrightness(0x0f);Â ==> untuk mengatur kecerahan led pada seven segment. Angka 0x0F dapat Anda ubah mulai dari 0x0A untuk mengatur kecerahan LED yang diinginkan
display.showNumberDec(angka);Â ==> menampilkan angka ke seven segment
Demikian sedikit tutorial pengenalan modul TM1637 untuk menampilkan 4 digit angka ke seven segment. Pada tutorial berikutnya akan saya bahas lebih advanced untuk function-function lainnya, misalnya bagaimana menampilkan custom segment, menyalakan led ‘:’ pada modul, menampilkan angka mulai dari depan, dsb
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com
Mas Ajie mau nanya… bagaimana kalau modul TM1637 lebih dari satu?
tinggal sediain 2 pin digital utk masing-masing tm1637
trus gimana membedakan antara modul satu dengan yang lainnya untuk menampilkannya, CLK, DIO
pin nya kan beda mas, misal pin 2 dan 3 utk tm1637 yg pertama, pin 4 dan 5 utk tm1637 yg kedua, dst
mas aji saya mau tanya, display seven segmen nya di modif ke 2.3 inci apa saja yang diperlukan?
paling slot buat kakinya aja mas
mas aji . kalo nilai yg di tampilkan di 7segment adalah nilai yg berubah ubah, sperti nilai sensor suhu bagaimna ya kodingnya ?
script-nya dibikin: tiap nilai sensor yg terbaca langsung ditampilkan di seven segment, jadi jika ada perubahan nilai sensor maka otomatis 7-segment akan ikut berubah nilainya
Display.ShowNumberDec(angka) ,
Jdi nanti yg dalam () ini ya yg di rubah bang ?
misal kalo yg mau di tmpilkan data suhu
Jadi
Display.ShoNumberDec(suhu) ,
trus koding untuk masukin angka komanya gimana mas aji ??, saya kalo angka int sudah bisa tapi kalo float blm bisa mas aji
digitnya kan ada 4 mas, ditentukan dulu mau berapa digit angka komanya?
Mas, klo library untuk TM1637 yang IC bukan module, sehingga bisa display 6 digit yang mana ya? Klo boleh minta link nya
Saya coba tm1637Display, ternyata hanya 4 digit
Thanks sebelumnya
saya belum explore lebih lanjut mengenai library tersebut, tapi secara logika bisa
Thanks, saya sudah coba beberapa library berbeda, tetep keluarnya 4 digits. Padahal di datasheet nya TM1637 bisa 6 digit