Counter Seven Segment dengan Arduino Uno R3
.
Hai Sedulur Jogjarobotika...
Jorobo tutorial ingin sharing sedikit tentang seven segment. Seven Segment Display (7 Segment Display) dalam bahasa Indonesia disebut dengan Layar Tujuh Segmen adalah komponen Elektronika yang dapat menampilkan angka desimal melalui kombinasi-kombinasi segmennya. Seven Segment Display pada umumnya dipakai pada Jam Digital, Kalkulator, Penghitung atau Counter Digital, dan lain-lain.
.
Kali ini jorobo tutorial mencoba membuat rangkaian counter sederhana 0 hingga 9 menggunakan seven segment dengan Arduino UNO R3. Di sini kami menggunakan 7-segmen katoda yang dihubungkan ke Arduino UNO R3 untuk menampilkan digit, serta tambahan tact switch/micro switch. Cara kerjanya dengan menekan switsh maka angka pada seven segment akan bertambah dari 0 sampai 9 kemudian kembali lagi ke 0, dan seterusnya.
.
Bahan-Bahan yang diperlukan
Oke langsung saja apa saja sih yang dibutuhkan untuk membuat project ini?
1. Seven segment common catoda
7. Kabel jumper
.
Skematik Rangkaian
Rangkai semua komponen seperti skematik dibawah ini
.
Input Program
Setelah selesai merakit semua komponennya, sambungkan arduino ke PC untuk proses pemrograman.
Masukkan program di bawah ini:
.
.
byte numbers[10] = {
B11111100, B01100000, B11011010, B11110010, B01100110,
B10110110, B10111110, B11100000, B11111110, B11110110
};
void setup() {
for(int i = 2; i <= 8; i++)
{
pinMode(i, OUTPUT);
}
pinMode(9, INPUT);
pinMode(10, INPUT);
}
int counter = 0;
bool go_by_switch = true;
int last_input_value = LOW;
void loop() {
if(go_by_switch) {
int switch_input_value = digitalRead(9);
if(last_input_value == LOW && switch_input_value == HIGH) {
delay(100);
counter = (counter + 1) % 10;
}
last_input_value = switch_input_value;
}
else {
delay(500);
counter = (counter + 1) % 10;
}
writeNumber(counter);
}
void writeNumber(int number) {
if(number < 0 || number > 9)
{
return;
}
byte mask = numbers[number];
byte currentPinMask = B10000000;
for(int i = 2; i <= 8; i++)
{
if(mask & currentPinMask) digitalWrite(i,HIGH);
else digitalWrite(i,LOW);
currentPinMask = currentPinMask >> 1;
}
}
.
.
Upload dan Test
Setelah selesai memasukkan program tersebut, kemudian upload program.
Coba tekan switch maka tampilan seven segment akan berubah secara berurutan/counter angka dari 0 sampai 9 kemudian kembali lagi ke 0, dan seterusnya.
.
Untuk tutorial lebih jelasnya silahkan klik untuk cek video youtube kami.
.
Selamat mencoba. Salam Jogjarobotika :)
Comments
Leave your comment