#include "SevSeg.h"
SevSeg sevseg;
int r = 4;
int g = 3;
int b = 2;
int top = 5;
int topright = 6;
int topleft = 11;
int middle = 10;
int bottom = 8;
int bottomleft = 9;
int bottomright = 7;
void setup() {
byte segmentPins[] = {5, 6, 7, 8, 9, 10, 11};
byte hardwareConfig = COMMON_ANODE; // See README.md for options
bool updateWithDelays = false; // Default 'false' is Recommended
sevseg.begin(hardwareConfig, 1, 13, segmentPins, false,
false, false, false);
pinMode(r, OUTPUT); //red
pinMode(g, OUTPUT); //green
pinMode(b, OUTPUT); //blue
pinMode(5, OUTPUT);
pinMode(top, OUTPUT);
pinMode(topright, OUTPUT);
pinMode(topleft, OUTPUT);
pinMode(middle, OUTPUT);
pinMode(bottom, OUTPUT);
pinMode(bottomleft, OUTPUT);
pinMode(bottomright, OUTPUT);
}
void loop() {
sevseg.setNumber(3,1);
display_num(0);
display_num(1);
display_num(2);
display_num(3);
display_num(4);
display_num(5);
display_num(6);
display_num(7);
display_num(8);
display_num(9);
led_color(0,255,255);
delay(500);
led_color(0,0,255);
delay(1000);
led_color(255,0,255);
delay(500);
//0 = max value, 255 = off
}
void display_num(int number){
digitalWrite(top, LOW);
digitalWrite(topright, LOW);
digitalWrite(topleft, LOW);
digitalWrite(middle, LOW);
digitalWrite(bottom, LOW);
digitalWrite(bottomleft, LOW);
digitalWrite(bottomright, LOW);
if (number != 1,4){
digitalWrite(top, HIGH);
}
if (number != 5,6){
digitalWrite(topright, HIGH);
}
if (number != 1,2,3,7){
digitalWrite(topleft, HIGH);
}
if (number != 1,7){
digitalWrite(middle, HIGH);
}
if (number != 1,3,4,5,7,9){
digitalWrite(bottomleft, HIGH);
}
if (number != 2){
digitalWrite(bottomright, HIGH);
}
if (number != 1,4,7){
digitalWrite(bottom, HIGH);
}
}
void led_color(int red_value, int green_value,int blue_value)
{
analogWrite(r,red_value);
analogWrite(g,green_value);
analogWrite(b,blue_value);
}