Cara Mudah Menggunakan 7 Segment pada Arduino

7 segment???

Sebenernya apa sih 7 segment itu?

7 segment adalah sebuah display yang berupa digit angka desimal dari 0 sampai dengan 9. Temen-temen pasti tau donk? yang sering kita lihat di perempatan lampu merah itu loh...? yang ada angka yang ngitung lamanya lampu merah atau hijau. Nah itu merupakan salah satu penerapan dari 7 segment. 7 segment ini sebenarnya terdiri dari 7 buah led utama dan 1 led untuk dot point yang dirangkai secara sistematis.

Terdapat 2 jenis 7 segment yaitu Common Anoda dan Common Cathoda :
  1. Common Anoda, jenis 7 segment ini mempunyai skema rangkaian yang kaki positifnya (+ LED) digabungkan menjadi satu semua dan kaki negatif (-) nya menjadi input untuk masing-masing LEDnya.
  2. Common Cathoda, sebaliknya untuk common cathoda kaki negatif (-) LED digabungkan jadi satu semua dan kaki positif (+) nya menjadi input tiap LEDnya.
    Untuk lebih jelasnya perhatikan ilustrasi di bawah ini.
Cara menggunakan 7 segment

Dari ilustrasi di atas dapat kita ketahui pada 7 segment terdapat beberapa kaki, untuk yang akan kita bahas ini menggunakan 7 segment 1 digit yang memiliki 10 kaki. Diantaranya 7 buah untuk digit LEDnya, 1 buah untuk dot point dan 2 sisanya merupakan common atau kaki-kaki LED yang digabungkan menjadi satu yang kemudian dihubungkan ke Arduino.

Temen-temen tinggal atur jika 7 segmentnya jenis anoda berarti kaki common dihubungkan ke 5V dan sebaliknya jika jenis cathoda kaki common dihubungkan ke GND. Untuk kaki-kaki yang ke input jangan lupa masing-masing disambungkan ke resistor misal 330 ohm sebelum dihubungkan ke pin kontroler (Arduino), hal ini untuk mengurangi kerusakan pada LED 7 segment temen-temen.

Tambahan :
- Common Anoda : tiap segment (LED) akan menyala jika pin Arduino dengan kondisi LOW
- Common Cathoda: tiap segment (LED) akan menyala jika pin Arduino dengan kondisi HIGH

Untuk menggunakannya dibutuhkan sebagai berikut :

Software : Arduino IDE

Hardware :

- Arduino Uno R3
- Kabel USB downloader
- 7 segment 1 digit anoda/cathoda
- Resistor 330 Ohm 8 buah
- Kabel jumper secukupnya
- Projectboard

Bagaimana cara penggunaanya? mari kita bahas bersama.

Rangkaian Common Anoda :
Arduino 7 Segment
Keterangan :
- kaki b dihubungkan dengan resistor 330 Ohm dan ke pin 8 Arduino
- kaki a dihubungkan dengan resistor 330 Ohm dan ke pin 9 Arduino
- kaki f dihubungkan dengan resistor 330 Ohm dan ke pin 10 Arduino
- kaki g dihubungkan dengan resistor 330 Ohm dan ke pin 11 Arduino

- kaki p/dot point dihubungkan dengan resistor 330 Ohm dan ke pin 2 Arduino
- kaki c dihubungkan dengan resistor 330 Ohm dan ke pin 3 Arduino
- kaki d dihubungkan dengan resistor 330 Ohm dan ke pin 4 Arduino
- kaki e dihubungkan dengan resistor 330 Ohm dan ke pin 5 Arduino

- kaki com, keduanya dihubungkan ke 5V Arduino

Rangkai semua komponen seperti keterangan di atas.

Persiapan Arduino IDE

==> Hubungkan Arduino ke PC dengan kabel USB
==> Buka Arduino IDE, masuk ke menu Tools dan pilih Board sesuai jenis Arduinonya, disini saya menggunakan Arduino/Genuino Uno. Kemudian ceklis Portnya, misal COM10
==> Upload sketchnya

Eksekusi

Silahkan upload sketch common anoda berikut ini :
#define b 8 
#define a 9
#define f 10
#define g 11
#define dp 2
#define c 3
#define d 4
#define e 5

void setup(){
pinMode(a, OUTPUT); //A
pinMode(b, OUTPUT); //B
pinMode(c, OUTPUT); //C
pinMode(d, OUTPUT); //D
pinMode(e, OUTPUT); //E
pinMode(f, OUTPUT); //F
pinMode(g, OUTPUT); //G
pinMode(dp, OUTPUT); // dot point
digitalWrite(dp, LOW);
}

byte digitAngka = 0;

void loop() {
switch(digitAngka){
case 0:
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
break;

case 1:
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;

case 2:
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
break;

case 3:
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
break;

case 4:
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
break;

case 5:
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
break;

case 6:
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
break;

case 7:
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;

case 8:
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
break;

case 9:
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
break;

}

digitAngka++;
delay(1000);
if (digitAngka > 9){
digitAngka = 0;
}
}

Hasilnya adalah akan tampil digit angka dari 0 sampai dengan 9 dan terus berulang.

Rangkaian Common Cathoda :
Arduino 7 segment
Keterangan :
Untuk pin sama dengan rangkaian anoda hanya kaki Common saja yang berbeda yaitu kaki com, keduanya dihubungkan ke GND Arduino.

Selanjutnya upload sketch common cathoda di bawah ini :

#define b 8
#define a 9
#define f 10
#define g 11
#define dp 2
#define c 3
#define d 4
#define e 5

void setup()
{
pinMode(a, OUTPUT); //A
pinMode(b, OUTPUT); //B
pinMode(c, OUTPUT); //C
pinMode(d, OUTPUT); //D
pinMode(e, OUTPUT); //E
pinMode(f, OUTPUT); //F
pinMode(g, OUTPUT); //G
pinMode(dp, OUTPUT); // dot point
digitalWrite(dp,HIGH);
}
byte digitAngka = 0;
void loop() {
switch(digitAngka){
case 0:
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
break;

case 1:
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
break;

case 2:
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
break;

case 3:
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
break;

case 4:
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;

case 5:
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;

case 6:
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;

case 7:
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
break;

case 8:
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;

case 9:
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;

}

digitAngka++;
delay(1000);
if (digitAngka > 9){
digitAngka = 0;
}
}
Secara hasil sama saja dengan sketch sebelumnya, yang membedakan hanya di rangkaian saja.

Baca juga :

Cara Menampilkan Sensor Suhu DS18B20 pada LCD OLED
NodeMCU, Cara Menyimpan Data ke Database MySQL

Demikian pembahasan kali ini, semoga bermanfaaat. Jika berkenan silahkan share ya, untuk mensuport symask.blogspot.com agar terus semangat lagi update-update pembahasan menarik lainnya. Terima kasih.

0 Response to "Cara Mudah Menggunakan 7 Segment pada Arduino"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel

Iklan Bawah Artikel