#include <Arduino.h>
int segment[8] = {13,12,32,33,25,26,27,14};
int digit[3] = {15,18,19};
unsigned long jeda;
int pot = 4;
bool statusSegment[10][7] = {
{0,0,0,0,0,0,1},
{1,0,0,1,1,1,1},
{0,0,1,0,0,1,0},
{0,0,0,0,1,1,0},
{1,0,0,1,1,0,0},
{0,1,0,0,1,0,0},
{0,1,0,0,0,0,0},
{0,0,0,1,1,1,1},
{0,0,0,0,0,0,0},
{0,0,0,0,1,0,0}
};
void setup(){
Serial.begin(9600);
for(int i=0; i<8; i++){
pinMode(segment[i], OUTPUT);
digitalWrite(segment[i], HIGH);
}
for(int i=0; i<3; i++){
pinMode(digit[i],OUTPUT);
digitalWrite(digit[i],LOW);
}
pinMode(pot, INPUT);
}
void loop(){
int nilaiPotensiometer = analogRead(pot); // Membaca nilai dari pin A0
int digit1 = (nilaiPotensiometer/5) % 10;
int digit2 = ((nilaiPotensiometer/5) / 10) % 10;
int digit3 = ((nilaiPotensiometer/5) / 100) % 10;
int digit4 = ((nilaiPotensiometer/5) / 1000) % 10;
tampil4Digit(digit1, digit2, digit3);
jeda = analogRead(pot);
Serial.println(jeda);
Serial.println(nilaiPotensiometer/5);
}
void tampil4Digit(int digit1,int digit2,int digit3){
nyalakan(0,digit3);
delay(5);
nyalakan(1,digit2);
delay(5);
nyalakan(2,digit1);
delay(5);
}
void nyalakan(int dig, int ang){
matikanSemuaSegment();
digitalWrite(digit[dig],HIGH);
for(int i=1; i<8; i++){
digitalWrite(segment[i],statusSegment[ang][i-1]);
}
}
void matikanSemuaSegment(){
for(int i=0; i<4; i++){
digitalWrite(digit[i],LOW);
for(int j=0; j<8; j++){
digitalWrite(segment[j],HIGH);
}
}
}