Hey,
I've set up a common anode 7 segment display and made the code for a seperate library that I havn't got around to yet.
Something further I want to do with my code is be able to read a pre-assigned character data type, or one that's input from serial through the IDE. And somehow what the value of char is it needs to be divided up into each character and display the function it's assigned to.
For example:
If I enter 3.141592654 in the IDE serial monitor, it will save what is entered as a char. Then read and perform the '_3_on()' and so on.
Here is the code for those who want it:
#define greenLED 1
#define redLED 0
#define yellowLED 13
#define segA 3
#define segB 2
#define segC 8
#define segD 7
#define segE 6
#define segF 4
#define segG 5
#define segDP 9
void setup()
{
pinMode(greenLED, OUTPUT);
pinMode(redLED, OUTPUT);
pinMode(yellowLED, OUTPUT);
pinMode(segA, OUTPUT);
pinMode(segB, OUTPUT);
pinMode(segC, OUTPUT);
pinMode(segD, OUTPUT);
pinMode(segE, OUTPUT);
pinMode(segF, OUTPUT);
pinMode(segG, OUTPUT);
pinMode(segDP, OUTPUT);
}
void loop()
{
digitalWrite(redLED, HIGH);
delay(1000);
digitalWrite(redLED, LOW);
digitalWrite(yellowLED, HIGH);
delay(1000);
digitalWrite(yellowLED, LOW);
digitalWrite(greenLED, HIGH);
delay(1000);
digitalWrite(greenLED, LOW);
_0_on();
delay(1000);
_0_off();
_1_on();
delay(1000);
_1_off();
_2_on();
delay(1000);
_2_off();
_3_on();
delay(1000);
_3_off();
_4_on();
delay(1000);
_4_off();
_5_on();
delay(1000);
_5_off();
_6_on();
delay(1000);
_6_off();
_7_on();
delay(1000);
_7_off();
_8_on();
delay(1000);
_8_off();
_9_on();
delay(1000);
_9_off();
_DP_on();
delay(1000);
_DP_off();
}
void _0_on()
{
digitalWrite(segA, LOW);
digitalWrite(segB, LOW);
digitalWrite(segC, LOW);
digitalWrite(segD, LOW);
digitalWrite(segE, LOW);
digitalWrite(segF, LOW);
}
void _0_off()
{
digitalWrite(segA, HIGH);
digitalWrite(segB, HIGH);
digitalWrite(segC, HIGH);
digitalWrite(segD, HIGH);
digitalWrite(segE, HIGH);
digitalWrite(segF, HIGH);
}
void _1_on()
{
digitalWrite(segB, LOW);
digitalWrite(segC, LOW);
}
void _1_off()
{
digitalWrite(segB, HIGH);
digitalWrite(segC, HIGH);
}
void _2_on()
{
digitalWrite(segA, LOW);
digitalWrite(segB, LOW);
digitalWrite(segG, LOW);
digitalWrite(segE, LOW);
digitalWrite(segD, LOW);
}
void _2_off()
{
digitalWrite(segA, HIGH);
digitalWrite(segB, HIGH);
digitalWrite(segG, HIGH);
digitalWrite(segE, HIGH);
digitalWrite(segD, HIGH);
}
void _3_on()
{
digitalWrite(segA, LOW);
digitalWrite(segB, LOW);
digitalWrite(segG, LOW);
digitalWrite(segC, LOW);
digitalWrite(segD, LOW);
}
void _3_off()
{
digitalWrite(segA, HIGH);
digitalWrite(segB, HIGH);
digitalWrite(segG, HIGH);
digitalWrite(segC, HIGH);
digitalWrite(segD, HIGH);
}
void _4_on()
{
digitalWrite(segF, LOW);
digitalWrite(segG, LOW);
digitalWrite(segB, LOW);
digitalWrite(segC, LOW);
}
void _4_off()
{
digitalWrite(segF, HIGH);
digitalWrite(segG, HIGH);
digitalWrite(segB, HIGH);
digitalWrite(segC, HIGH);
}
void _5_on()
{
digitalWrite(segA, LOW);
digitalWrite(segF, LOW);
digitalWrite(segG, LOW);
digitalWrite(segC, LOW);
digitalWrite(segD, LOW);
}
void _5_off()
{
digitalWrite(segA, HIGH);
digitalWrite(segF, HIGH);
digitalWrite(segG, HIGH);
digitalWrite(segC, HIGH);
digitalWrite(segD, HIGH);
}
void _6_on()
{
digitalWrite(segA, LOW);
digitalWrite(segF, LOW);
digitalWrite(segE, LOW);
digitalWrite(segD, LOW);
digitalWrite(segC, LOW);
digitalWrite(segG, LOW);
}
void _6_off()
{
digitalWrite(segA, HIGH);
digitalWrite(segF, HIGH);
digitalWrite(segC, HIGH);
digitalWrite(segE, HIGH);
digitalWrite(segD, HIGH);
digitalWrite(segG, HIGH);
}
void _7_on()
{
digitalWrite(segA, LOW);
digitalWrite(segB, LOW);
digitalWrite(segC, LOW);
}
void _7_off()
{
digitalWrite(segA, HIGH);
digitalWrite(segB, HIGH);
digitalWrite(segC, HIGH);
}
void _8_on()
{
digitalWrite(segA, LOW);
digitalWrite(segF, LOW);
digitalWrite(segG, LOW);
digitalWrite(segC, LOW);
digitalWrite(segD, LOW);
digitalWrite(segE, LOW);
digitalWrite(segB, LOW);
}
void _8_off()
{
digitalWrite(segA, HIGH);
digitalWrite(segF, HIGH);
digitalWrite(segG, HIGH);
digitalWrite(segC, HIGH);
digitalWrite(segD, HIGH);
digitalWrite(segE, HIGH);
digitalWrite(segB, HIGH);
}
void _9_on()
{
digitalWrite(segA, LOW);
digitalWrite(segF, LOW);
digitalWrite(segG, LOW);
digitalWrite(segB, LOW);
digitalWrite(segC, LOW);
digitalWrite(segD, LOW);
}
void _9_off()
{
digitalWrite(segA, HIGH);
digitalWrite(segF, HIGH);
digitalWrite(segG, HIGH);
digitalWrite(segB, HIGH);
digitalWrite(segC, HIGH);
digitalWrite(segD, HIGH);
}
void _DP_on()
{
digitalWrite(segDP, LOW);
}
void _DP_off()
{
digitalWrite(segDP, HIGH);
}