Senin, 14 Januari 2019

Counter Seven Segment dengan Arduino Uno R3

Bahan-Bahan yang diperlukan
Oke langsung saja apa saja sih yang dibutuhkan untuk membuat project ini?
1. Seven segment common catoda
2. Resistor 330 Ohm
3. Resistor 10K Ohm
4. Arduino UNO R3
5. Project board
6. Tact switch/micro switch
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.
 

Tidak ada komentar:

Posting Komentar