[TUTORIAL - LENGKAP] Menggunakan Seven Segment Dengan Arduino

Selain LCD (Liquid Crystal Display), seven Segment merupakan salah satu peralatan yang paling sering digunakan untuk menampilkan suatu karakter, baik huruf maupun angka. Prinsip seven segment sebenarnya sederhana. Seven segment dibentuk oleh 8 jenis led (termasuk tanda titik).


on Jum, 11/13/2015 - 12:13
71.223 View

1. Dasar Teori

Selain LCD (Liquid Crystal Display), seven Segment merupakan salah satu peralatan yang paling sering digunakan untuk menampilkan suatu karakter, baik huruf maupun angka. Prinsip seven segment sebenarnya sederhana. Seven segment dibentuk oleh 8 jenis led (termasuk tanda titik). Kita dapat mengatur nyala led tersebut untuk dapat menampilkan jenis karakter tertentu.

[[{"fid":"36","view_mode":"wysiwyg","fields":{"format":"wysiwyg","field_file_image_alt_text[und][0][value]":"Konfigurasi Pin Seven Segment","field_file_image_title_text[und][0][value]":"Konfigurasi Pin Seven Segment"},"type":"media","link_text":null,"attributes":{"alt":"Konfigurasi Pin Seven Segment","title":"Konfigurasi Pin Seven Segment","height":"223","width":"277","class":"media-element file-wysiwyg"}}]]

Berikut kode yang bisa digunakan untuk membentuk karakter dengan menggunakan seven segment.

  • ABCDEF          0
  • BC                   1
  • ABDEG            2
  • ABCDG           3
  • BCFG              4
  • AFGCD           5
  • ACDEFG         6
  • ABC                7
  • ABCDEFG      8
  • ABCDFG        9

2. Alat dan Bahan

  • Arduino
  • Seven segment
  • Breadboard
  • Kabel jumper

3. Langkah Percobaan

Dengan menggunakan breadboard, koneksikan pin-pin pada seven segment ke Arduino dengan konfigurasi seperti berikut:

Pin Arduino    Pin 7 Segment
2            7 (A)
3            6 (B)
4            4 (C)
5            2 (D)
6            1 (E)
7            9 (F)
8            10 G)
9            5 (DP)

[[{"fid":"37","view_mode":"wysiwyg","fields":{"format":"wysiwyg","field_file_image_alt_text[und][0][value]":"Skematik Percobaan Seven Segment","field_file_image_title_text[und][0][value]":"Skematik Percobaan Seven Segment"},"type":"media","link_text":null,"attributes":{"alt":"Skematik Percobaan Seven Segment","title":"Skematik Percobaan Seven Segment","height":"447","width":"617","class":"media-element file-wysiwyg"}}]]

[[{"fid":"38","view_mode":"wysiwyg","fields":{"format":"wysiwyg","field_file_image_alt_text[und][0][value]":"Breadboard Percobaan Seven Segment","field_file_image_title_text[und][0][value]":"Breadboard Percobaan Seven Segment"},"type":"media","link_text":null,"attributes":{"alt":"Breadboard Percobaan Seven Segment","title":"Breadboard Percobaan Seven Segment","height":"345","width":"472","class":"media-element file-wysiwyg"}}]]

3. Kode Program Pada Arduino

/** Workshop Dasar Mikrokontroler
2014 RADE - Robotics AnD Embedded Systems STMIK STIKOM Bali 
**/
// Membentuk karakter huruf pada seven segment dari 0 - 9
// Perhatian! Ini adalah koding untuk 7-segment tipe common anode
// Untuk common cathode, ubah 1 menjadi 0, dan 0 menjadi 1
// 1 = LED off, 0 = LED on, dengan uturan berikut:
//                    Arduino pin: 2,3,4,5,6,7,8
byte seven_seg_digits[10][7] = { { 0,0,0,0,0,0,1 },  // = 0
                                 { 1,0,0,1,1,1,1 },  // = 1
                                 { 0,0,1,0,0,1,0 },  // = 2
                                 { 0,0,0,0,1,1,0 },  // = 3
                                 { 1,0,0,1,1,0,0 },  // = 4
                                 { 0,1,0,0,1,0,0 },  // = 5
                                 { 0,1,0,0,0,0,0 },  // = 6
                                 { 0,0,0,1,1,1,1 },  // = 7
                                 { 0,0,0,0,0,0,0 },  // = 8
                                 { 0,0,0,0,1,0,0 },   // = 9                                 
                                 };
  
void setup() {               
  pinMode(2, OUTPUT);  
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  writeDot(1);  // padamkan tanda "dot" (titik)
}
  
void writeDot(byte dot) {
  digitalWrite(9, dot);
}
  
void sevenSegWrite(byte digit) {
  byte pin = 2;
  for (byte segCount = 0; segCount < 7; ++segCount) {
    digitalWrite(pin, seven_seg_digits[digit][segCount]);
    ++pin;
  }
}
  
void loop() {
  
   for (byte count = 0; count < 10 ; ++count) {   
   sevenSegWrite(count);
   delay(1000);
   }
  
   for (byte count = 9; count > 0; --count) {
   sevenSegWrite(count-1);
   delay(1000);
   }
}

 

Profil Penulis

User Picture
  • Member Since 9 tahun 10 bulan ago
Aditya Suranata

Embedded System, Internet of Things, Precision Agriculture, Controlled Environment...

Aditya suka menulis, bukan hanya sekedar hobi, menulis menjadi medianya untuk mencurahkan pikiran dan perasaan. Di TutorKeren.com kebanyakan menyumbang tulisan sesuai dengan minat dan keahliannya yaitu pada kategori pemrograman dan elektronika....

Comments