Universitas Gadjah Mada Menara Ilmu Mikrokontroller
Universitas Gadjah Mada
  • Home
  • Kabar Terkini
  • Artikel
    • Teknologi Mikrokontroler
    • Sensor
    • Pemrograman
    • Penelitian
  • Profil
  • Forum
  • Beranda
  • Pemrograman
  • Program 7segment 1×1

Program 7segment 1×1

  • Pemrograman
  • 2 October 2018, 14.22
  • Oleh: roghib.muh
  • 0

7segment adalah tampilan yang biasanya berupa susunan segmen yang dapat menyala membentuk bentuk angka atau huruf. Terdapat 7 segmen utama yang berisi LED sehingga setiap segmen dapat menyala secara individual. 7 segmen ada dua macam yaitu common katoda dan common anoda. Yang berbeda arah LEDnya. Common katoda terhubung ke gnd untuk dapat menyalakan LEDnya, sedangkan common anoda terhubung ke vcc untuk dapat menyalakan LEDnya. 7seg 1×1 tersedia pada integrated output dan dapat digunakan dengan menghubungkan pin segment dan pin commonnya.

1. Kebutuhan

  • Arduino UNO
  • (2) 220-ohm resistor
  • 7segment 1×1 common anoda
  • kabel
  • Breadboard

2. Skematik

Gambar 12.1. segmen pada 7segment common anoda, beserta urutan pinnya.

Gambar 12.2. pemasangan 7segment pada pin Arduino, disertai beberapa resistor agar LED tidak kelebihan tegangan.

3. Program

// rubah nilai 0 menjadi 1 untuk 7segment common katoda

#define commonCathode 1

// deklarasi posisi pin digital Arduino untuk setiap segmen

int segmentA = 2;

int segmentB = 3;

int segmentC = 4;

int segmentD = 5;

int segmentE = 6;

int segmentF = 7;

int segmentG = 8;

int segmentDP = 9;

//deklarasi variabel array yang berisi angka untuk 7segmen

byte numbers[10] =

{

  B11000000, // 0

  B11111001, // 1

  B10100100, // 2

  B10110000, // 3

  B10011001, // 4

  B10010010, // 5

  B10000010, // 6

  B11111000, // 7

  B10000000, // 8

  B10010000  // 9

};

void setup()
{

  //deklarasi pin segmen sebagai output

  pinMode(segmentA, OUTPUT);

  pinMode(segmentB, OUTPUT);

  pinMode(segmentC, OUTPUT);

  pinMode(segmentD, OUTPUT);

  pinMode(segmentE, OUTPUT);

  pinMode(segmentF, OUTPUT);

  pinMode(segmentG, OUTPUT); 

  writeDot(0);
  // memanggil rutin untuk mematikan titik(dot)

  //rutin yang dijalankan saat dipanggil

void writeDot(byte dot)
{

  digitalWrite(segmentDP, dot);

  //menulis sinyal digital ke segmen dot

}

//rutin yang dijalankan saat dipanggil

void sevenSegWrite(byte digit)
{

  byte pin = 2;    //deklarasi pin

  int number = numbers[digit];    //deklarasi nilai number sebagai nilai variabel array

  //perulangan dari 0 sampai 6(membaca biner untuk nyala 7segmen)

  for(int bitIndex = 0; bitIndex < 7; bitIndex++){

  //dijalankan saat setingan sebagai common katoda

  if(commonCathode)

  {

   digitalWrite(pin, 1–bitRead(number, bitIndex));
   //menulis sinyal digital sesuai biner

  }

   //dijalankan saat setingan sebagai common anoda

  else

  {

   digitalWrite(pin, bitRead(number, bitIndex));    //menulis sinyal digital sesuai biner

  }

++pin;//menambah nilai pin


 }

}

void loop()

{

 //perulangan dari 10 ke 1

 for(byte count = 10; count > 0; —count)
 {

  delay(1000);

  //menunggu 1000 milidetik

  sevenSegWrite(count – 1);
  //memanggil rutin untuk menampilkan angka

 }


 delay(4000);    //menunggu 4000 milidetik

}

4. Video

Leave A Comment Cancel reply

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

*

Universitas Gadjah Mada

Menara Ilmu Mikrokontroler FMIPA
Universitas Gadjah Mada
Kontak :
roghib.muh@ugm.ac.id
+62 856-4781-7270

© Universitas Gadjah Mada

KEBIJAKAN PRIVASI/PRIVACY POLICY

[EN] We use cookies to help our viewer get the best experience on our website. -- [ID] Kami menggunakan cookie untuk membantu pengunjung kami mendapatkan pengalaman terbaik di situs web kami.I Agree / Saya Setuju