// button pin
int button_pin = 5;
const int LDR_PIN = A0;
// 7 segment pins
int a_pin = 8;
int b_pin = 9;
int c_pin = 11;
int d_pin = 12;
int e_pin = 13;
int f_pin = 7;
int g_pin = 6;
int dp_pin = 10;
int pot1 ;
// RGB pins
int rgb_red_pin = 4;
int rgb_green_pin = 2;
// led pin
int led_pin = 3;
// potentiometer pin
int pot_pin = A1;
// system variables
int button_state, button_old_state;
int counter = 0;
int pot_value;
void setup() {
// button mode
pinMode(button_pin, INPUT_PULLUP);
// 7 segment modes
pinMode(a_pin, OUTPUT);
pinMode(b_pin, OUTPUT);
pinMode(c_pin, OUTPUT);
pinMode(d_pin, OUTPUT);
pinMode(e_pin, OUTPUT);
pinMode(f_pin, OUTPUT);
pinMode(g_pin, OUTPUT);
pinMode(dp_pin, OUTPUT);
// RGB mode
pinMode(rgb_red_pin, OUTPUT);
pinMode(rgb_green_pin, OUTPUT);
// led mode
pinMode(led_pin, OUTPUT);
// potentiometer mode
// pinMode(pot_pin, INPUT);
Serial.begin(9600);
}
void loop() {
int ldr_value = analogRead(LDR_PIN);
Serial.print("LDR value: ");
Serial.println(ldr_value);
delay(10); // wait for 1 second before reading again
readButton();
if(counter%2 == 1 && ldr_value>=511) {
digitalWrite(rgb_red_pin, LOW);
digitalWrite(rgb_green_pin, HIGH);
pot_value = analogRead(pot_pin);
pot1 =pot_value/113;
Serial.println(pot_value);
analogWrite(led_pin, pot_value/4);
}
else
{
digitalWrite(rgb_red_pin, HIGH);
digitalWrite(rgb_green_pin, LOW);
analogWrite(led_pin, 0);
}
if(counter == 0) {
zero();
} else if(counter == 1) {
one();
} else if(counter == 2) {
two();
} else if(counter == 3) {
three();
} else if(counter == 4) {
four();
} else if(counter == 5) {
five();
} else if(counter == 6) {
six();
} else if(counter == 7) {
seven();
} else if(counter == 8) {
eight();
} else if(counter== 9) {
nine();
}
}
void readButton() {
button_state = !digitalRead(button_pin);
if(button_state == 1 && button_old_state == 0) {
counter++;
if(counter == 10)
{
counter = 0;
}
}
else
{
delay(50);
}
button_old_state = button_state;
}
void clear() {
digitalWrite(a_pin, LOW);
digitalWrite(b_pin, LOW);
digitalWrite(c_pin, LOW);
digitalWrite(d_pin, LOW);
digitalWrite(e_pin, LOW);
digitalWrite(f_pin, LOW);
digitalWrite(g_pin, LOW);
}
void zero() {
digitalWrite(a_pin, 1);
digitalWrite(b_pin, 1);
digitalWrite(c_pin, 1);
digitalWrite(d_pin, 1);
digitalWrite(e_pin, 1);
digitalWrite(f_pin, 1);
digitalWrite(g_pin, 0);
}
void one() {
digitalWrite(a_pin, 0);
digitalWrite(b_pin, 1);
digitalWrite(c_pin, 1);
digitalWrite(d_pin, 0);
digitalWrite(e_pin, 0);
digitalWrite(f_pin, 0);
digitalWrite(g_pin, 0);
}
void two() {
digitalWrite(a_pin, 1);
digitalWrite(b_pin, 1);
digitalWrite(c_pin, 0);
digitalWrite(d_pin, 1);
digitalWrite(e_pin, 1);
digitalWrite(f_pin, 0);
digitalWrite(g_pin, 1);
}
void three() {
digitalWrite(a_pin, 1);
digitalWrite(b_pin, 1);
digitalWrite(c_pin, 1);
digitalWrite(d_pin, 1);
digitalWrite(e_pin, 0);
digitalWrite(f_pin, 0);
digitalWrite(g_pin, 1);
}
void four() {
digitalWrite(a_pin, 0);
digitalWrite(b_pin, 1);
digitalWrite(c_pin, 1);
digitalWrite(d_pin, 0);
digitalWrite(e_pin, 0);
digitalWrite(f_pin, 1);
digitalWrite(g_pin, 1);
}
void five() {
digitalWrite(a_pin, 1);
digitalWrite(b_pin, 0);
digitalWrite(c_pin, 1);
digitalWrite(d_pin, 1);
digitalWrite(e_pin, 0);
digitalWrite(f_pin, 1);
digitalWrite(g_pin, 1);
}
void six() {
digitalWrite(a_pin, 1);
digitalWrite(b_pin, 0);
digitalWrite(c_pin, 1);
digitalWrite(d_pin, 1);
digitalWrite(e_pin, 1);
digitalWrite(f_pin, 1);
digitalWrite(g_pin, 1);
}
void seven() {
digitalWrite(a_pin, 1);
digitalWrite(b_pin, 1);
digitalWrite(c_pin, 1);
digitalWrite(d_pin, 0);
digitalWrite(e_pin, 0);
digitalWrite(f_pin, 0);
digitalWrite(g_pin, 0);
}
void eight() {
digitalWrite(a_pin, 1);
digitalWrite(b_pin, 1);
digitalWrite(c_pin, 1);
digitalWrite(d_pin, 1);
digitalWrite(e_pin, 1);
digitalWrite(f_pin, 1);
digitalWrite(g_pin, 1);
}
void nine() {
digitalWrite(a_pin, 1);
digitalWrite(b_pin, 1);
digitalWrite(c_pin, 1);
digitalWrite(d_pin, 1);
digitalWrite(e_pin, 0);
digitalWrite(f_pin, 1);
digitalWrite(g_pin, 1);
}