I followed instruction how to drive 7 segment with adruino from this link: Make: Projects
Until on Programming Step, a bunch of error happened while I compiled the code. the original code is here: Make-Projects/_7_segment.pde at master · ril3y/Make-Projects · GitHub. But it showed some error, So, I tried to correct the code. here is my code.
#define A 8
#define B 9
#define C 2
#define D 3
#define E 4
#define F 5
#define G 6
void clr()
{
/*Clears the LED*/
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
}
void char_A()
{
digitalWrite(D, HIGH);
digitalWrite(E, LOW);
//digitalWrite(F, LOW);
digitalWrite(G, LOW);
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
}
void char_B()
{
//Displays B
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, LOW);
}
void char_C()
{
//Displays C
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, HIGH);
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
}
void char_D()
{
//Displays D
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, HIGH);
digitalWrite(G, LOW);
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
}
void char_E()
{
//Displays E
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
}
void char_F()
{
//Displays F
digitalWrite(D, HIGH);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
}
void one()
{
//Displays 1
digitalWrite(D, HIGH);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, HIGH);
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
}
void two()
{
//Displays 2
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, HIGH);
digitalWrite(G, LOW);
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, HIGH);
}
void three()
{
//Displays 3
digitalWrite(D, LOW);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, LOW);
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
}
void four()
{
//Displays 4
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
}
void five()
{
//Displays 5
digitalWrite(D, LOW);
digitalWrite(E, HIGH);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, LOW);
}
void six()
{
//Displays 6
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, LOW);
}
void seven()
{
//Displays 7
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
}
void eight()
{
//Displays 8
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
}
void nine()
{
//Displays 9
digitalWrite(D, LOW);
digitalWrite(E, HIGH);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
}
void zero()
{
//Displays 0
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, HIGH);
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
}
void LoopDisplay()
{
//Loop through all Chars and Numbers
char_A();
delay(1000);
char_B();
delay(1000);
char_C();
delay(1000);
char_D();
delay(1000);
char_E();
delay(1000);
char_F();
delay(1000);
one();
delay(1000);
two();
delay(1000);
three();
delay(1000);
four();
delay(1000);
five();
delay(1000);
six();
delay(1000);
seven();
delay(1000);
eight();
delay(1000);
nine();
delay(1000);
zero();
delay(1000);
}
void setup()
{
//Setup our pins
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(E, OUTPUT);
pinMode(F, OUTPUT);
pinMode(G, OUTPUT);
Serial.begin(9600); //Begin serial communcation
}
void loop()
{
Serial.println("Starting\n");
LoopDisplay();
}
And strange error message always appear. here it is.
seven_segment.cpp: In function 'void clr()':
seven_segment:17: error: 'F' was not declared in this scope
seven_segment.cpp: In function 'void char_B()':
seven_segment:38: error: 'F' was not declared in this scope
seven_segment.cpp: In function 'void char_C()':
seven_segment:50: error: 'F' was not declared in this scope
seven_segment.cpp: In function 'void char_D()':
seven_segment:62: error: 'F' was not declared in this scope
seven_segment.cpp: In function 'void char_E()':
seven_segment:74: error: 'F' was not declared in this scope
seven_segment.cpp: In function 'void char_F()':
seven_segment:86: error: 'F' was not declared in this scope
seven_segment.cpp: In function 'void one()':
seven_segment:98: error: 'F' was not declared in this scope
seven_segment.cpp: In function 'void two()':
seven_segment:110: error: 'F' was not declared in this scope
seven_segment.cpp: In function 'void three()':
seven_segment:122: error: 'F' was not declared in this scope
seven_segment.cpp: In function 'void four()':
seven_segment:134: error: 'F' was not declared in this scope
seven_segment.cpp: In function 'void five()':
seven_segment:146: error: 'F' was not declared in this scope
seven_segment.cpp: In function 'void six()':
seven_segment:158: error: 'F' was not declared in this scope
seven_segment.cpp: In function 'void seven()':
seven_segment:170: error: 'F' was not declared in this scope
seven_segment.cpp: In function 'void eight()':
seven_segment:182: error: 'F' was not declared in this scope
seven_segment.cpp: In function 'void nine()':
seven_segment:194: error: 'F' was not declared in this scope
seven_segment.cpp: In function 'void zero()':
seven_segment:206: error: 'F' was not declared in this scope
seven_segment.cpp: In function 'void setup()':
seven_segment:258: error: 'F' was not declared in this scope
See, "F" was not declared in every scope????
Then, I gave comment mark (using "//") on each line which contains "F" constant. Then I compiled and upload it successfully. I assume all pin works properly except pin 5 (which I set comment each "F" code related).
Why F constant couldn't be known in every procedure scope?