Home » Blog » Tutorial TM1637 Seven Segment Display dengan Arduino

Tutorial TM1637 Seven Segment Display dengan Arduino

Halo teman-teman

Dalam tutorial ini, saya akan menjelaskan bagaimana kita bisa menggunakan modul TM1637 Seven Segment Display. Modul ini merupakan salah satu pilihan untuk menampilkan informasi seperti arus, tegangan, suhu dan sebagainya.

Kode

// Protus Tanuhandaru
// www.progresstech.co.id

#include <TM1637Display.h>

// Mendefinisikan PIN CLK dan DIO
#define CLK 8
#define DIO 9

// Membuat obyek untuk TM1637
TM1637Display display = TM1637Display(CLK, DIO);

// Membuat variabel array yang menyalakan semua segment
const uint8_t semuaMenyala[] = {0xff, 0xff, 0xff, 0xff};

// Membuat variabel array yang mematikan semua segment
const uint8_t semuaMati[] = {0x00, 0x00, 0x00, 0x00};

// Membuat variabel array yang menyajikan kata COBA
const uint8_t coba[] = {
  SEG_A | SEG_F | SEG_E | SEG_D,                         // C
  SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F,         // O
  SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F | SEG_G, // B
  SEG_A | SEG_B | SEG_C | SEG_G | SEG_E | SEG_F          // A
};

// Membuat variabel array yang menyajikan kata LUCU
const uint8_t lucu[] = {
  SEG_F | SEG_E | SEG_D,                                 // L
  SEG_F | SEG_E | SEG_D | SEG_C | SEG_B,                 // U
  SEG_A | SEG_F | SEG_E | SEG_D,                         // C
  SEG_F | SEG_E | SEG_D | SEG_C | SEG_B                  // U
};

// Membuat variabel array yang menyajikan kata HALO
const uint8_t halo[] = {
  SEG_F | SEG_E | SEG_G | SEG_B | SEG_C,                 // H
  SEG_F | SEG_E | SEG_A | SEG_B | SEG_C | SEG_G,         // A
  SEG_F | SEG_E | SEG_D,                                 // L
  SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F,         // O
};

void setup() {
  // Mengatur intensitas cahaya (0 paling gelap, 7 paling terang)
  display.setBrightness(0);
  delay(2000);
  display.setSegments(semuaMenyala);
  delay(2000);
}

void loop() {
  
  // Memunculkan semua segment
  display.setSegments(semuaMenyala);

  delay(2000);
  display.clear();

  // Menunjukkan loop angka dari 0 sampai 9
  int i;
  for (i = 0; i < 10; i++) {
    display.showNumberDec(i);
    delay(100);
  }

  delay(2000);
  display.clear();

  display.showNumberDec(-16);     // Menulis _-16
  delay(2000);
  display.clear();
  
  display.showNumberDec(-999);    // Menulis -999
  delay(2000);
  display.clear();

  display.showNumberDec(9999);    // Menulis 9999
  delay(2000);
  display.clear();

  display.showNumberDec(21);    // Menulis __21
  delay(2000);
  display.clear();
 
  display.showNumberDec(21, true); // Menulis 0021
  delay(2000);
  display.clear();
  
  display.showNumberDec(17, false, 2, 1); // Menulis _17_
  delay(2000);
  display.clear();
  
  display.showNumberDec(-7, false, 3, 0); // Menulis _-7_
  delay(2000);
  display.clear();

  // Menulis 12:34
  display.showNumberDecEx(1234, 0b01000000, false, 4, 0);
  delay(2000);
  display.clear();
  
  // Menulis Coba
  display.setSegments(coba);
  delay(2000);
  display.clear();

  // Menulis Lucu
  display.setSegments(lucu);
  delay(2000);
  display.clear();

  // Menulis Halo
  display.setSegments(halo);
  delay(2000);
  
  while(1);  
}

Leave a Reply

Your email address will not be published. Required fields are marked *