int a = 2;//mendefinisikan tiap pin COM LED ke pin pada board sesuai koneksi wire
int b = 3;
int c = 4;
int d = 5;
int e = 6;
int f = 7;
int g = 8;
int led_L = 13;
// void reset_display (){ //untuk setting led mati
// digitalWrite(a, HIGH); // high atau angka 1 sama untuk tipe common pin anode
// digitalWrite(b, 1);
// digitalWrite(c, 1);
// digitalWrite(d, 1);
// digitalWrite(e, 1);
// digitalWrite(f, 1);
// digitalWrite(g, 1);
// }
void off_display (){ //untuk setting led mati
digitalWrite(a, 0); // low atau angka 0 sama untuk display common pin cathode (kebalikan jika menggunakan anode)
digitalWrite(b, 0);
digitalWrite(c, 0);
digitalWrite(d, 0);
digitalWrite(e, 0);
digitalWrite(f, 0);
digitalWrite(g, 0);
}
void display_0(){ // fuction menulis angka
digitalWrite(a, 1);
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 1);
digitalWrite(f, 1);
digitalWrite(g, 0);
}
void display_1(){
digitalWrite(a, 0);
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 0);
digitalWrite(e, 0);
digitalWrite(f, 0);
digitalWrite(g, 0);
}
void display_2(){
digitalWrite(a, 1);
digitalWrite(b, 1);
digitalWrite(c, 0);
digitalWrite(d, 1);
digitalWrite(e, 1);
digitalWrite(f, 0);
digitalWrite(g, 1);
}
void display_3(){
digitalWrite(a, 1);
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 0);
digitalWrite(f, 0);
digitalWrite(g, 1);
}
void display_4(){
digitalWrite(a, 0);
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 0);
digitalWrite(e, 0);
digitalWrite(f, 1);
digitalWrite(g, 1);
}
void display_5(){
digitalWrite(a, 1);
digitalWrite(b, 0);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 0);
digitalWrite(f, 1);
digitalWrite(g, 1);
}
void display_6(){
digitalWrite(a, 1);
digitalWrite(b, 0);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 1);
digitalWrite(f, 1);
digitalWrite(g, 1);
}
void display_7(){
digitalWrite(a, 1);
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 0);
digitalWrite(e, 0);
digitalWrite(f, 0);
digitalWrite(g, 0);
}
void display_8(){
digitalWrite(a, 1);
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 1);
digitalWrite(f, 1);
digitalWrite(g, 1);
}
void display_9(){
digitalWrite(a, 1);
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 0);
digitalWrite(f, 1);
digitalWrite(g, 1);
}
int tambah = A4; // mendefinisikan tombol tambah (hijau)
int kurang = A5; // mendefinisikan tombol kurang (merah)
void setup() {
pinMode(led_L, OUTPUT);
// put your setup code here, to run once:
Serial.begin(9600); //setup untuk display output
pinMode(a, OUTPUT); //<< set pin sebagai output, default output adalah low, karena common Anoda
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
//reset_display();
pinMode(tambah, INPUT_PULLUP);//settup pin A4 untuk tombol hijau sebagai input
pinMode(kurang, INPUT_PULLUP);//settup pin A5 untuk tombol merah sebagai input
}
void display(int number) //function memunculkan angka
{
if(number == 0)
{
display_0();
}
else if (number == 1)
{
display_1();
}
else if (number == 2)
{
display_2();
}
else if (number == 3)
{
display_3();
}
else if (number == 4)
{
display_4();
}
else if (number == 5)
{
display_5();
}
else if (number == 6)
{
display_6();
}
else if (number == 7)
{
display_7();
}
else if (number == 8)
{
display_8();
}
else if (number == 9)
{
display_9();
}
}
int tampung = 0; //mendefinisikan variabel global untuk angka yg dimunculkan
void loop() {
digitalWrite(led_L, HIGH);
//## code count up otomatis 1 - 9
// display_0();
// delay(1000);
// //off_display();
// //delay(500);
// display_1();
// delay(1000);
// display_2();
// delay(1000);
// display_3();
// delay(1000);
// display_4();
// delay(1000);
// display_5();
// delay(1000);
// display_6();
// delay(1000);
// display_7();
// delay(1000);
// display_8();
// delay(1000);
// display_9();
// delay(1000);
// put your main code here, to run repeatedly:
// Serial.println("Hello World");
// Serial.println(3 * 5);
// display(1);
// delay(1000);
// display(2);
// delay(1000);
// display(3);
// delay(1000);
// display(4);
// delay(1000);
// display(5);
// delay(1000);
// display(6);
// delay(1000);
// display(7);
// delay(1000);
// display(8);
// delay(1000);
// display(9);
// delay(1000);
if(digitalRead(tambah) == 0) //jika tomboh tambah ditekan
{
if (tampung > 9) //cek apakah nilai tampung lebih dari 9
tampung = -1; //set nilai tampung jadi -1 agar ketika ditambah angka jadi 0 lagi
else
tampung = tampung + 1;//+ nilai tampung jika tombol tambah ditekan
}
else if (digitalRead(kurang) == 0)//jika tombol kurang ditekan
{
if (tampung < 1)//cek apakah nilai tampung kurang dari 1
tampung = 10; //set nilai tampung jadi 10 agar ketika dikurangi angka jadi 9 lagi
tampung = tampung - 1;//- nilai tampung jika tombol tambah ditekan
}
delay(200);
display(tampung);//memunculkan angka sesuai nilai tampung (default awal 0)
}