int ledA = 2;
int ledB = 3;
int ledC = 4;
int ledD = 5;
int ledE = 6;
int ledF = 7;
int ledG = 8;
int Com1 = 9;
int Com2 = 10;
int satuan = 9;
int puluhan = 9;
int potensio = A7;
int hasil_baca;
int delaypot;
void setup() {
pinMode(ledA, OUTPUT);
pinMode(ledB, OUTPUT);
pinMode(ledC, OUTPUT);
pinMode(ledD, OUTPUT);
pinMode(ledE, OUTPUT);
pinMode(ledF, OUTPUT);
pinMode(ledG, OUTPUT);
pinMode(Com1, OUTPUT);
pinMode(Com2, OUTPUT);
pinMode(potensio, INPUT);
}
void satuan_segmen() {
//no0
if (satuan == 0) {
digitalWrite(ledA, 0);
digitalWrite(ledB, 0);
digitalWrite(ledC, 0);
digitalWrite(ledD, 0);
digitalWrite(ledE, 0);
digitalWrite(ledF, 0);
digitalWrite(ledG, 1);
}
//no1
if (satuan == 1) {
digitalWrite(ledA, 1);
digitalWrite(ledB, 0);
digitalWrite(ledC, 0);
digitalWrite(ledD, 1);
digitalWrite(ledE, 1);
digitalWrite(ledF, 1);
digitalWrite(ledG, 1);
}
//no2
if (satuan == 2) {
digitalWrite(ledA, 0);
digitalWrite(ledB, 0);
digitalWrite(ledC, 1);
digitalWrite(ledD, 0);
digitalWrite(ledE, 0);
digitalWrite(ledF, 1);
digitalWrite(ledG, 0);
}
//no3
if (satuan == 3) {
digitalWrite(ledA, 0);
digitalWrite(ledB, 0);
digitalWrite(ledC, 0);
digitalWrite(ledD, 0);
digitalWrite(ledE, 1);
digitalWrite(ledF, 1);
digitalWrite(ledG, 0);
}
//no4
if (satuan == 4) {
digitalWrite(ledA, 1);
digitalWrite(ledB, 0);
digitalWrite(ledC, 0);
digitalWrite(ledD, 1);
digitalWrite(ledE, 1);
digitalWrite(ledF, 0);
digitalWrite(ledG, 0);
}
//no5
if (satuan == 5) {
digitalWrite(ledA, 0);
digitalWrite(ledB, 1);
digitalWrite(ledC, 0);
digitalWrite(ledD, 0);
digitalWrite(ledE, 1);
digitalWrite(ledF, 0);
digitalWrite(ledG, 0);
}
//no6
if (satuan == 6) {
digitalWrite(ledA, 0);
digitalWrite(ledB, 1);
digitalWrite(ledC, 0);
digitalWrite(ledD, 0);
digitalWrite(ledE, 0);
digitalWrite(ledF, 0);
digitalWrite(ledG, 0);
}
//no7
if (satuan == 7) {
digitalWrite(ledA, 0);
digitalWrite(ledB, 0);
digitalWrite(ledC, 0);
digitalWrite(ledD, 1);
digitalWrite(ledE, 1);
digitalWrite(ledF, 1);
digitalWrite(ledG, 1);
}
//no8
if (satuan == 8) {
digitalWrite(ledA, 0);
digitalWrite(ledB, 0);
digitalWrite(ledC, 0);
digitalWrite(ledD, 0);
digitalWrite(ledE, 0);
digitalWrite(ledF, 0);
digitalWrite(ledG, 0);
}
//n09
if (satuan == 9) {
digitalWrite(ledA, 0);
digitalWrite(ledB, 0);
digitalWrite(ledC, 0);
digitalWrite(ledD, 0);
digitalWrite(ledE, 1);
digitalWrite(ledF, 0);
digitalWrite(ledG, 0);
}
}
void puluhan_segmen() {
//no0
if (puluhan == 0) {
digitalWrite(ledA, 0);
digitalWrite(ledB, 0);
digitalWrite(ledC, 0);
digitalWrite(ledD, 0);
digitalWrite(ledE, 0);
digitalWrite(ledF, 0);
digitalWrite(ledG, 1);
}
//no1
if (puluhan == 1) {
digitalWrite(ledA, 1);
digitalWrite(ledB, 0);
digitalWrite(ledC, 0);
digitalWrite(ledD, 1);
digitalWrite(ledE, 1);
digitalWrite(ledF, 1);
digitalWrite(ledG, 1);
}
//no2
if (puluhan == 2) {
digitalWrite(ledA, 0);
digitalWrite(ledB, 0);
digitalWrite(ledC, 1);
digitalWrite(ledD, 0);
digitalWrite(ledE, 0);
digitalWrite(ledF, 1);
digitalWrite(ledG, 0);
}
//no3
if (puluhan == 3) {
digitalWrite(ledA, 0);
digitalWrite(ledB, 0);
digitalWrite(ledC, 0);
digitalWrite(ledD, 0);
digitalWrite(ledE, 1);
digitalWrite(ledF, 1);
digitalWrite(ledG, 0);
}
//no4
if (puluhan == 4) {
digitalWrite(ledA, 1);
digitalWrite(ledB, 0);
digitalWrite(ledC, 0);
digitalWrite(ledD, 1);
digitalWrite(ledE, 1);
digitalWrite(ledF, 0);
digitalWrite(ledG, 0);
}
//no5
if (puluhan == 5) {
digitalWrite(ledA, 0);
digitalWrite(ledB, 1);
digitalWrite(ledC, 0);
digitalWrite(ledD, 0);
digitalWrite(ledE, 1);
digitalWrite(ledF, 0);
digitalWrite(ledG, 0);
}
//no6
if (puluhan == 6) {
digitalWrite(ledA, 0);
digitalWrite(ledB, 1);
digitalWrite(ledC, 0);
digitalWrite(ledD, 0);
digitalWrite(ledE, 0);
digitalWrite(ledF, 0);
digitalWrite(ledG, 0);
}
//no7
if (puluhan == 7) {
digitalWrite(ledA, 0);
digitalWrite(ledB, 0);
digitalWrite(ledC, 0);
digitalWrite(ledD, 1);
digitalWrite(ledE, 1);
digitalWrite(ledF, 1);
digitalWrite(ledG, 1);;
}
//no8
if (puluhan == 8) {
digitalWrite(ledA, 0);
digitalWrite(ledB, 0);
digitalWrite(ledC, 0);
digitalWrite(ledD, 0);
digitalWrite(ledE, 0);
digitalWrite(ledF, 0);
digitalWrite(ledG, 0);
}
//n09
if (puluhan == 9) {
digitalWrite(ledA, 0);
digitalWrite(ledB, 0);
digitalWrite(ledC, 0);
digitalWrite(ledD, 0);
digitalWrite(ledE, 1);
digitalWrite(ledF, 0);
digitalWrite(ledG, 0);
}
}
void matikan() {
digitalWrite(2, 1);
digitalWrite(3, 1);
digitalWrite(4, 1);
digitalWrite(5, 1);
digitalWrite(6, 1);
digitalWrite(7, 1);
digitalWrite(8, 1);
}
void ulangan() {
for (int ulang = 0; ulang <= delaypot; ulang++) {
digitalWrite(Com1, 1);
digitalWrite(Com2, 0); //satuan
satuan_segmen();
delay(1);
matikan();
digitalWrite(Com1, 0);
digitalWrite(Com2, 1); //puluhan
puluhan_segmen();
delay(1);
matikan();
}
}
void loop() {
baca_pot();
ulangan();
satuan--;
if (satuan < 0) {
satuan = 9;
puluhan--;
}
if (puluhan < 0) {
puluhan = 0;
satuan = 0;
}
}
void baca_pot() {
int val = analogRead(potensio);
val = map(val, 0, 1023, 1000, 200);
delaypot = val / 2;
//satuan = val % 10;
//puluhan = ((val-satuan)/10);
}