7 Segment Display 4 Digit Using Arduino
Kawan-kawan, berikut blog dari saya yang membahas mengenai penggunaan modul Arduino Uno dengan objek 7 segment display Common Anode 4 digit. Langsung saja kita mulai dengan persiapan bahan, yaitu:
1. Arduino uno,
2. 7 Segment Common Anode
3. IC 74LS47 BCD to 7Segment Decoders/Drivers
4. Kabel Jumper dan PCB bolong (Untuk membuat Modul 7 Segment rakitan Anda)
TAHAP 1: PERSIAPAN
1. Arduino
saat ini dunia elektronika perangkat lunak khususnya dunia Mikrokontroler semakin marak dengan hadirnya modul-modul yang berbasis mikrokontroler yang memudahkan kita dalam dunia elektronika khususnya pemrograman Mikrokontroler. Modul yang saya gunakan saat ini adalah Arduino Uno, selain harga lebih murah dari Arduino yang lain, juga saya rasa masih cukup baik untuk penggunaan mikrokontroler basic pemula, dengan menggunakan IC Mikrokontroler ATMEGA328P, saya rasa sangat cukup untuk kita mengexplorasi dunia Mikrokontroler. untuk spesifikasi bisa dilihat pada https://www.arduino.cc/
2. 7Segment Common Anode
7 Segment yang saya gunakan disini adalah Common Anode, karena type 7 Segment ada 2, yaitu: Common Anode (aktif HIGH) dan Common Catode (aktif LOW). Bukan saya pemalas, namun banyak penulis blog sudah banyak membahas perbedaan 7 Segment tersebut, jadi jika anda ingin mencari perbedaannya, silahkan anda mencari di website lainnya, terimakasih.
3. IC74LS47 BCD to 7Segment Decoders/Drivers
Untuk sedikit menghemat port Mikrokontroler oleh karena itu saya gunakan IC TTL 74LS47 yang sudah umum dipasaran dan mudah untuk didapatkan, untuk datasheet silahkan anda browsing di website.
4. Kabel Jumper dan PCB bolong
Siapkan kabel jumper untuk koneksi port dari Arduino Uno ke Modul 7 Segment rakitan anda sendiri
TAHAP 2: INSTALASI
1. Modul Rangkaian 7 Segment 4Digit Display
Alat dan Bahan:
1. PCB Bolong (1pcs),
2. Timah dan Solder (1unit),
3. 7 Segment Common Anoda (4pcs),
4. Resistor untuk kaki 7Segment 330Ohm (7pcs),
5. Transistor PNP, BC559 sebagai Driver kaki Common Anode (4pcs),
6. Resistor 10kOhm sebagai beban pada basis Transistor BC559 (4pcs),
7. Resistor 220Ohm / Rpot 10K, digunakan untuk kaki Emiter sebagai input vcc ke kaki Common Anode7Segment (4pcs)
8. IC TTL 74LS47 BCD to 7Segment Decoders/Drivers (1pcs)
Berikut adalah skematik yang saya buat menggunakan Proteus 8 Profesional:
2. Pemrograman pada Arduino
Untuk pemrograman Arduino, Arduino berbasis Bahasa C/C++ dan yang membuat module ini sangat diminati banyak peng-hobi Mikrokontroler, karena memiliki Compiler dan semua bersifat Open Source, bahkan kita juga dapat bergabung dengan komunitas Arduino dari seluruh Negara di dunia. Untuk versi Compiler Arduino yang saya gunakan adalah Versi Arduino 1.8.5 dapat di download gratis di website https://www.arduino.cc/en/Main/Software
Untuk isi dari program seluruhnya adalah sebagai berikut:
/*============ Inisialisasi Display 7 Segment ==============*/
#define A 0
#define B 1
#define C 2
#define D 3
#define Digit1 4
#define Digit2 5
#define Digit3 6
#define Digit4 7
#define duration 5000
#define angka_7segment { \
{0,0,0,0},\
{0,0,0,1},\
{0,0,1,0},\
{0,0,1,1},\
{0,1,0,0},\
{0,1,0,1},\
{0,1,1,0},\
{0,1,1,1},\
{1,0,0,0},\
{1,0,0,1},\
}
byte numbers[10][4] = angka_7segment;
const int segments[4] = {D, C, B, A};
unsigned int counter = 0;
void Display();
void setup()
{
/*============= Setup port kaki 7 Segment ===============*/
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(Digit1, OUTPUT);
pinMode(Digit2, OUTPUT);
pinMode(Digit3, OUTPUT);
pinMode(Digit4, OUTPUT);
/*========= Inisialisasi port kaki 7Segment =============*/
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
digitalWrite(Digit1, LOW);
digitalWrite(Digit2, LOW);
digitalWrite(Digit3, LOW);
digitalWrite(Digit4, LOW);
}
void loop()
{
for(int time1 = 0; time1 <50; time1++)
{
Display();
}
counter++;
if (counter == 1000){counter = 0;}
}
/*========================================================
* ---------------- Tampilan Display ---------------------
*========================================================*/
void Display()
{
unsigned int number1 = (counter/1000)%10;
setsegments(number1, Digit1, duration);
unsigned int number2 = (counter/100)%10;
setsegments(number2, Digit2, duration);
unsigned int number3 = (counter/10)%10;
setsegments(number3, Digit3, duration);
unsigned int number4 = counter%10;
setsegments(number4, Digit4, duration);
}
void setsegments(unsigned int number, int digit, int ontime)
{
for (int seg=0; seg<4; seg++)
{
digitalWrite(segments[seg], numbers[number][seg]);
}
digitalWrite(digit, HIGH);
delayMicroseconds(ontime);
digitalWrite(digit, LOW);
}
/*===================== END DISPLAY ======================*/
Oke kawan sementara hanya itu yang bisa saya sedikit share di blog ini....oke selamat mencoba....Good Luck!!!
Untuk video silahkan kunjungi: https://youtu.be/0oouQY0sMbA
1. Arduino uno,
2. 7 Segment Common Anode
3. IC 74LS47 BCD to 7Segment Decoders/Drivers
4. Kabel Jumper dan PCB bolong (Untuk membuat Modul 7 Segment rakitan Anda)
TAHAP 1: PERSIAPAN
1. Arduino
saat ini dunia elektronika perangkat lunak khususnya dunia Mikrokontroler semakin marak dengan hadirnya modul-modul yang berbasis mikrokontroler yang memudahkan kita dalam dunia elektronika khususnya pemrograman Mikrokontroler. Modul yang saya gunakan saat ini adalah Arduino Uno, selain harga lebih murah dari Arduino yang lain, juga saya rasa masih cukup baik untuk penggunaan mikrokontroler basic pemula, dengan menggunakan IC Mikrokontroler ATMEGA328P, saya rasa sangat cukup untuk kita mengexplorasi dunia Mikrokontroler. untuk spesifikasi bisa dilihat pada https://www.arduino.cc/
2. 7Segment Common Anode
7 Segment yang saya gunakan disini adalah Common Anode, karena type 7 Segment ada 2, yaitu: Common Anode (aktif HIGH) dan Common Catode (aktif LOW). Bukan saya pemalas, namun banyak penulis blog sudah banyak membahas perbedaan 7 Segment tersebut, jadi jika anda ingin mencari perbedaannya, silahkan anda mencari di website lainnya, terimakasih.
3. IC74LS47 BCD to 7Segment Decoders/Drivers
Untuk sedikit menghemat port Mikrokontroler oleh karena itu saya gunakan IC TTL 74LS47 yang sudah umum dipasaran dan mudah untuk didapatkan, untuk datasheet silahkan anda browsing di website.
4. Kabel Jumper dan PCB bolong
Siapkan kabel jumper untuk koneksi port dari Arduino Uno ke Modul 7 Segment rakitan anda sendiri
TAHAP 2: INSTALASI
1. Modul Rangkaian 7 Segment 4Digit Display
Alat dan Bahan:
1. PCB Bolong (1pcs),
2. Timah dan Solder (1unit),
3. 7 Segment Common Anoda (4pcs),
4. Resistor untuk kaki 7Segment 330Ohm (7pcs),
5. Transistor PNP, BC559 sebagai Driver kaki Common Anode (4pcs),
6. Resistor 10kOhm sebagai beban pada basis Transistor BC559 (4pcs),
7. Resistor 220Ohm / Rpot 10K, digunakan untuk kaki Emiter sebagai input vcc ke kaki Common Anode7Segment (4pcs)
8. IC TTL 74LS47 BCD to 7Segment Decoders/Drivers (1pcs)
Berikut adalah skematik yang saya buat menggunakan Proteus 8 Profesional:
Gambar 1.1: Skematik Rangkaian 7 Segment dengan Proteus 8 Profesional.
*Ket: 1). pada gambar skematik tersebut nilai resistor saya gunakan sesuai dengan aslinya, saat kita
aplikasikan pada rangkaian nyata di PCB bolong. Hal ini perlu saya terangkan, karena jika
anda mencobanya pada rangkaian virtual seperti Proteus, terkadang nilai asli mengakibatkan
error pada Proteus atau Tidak Dapat Running.
2). pada rangkaian tersebut kaki dp pada 7 segment tidak saya fungsikan atau tidak saya
sambung.
Gambar 1.2: Port dari 7Segment module ke Arduino Uno module
2. Pemrograman pada Arduino
Untuk pemrograman Arduino, Arduino berbasis Bahasa C/C++ dan yang membuat module ini sangat diminati banyak peng-hobi Mikrokontroler, karena memiliki Compiler dan semua bersifat Open Source, bahkan kita juga dapat bergabung dengan komunitas Arduino dari seluruh Negara di dunia. Untuk versi Compiler Arduino yang saya gunakan adalah Versi Arduino 1.8.5 dapat di download gratis di website https://www.arduino.cc/en/Main/Software
Gambar 2.1: Sketch1 program Arduino, untuk nilai duration silahkan di coba-coba dari nilai
1000 s/d 5000
Gambar 2.2: Sketch2 program Arduino
Gambar 2.3: Sketch3 program Arduino
Gambar 2.4: Sketch4 program Utama Arduino
Untuk isi dari program seluruhnya adalah sebagai berikut:
/*============ Inisialisasi Display 7 Segment ==============*/
#define A 0
#define B 1
#define C 2
#define D 3
#define Digit1 4
#define Digit2 5
#define Digit3 6
#define Digit4 7
#define duration 5000
#define angka_7segment { \
{0,0,0,0},\
{0,0,0,1},\
{0,0,1,0},\
{0,0,1,1},\
{0,1,0,0},\
{0,1,0,1},\
{0,1,1,0},\
{0,1,1,1},\
{1,0,0,0},\
{1,0,0,1},\
}
byte numbers[10][4] = angka_7segment;
const int segments[4] = {D, C, B, A};
unsigned int counter = 0;
void Display();
void setup()
{
/*============= Setup port kaki 7 Segment ===============*/
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(Digit1, OUTPUT);
pinMode(Digit2, OUTPUT);
pinMode(Digit3, OUTPUT);
pinMode(Digit4, OUTPUT);
/*========= Inisialisasi port kaki 7Segment =============*/
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
digitalWrite(Digit1, LOW);
digitalWrite(Digit2, LOW);
digitalWrite(Digit3, LOW);
digitalWrite(Digit4, LOW);
}
void loop()
{
for(int time1 = 0; time1 <50; time1++)
{
Display();
}
counter++;
if (counter == 1000){counter = 0;}
}
/*========================================================
* ---------------- Tampilan Display ---------------------
*========================================================*/
void Display()
{
unsigned int number1 = (counter/1000)%10;
setsegments(number1, Digit1, duration);
unsigned int number2 = (counter/100)%10;
setsegments(number2, Digit2, duration);
unsigned int number3 = (counter/10)%10;
setsegments(number3, Digit3, duration);
unsigned int number4 = counter%10;
setsegments(number4, Digit4, duration);
}
void setsegments(unsigned int number, int digit, int ontime)
{
for (int seg=0; seg<4; seg++)
{
digitalWrite(segments[seg], numbers[number][seg]);
}
digitalWrite(digit, HIGH);
delayMicroseconds(ontime);
digitalWrite(digit, LOW);
}
/*===================== END DISPLAY ======================*/
Oke kawan sementara hanya itu yang bisa saya sedikit share di blog ini....oke selamat mencoba....Good Luck!!!
Untuk video silahkan kunjungi: https://youtu.be/0oouQY0sMbA
Komentar
Posting Komentar