Setelah belajar menyalakan lampu LED, selanjutnya kita akan belajar menampilkan angka pada tampilan 4 digit seven segmen. Sketch Arduino berikut menguji tampilan LED empat digit seven segmen. Pengontrol keempat digit seven segmen adalah 74HC595 dengan LATCH_DIO terhubung ke D4, CLK_DIO ke D7, dan DATA_DIO ke D8.
/* ---- */
/* MF 4 Digit Seven Segmen */
/* ahmadzipur.com */
/* ---- */
#define LATCH_DIO 4;
#define CLK_DIO 7;
#define DATA_DIO 8;
/* bitmap segmen untuk nomor 0 - 9 */
const byte SEGMENT_MAP[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0X80,0X90};
/* bitmap segmen untuk memilih digit 1 - 4 */
const byte SEGMENT_SELECT[] = {0xF1,0xF2,0xF4,0xF8};
void setup ()
{
/* Set DIO pin ke output */
pinMode(LATCH_DIO,OUTPUT);
pinMode(CLK_DIO,OUTPUT);
pinMode(DATA_DIO,OUTPUT);
}
/* program utama */
void loop()
{
/* Update tampilan dengan nilai sekarang */
WriteNumberToSegment(0 , 0);
WriteNumberToSegment(1 , 1);
WriteNumberToSegment(2 , 2);
WriteNumberToSegment(3 , 3);
}
/* menulis angka desimal dari 0 - 9 ke salah satu diti seven segmen */
void WriteNumberToSegment(byte Segment, byte Value)
{
digitalWrite(LATCH_DIO,LOW);
shiftOut(DATA_DIO, CLK_DIO, MSBFIRST, SEGMENT_MAP[Value]);
shiftOut(DATA_DIO, CLK_DIO, MSBFIRST, SEGMENT_SELECT[Segment] );
digitalWrite(LATCH_DIO,HIGH);
}
Setelah mengetahui cara kerjanya, kita bisa memodifikasi dan menggunakan 4 digit seven segmen ini untuk membuat jam digital, counter meter, countdown timer, dll.