this is counting time, two digits for minutes and 1 digit for seconds. first loop is for second digit, rest is for minute which can count until 99. but this code is not working. can you help me please? ( sorry for my bad english)
//SSD is Seven-Segment Display
void setup()
{
for (int i = 0; i <= 19; i++)
pinMode(i, OUTPUT); //Set all pins from 0 to 19 as OUTPUT
}
//Aşağıdaki satır, 0'dan 9'a kadar bir SSD'deki rakamlar için tüm ikili sayıları içeren diziyi oluşturma çabalarının ürünüdür :) (ssd =seven segment display)
const int number[11] = {0b1000000, 0b1111001, 0b0100100, 0b0110000, 0b0011001, 0b0010010, 0b0000010, 0b1111000, 0b0000000, 0b0010000};
void loop()
{
digitalWrite(14,LOW); //a
digitalWrite(15,LOW);//b
digitalWrite(16,LOW);//c
digitalWrite(17,LOW);//d
digitalWrite(18,LOW);//e
digitalWrite(19,LOW);//f
digitalWrite(20,HIGH);//g
delay(1000);//1 saniye bekletiyoruz
// 1 olması için sadece b ve c yanık olması gerekir
digitalWrite(14,HIGH); //a
digitalWrite(15,LOW);//b
digitalWrite(16,LOW);//c
digitalWrite(17,HIGH);//d
digitalWrite(18,HIGH);//e
digitalWrite(19,HIGH);//f
digitalWrite(20,HIGH);//g
delay(1000); //1 saniye bekletiyoruz
//2 rakamını oluşturabilmemiz için a,b,d,e,g harflerinin yakmamız gerekir
digitalWrite(14,LOW); //a
digitalWrite(15,LOW);//b
digitalWrite(16,HIGH);//c
digitalWrite(17,LOW);//d
digitalWrite(18,LOW);//e
digitalWrite(19,HIGH);//f
digitalWrite(20,LOW);//g
delay(1000); //1 saniye bekletiyoruz
//3 rakamını oluşturabilmemiz için a,b,c,d,g harflerini yakmamız gerekir
digitalWrite(14,LOW); //a
digitalWrite(15,LOW);//b
digitalWrite(16,LOW);//c
digitalWrite(17,LOW);//d
digitalWrite(18,HIGH);//e
digitalWrite(19,HIGH);//f
digitalWrite(20,LOW);//g
delay(1000); //1 saniye bekletiyoruz
//4 rakamını oluşturabilmemiz için b,c,f,g harflerini yakmamız gerekir
digitalWrite(14,HIGH); //a
digitalWrite(15,LOW);//b.
digitalWrite(16,LOW);//c.
digitalWrite(17,HIGH);//d
digitalWrite(18,HIGH);//e
digitalWrite(19,LOW);//f.
digitalWrite(20,LOW);//g.
delay(1000); //1 saniye bekletiyoruz
// 5 rakamını oluşturabilmemiz için a,c,d,f,g harflerini yakmamız gerekir
digitalWrite(14,LOW); //a
digitalWrite(15,HIGH);//b.
digitalWrite(16,LOW);//c
digitalWrite(17,LOW);//d
digitalWrite(18,HIGH);//e.
digitalWrite(19,LOW);//f
digitalWrite(20,LOW);//g
delay(1000); //1 saniye bekletiyoruz
// 6 rakamını oluşturabilmemiz için a,c,d,e,f,g harflerini yakmamız gerekir
digitalWrite(14,LOW); //a
digitalWrite(15,HIGH);//b.
digitalWrite(16,LOW);//c
digitalWrite(17,LOW);//d
digitalWrite(18,LOW);//e.
digitalWrite(19,LOW);//f
digitalWrite(20,LOW);//g
delay(1000); //1 saniye bekletiyoruz
}
void loop()
{
for (int tens = 0; tens < 10; tens++)
{
display_tens(tens);
}
}
void display_tens(const int tens)
{
int pin1, a, ones;
//pin1 1.SSD'nin pinleri ile alakalıdır.
for (pin1 = 0, a = 0; pin1 < 7; pin1++, a++)
{
digitalWrite(pin1, bitRead(number[tens], a));
}
for (ones = 0; ones < 10; ones++)
{
display_ones(ones);
delay(60000);
//300 ms periyotla sayılar bir bir artar.
}
}
void display_ones(const int x)
{ int pin2, b;
//pin2 2.SSD'nin pinleri ile alakalıdır.
for (pin2 = 7, b = 0; pin2 <= 13; pin2++, b++)
{
digitalWrite(pin2, bitRead(number[x], b));
}
}