7 Segment

Hi am new to arduino uno and i want to do a 7 segment circuit with common anode but a litle harder from the first code. Please see the second code and help me. What should i do to be right?

First Code:

void setup() {
  pinMode(13, OUTPUT); // b
  pinMode(12, OUTPUT); // a
  pinMode(11, OUTPUT); // f
  pinMode(10, OUTPUT); // g
  pinMode(9, OUTPUT); // c
  pinMode(8, OUTPUT); // d
  pinMode(7, OUTPUT); // e
}

void loop() {              // 0
  digitalWrite(13, LOW); // b
  digitalWrite(12, LOW); // a
  digitalWrite(11, LOW); // f
  digitalWrite(10, HIGH); // g
  digitalWrite(9, LOW); // c
  digitalWrite(8, LOW); // d
  digitalWrite(7, LOW); // e
  delay(1000);              // 1             
  digitalWrite(13, LOW); // b
  digitalWrite(12, HIGH); // a
  digitalWrite(11, HIGH); // f
  digitalWrite(10, HIGH); // g
  digitalWrite(9, LOW); // c
  digitalWrite(8, HIGH); // d
  digitalWrite(7, HIGH); // e
  delay(1000);              // 2
  digitalWrite(13, LOW); // b
  digitalWrite(12, LOW); // a
  digitalWrite(11, HIGH); // f
  digitalWrite(10, LOW); // g
  digitalWrite(9, HIGH); // c
  digitalWrite(8, LOW); // d
  digitalWrite(7, LOW); // e
  delay(1000);              // 3
  digitalWrite(13, LOW); // b
  digitalWrite(12, LOW); // a
  digitalWrite(11, HIGH); // f
  digitalWrite(10, LOW); // g
  digitalWrite(9, LOW); // c
  digitalWrite(8, LOW); // d
  digitalWrite(7, HIGH); // e
  delay(1000);              // 4
  digitalWrite(13, LOW); // b
  digitalWrite(12, HIGH); // a
  digitalWrite(11, LOW); // f
  digitalWrite(10, LOW); // g
  digitalWrite(9, LOW); // c
  digitalWrite(8, HIGH); // d
  digitalWrite(7, HIGH); // e
  delay(1000);              // 5
  digitalWrite(13, HIGH);  // b
  digitalWrite(12, LOW); // a
  digitalWrite(11, LOW); // f
  digitalWrite(10, LOW); // g
  digitalWrite(9, LOW); // c
  digitalWrite(8, LOW); // d
  digitalWrite(7, HIGH); // e
  delay(1000);              //6
  digitalWrite(13, HIGH);  // b
  digitalWrite(12, LOW); // a
  digitalWrite(11, LOW); // f
  digitalWrite(10, LOW); // g
  digitalWrite(9, LOW); // c
  digitalWrite(8, LOW); // d
  digitalWrite(7, LOW); // e
  delay(1000);              //7
  digitalWrite(13, LOW);  // b
  digitalWrite(12, LOW); // a
  digitalWrite(11, HIGH); // f
  digitalWrite(10, HIGH); // g
  digitalWrite(9, LOW); // c
  digitalWrite(8, HIGH); // d
  digitalWrite(7, HIGH); // e
  delay(1000);              //8
  digitalWrite(13, LOW);  // b
  digitalWrite(12, LOW); // a
  digitalWrite(11, LOW); // f
  digitalWrite(10, LOW); // g
  digitalWrite(9, LOW); // c
  digitalWrite(8, LOW); // d
  digitalWrite(7, LOW); // e
  delay(1000);              //9
  digitalWrite(13, LOW);  // b
  digitalWrite(12, LOW); // a
  digitalWrite(11, LOW); // f
  digitalWrite(10, LOW); // g
  digitalWrite(9, LOW); // c
  digitalWrite(8, LOW); // d
  digitalWrite(7, HIGH); // e
  delay(1000);
}

Second Code:

const int led_a = 2;
const int led_b = 3;
const int led_c = 4;
const int led_d = 5;
const int led_e = 6;
const int led_f = 7;
const int led_g = 8;
const int led_DP = 9;

const int N_0 = led_a + led_b + led_c + led_d + led_e + led_f;
const int N_1 = led_b + led_c;
const int N_2 = led_a + led_b + led_d + led_e + led_f;
const int N_3 = led_a + led_b + led_c + led_d + led_g;
const int N_4 = led_b + led_c + led_f + led_g;
const int N_5 = led_a + led_c + led_d + led_f + led_g;
const int N_6 = led_a + led_c + led_d + led_e + led_f + led_g;
const int N_7 = led_a + led_b + led_c;
const int N_8 = led_a + led_b + led_c + led_d + led_e + led_f + led_g;
const int N_9 = led_a + led_b + led_c + led_d + led_f + led_g;

void setup() {

  pinMode(led_a, OUTPUT);
  pinMode(led_b, OUTPUT);
  pinMode(led_c, OUTPUT);
  pinMode(led_d, OUTPUT);
  pinMode(led_e, OUTPUT);
  pinMode(led_f, OUTPUT);
  pinMode(led_g, OUTPUT);
  pinMode(led_DP, OUTPUT);
}

void loop() {
  digitalWrite(N_0, LOW);
  delay(1000);
  digitalWrite(N_1, LOW);
  delay(1000);
  digitalWrite(N_2, LOW);
  delay(1000);
  digitalWrite(N_3, LOW);
  delay(1000);
  digitalWrite(N_4, LOW);
  delay(1000);
  digitalWrite(N_5, LOW);
  delay(1000);
  digitalWrite(N_6, LOW);
  delay(1000);
  digitalWrite(N_7, LOW);
  delay(1000);
  digitalWrite(N_8, LOW);
  delay(1000);
  digitalWrite(N_9, LOW);
  delay(1000);
}
const int N_0 = led_a + led_b + led_c + led_d + led_e + led_f;

Can you explain your thinking there, please?

Unless overloaded, the "+" operator has exactly the same meaning in C/C++ as it does in life.

AWOL:

const int N_0 = led_a + led_b + led_c + led_d + led_e + led_f;

Can you explain your thinking there, please?

Unless overloaded, the "+" operator has exactly the same meaning in C/C++ as it does in life.

I want α command that turn on and off the leds...the N_1 turn on the leds led_b and led_c ... i dont want to write it as:

digitalWrite(led_b, LOW);
digitalWrite(led_c, LOW);
...
i want something like digitalWrite(N_1, LOW); (when i use this command turn on both leds...i have common anode)
...
i know...i don't have right syntax to the program but i don't know the correct!

hi

you need a Function.
its a code to create your own syntax code.

void FUNCTION (){
}

so to put it inside your code

void setup() {
  pinMode(13, OUTPUT); // b
  pinMode(12, OUTPUT); // a
  pinMode(11, OUTPUT); // f
  pinMode(10, OUTPUT); // g
  pinMode(9, OUTPUT); // c
  pinMode(8, OUTPUT); // d
  pinMode(7, OUTPUT); // e
}


void loop() {
  byte i; 
  i++;
  Num(i); // <--- Function!!!
  delay(1000);
}


void Num (byte Num) {
  if (Num == 0) { // 0
    digitalWrite(13, LOW); // b
    digitalWrite(12, LOW); // a
    digitalWrite(11, LOW); // f
    digitalWrite(10, HIGH); // g
    digitalWrite(9, LOW); // c
    digitalWrite(8, LOW); // d
    digitalWrite(7, LOW); // e
  } else if (Num == 1) { // 1
    digitalWrite(13, LOW); // b
    digitalWrite(12, HIGH); // a
    digitalWrite(11, HIGH); // f
    digitalWrite(10, HIGH); // g
    digitalWrite(9, LOW); // c
    digitalWrite(8, HIGH); // d
    digitalWrite(7, HIGH); // e
  } else if (Num == 2) {            // 2
    digitalWrite(13, LOW); // b
    digitalWrite(12, LOW); // a
    digitalWrite(11, HIGH); // f
    digitalWrite(10, LOW); // g
    digitalWrite(9, HIGH); // c
    digitalWrite(8, LOW); // d
    digitalWrite(7, LOW); // e
  } else if (Num == 3) {             // 3
    digitalWrite(13, LOW); // b
    digitalWrite(12, LOW); // a
    digitalWrite(11, HIGH); // f
    digitalWrite(10, LOW); // g
    digitalWrite(9, LOW); // c
    digitalWrite(8, LOW); // d
    digitalWrite(7, HIGH); // e
  } else if (Num == 4) {             // 4
    digitalWrite(13, LOW); // b
    digitalWrite(12, HIGH); // a
    digitalWrite(11, LOW); // f
    digitalWrite(10, LOW); // g
    digitalWrite(9, LOW); // c
    digitalWrite(8, HIGH); // d
    digitalWrite(7, HIGH); // e
  } else if (Num == 5) {            // 5
    digitalWrite(13, HIGH);  // b
    digitalWrite(12, LOW); // a
    digitalWrite(11, LOW); // f
    digitalWrite(10, LOW); // g
    digitalWrite(9, LOW); // c
    digitalWrite(8, LOW); // d
    digitalWrite(7, HIGH); // e
  } else if (Num == 6) {             //6
    digitalWrite(13, HIGH);  // b
    digitalWrite(12, LOW); // a
    digitalWrite(11, LOW); // f
    digitalWrite(10, LOW); // g
    digitalWrite(9, LOW); // c
    digitalWrite(8, LOW); // d
    digitalWrite(7, LOW); // e
  } else if (Num == 7) {            //7
    digitalWrite(13, LOW);  // b
    digitalWrite(12, LOW); // a
    digitalWrite(11, HIGH); // f
    digitalWrite(10, HIGH); // g
    digitalWrite(9, LOW); // c
    digitalWrite(8, HIGH); // d
    digitalWrite(7, HIGH); // e
  } else if (Num == 8) {             //8
    digitalWrite(13, LOW);  // b
    digitalWrite(12, LOW); // a
    digitalWrite(11, LOW); // f
    digitalWrite(10, LOW); // g
    digitalWrite(9, LOW); // c
    digitalWrite(8, LOW); // d
    digitalWrite(7, LOW); // e
  } else if (Num == 9) {            //9
    digitalWrite(13, LOW);  // b
    digitalWrite(12, LOW); // a
    digitalWrite(11, LOW); // f
    digitalWrite(10, LOW); // g
    digitalWrite(9, LOW); // c
    digitalWrite(8, LOW); // d
    digitalWrite(7, HIGH); // e
  }
}

spirit:
hi

you need a Function.
its a code to create your own syntax code.

void FUNCTION (){

}




so to put it inside your code



void setup() {
 pinMode(13, OUTPUT); // b
 pinMode(12, OUTPUT); // a
 pinMode(11, OUTPUT); // f
 pinMode(10, OUTPUT); // g
 pinMode(9, OUTPUT); // c
 pinMode(8, OUTPUT); // d
 pinMode(7, OUTPUT); // e
}

void loop() {
 byte i;
 i++;
 Num(i); // <--- Function!!!
 delay(1000);
}

void Num (byte Num) {
 if (Num == 0) { // 0
   digitalWrite(13, LOW); // b
   digitalWrite(12, LOW); // a
   digitalWrite(11, LOW); // f
   digitalWrite(10, HIGH); // g
   digitalWrite(9, LOW); // c
   digitalWrite(8, LOW); // d
   digitalWrite(7, LOW); // e
 } else if (Num == 1) { // 1
   digitalWrite(13, LOW); // b
   digitalWrite(12, HIGH); // a
   digitalWrite(11, HIGH); // f
   digitalWrite(10, HIGH); // g
   digitalWrite(9, LOW); // c
   digitalWrite(8, HIGH); // d
   digitalWrite(7, HIGH); // e
 } else if (Num == 2) {            // 2
   digitalWrite(13, LOW); // b
   digitalWrite(12, LOW); // a
   digitalWrite(11, HIGH); // f
   digitalWrite(10, LOW); // g
   digitalWrite(9, HIGH); // c
   digitalWrite(8, LOW); // d
   digitalWrite(7, LOW); // e
 } else if (Num == 3) {             // 3
   digitalWrite(13, LOW); // b
   digitalWrite(12, LOW); // a
   digitalWrite(11, HIGH); // f
   digitalWrite(10, LOW); // g
   digitalWrite(9, LOW); // c
   digitalWrite(8, LOW); // d
   digitalWrite(7, HIGH); // e
 } else if (Num == 4) {             // 4
   digitalWrite(13, LOW); // b
   digitalWrite(12, HIGH); // a
   digitalWrite(11, LOW); // f
   digitalWrite(10, LOW); // g
   digitalWrite(9, LOW); // c
   digitalWrite(8, HIGH); // d
   digitalWrite(7, HIGH); // e
 } else if (Num == 5) {            // 5
   digitalWrite(13, HIGH);  // b
   digitalWrite(12, LOW); // a
   digitalWrite(11, LOW); // f
   digitalWrite(10, LOW); // g
   digitalWrite(9, LOW); // c
   digitalWrite(8, LOW); // d
   digitalWrite(7, HIGH); // e
 } else if (Num == 6) {             //6
   digitalWrite(13, HIGH);  // b
   digitalWrite(12, LOW); // a
   digitalWrite(11, LOW); // f
   digitalWrite(10, LOW); // g
   digitalWrite(9, LOW); // c
   digitalWrite(8, LOW); // d
   digitalWrite(7, LOW); // e
 } else if (Num == 7) {            //7
   digitalWrite(13, LOW);  // b
   digitalWrite(12, LOW); // a
   digitalWrite(11, HIGH); // f
   digitalWrite(10, HIGH); // g
   digitalWrite(9, LOW); // c
   digitalWrite(8, HIGH); // d
   digitalWrite(7, HIGH); // e
 } else if (Num == 8) {             //8
   digitalWrite(13, LOW);  // b
   digitalWrite(12, LOW); // a
   digitalWrite(11, LOW); // f
   digitalWrite(10, LOW); // g
   digitalWrite(9, LOW); // c
   digitalWrite(8, LOW); // d
   digitalWrite(7, LOW); // e
 } else if (Num == 9) {            //9
   digitalWrite(13, LOW);  // b
   digitalWrite(12, LOW); // a
   digitalWrite(11, LOW); // f
   digitalWrite(10, LOW); // g
   digitalWrite(9, LOW); // c
   digitalWrite(8, LOW); // d
   digitalWrite(7, HIGH); // e
 }
}

Thanx for your help...i did this code in the loop and works perfect

void loop() {  
  
  byte i; 
  i=0;
  for (int x=0; x<10; x++){
  Num(i);
  i=i+1;
  delay(400);
  
  }
 
}

its a code to create your own syntax code.

Please don't - making up your own syntax is a recipe for disaster.