Anda di sini

Pemrograman

[TUTORIAL - LENGKAP] Menggunakan Seven Segment Dengan Arduino

Aditya Suranata - 13 November 2015 12:13:08 0

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.

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 Angel
3 6 (B)
4 4 (C)
5 2 (D)
6 1 (E)
7 9 Give rose
8 10 G)
9 5 (DP)

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);
   }
}

17.683
Image

Aditya Suranata

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. Selain itu juga gemar menulis mengenai hal-hal umum, seperti ilmu alam, sosial dan beberapa pengalamannya yang mungkin bisa berguna untuk orang lain.

Artikel Menarik Lainnya
Mari Gabung

Halo Emo 51 , Ada yang ingin disampaikan? Jangan sungkan untuk gabung diskusi ini. Silahkan Login dulu atau Daftar baru.