int LED_PIN[] = {25, 26, 27};
#define BTN 14
#define POT 12
int btn_value = 0;
int btn_count = 0;
int pot_value = 0;
int r_value[] = {255, 0, 0};
int g_value[] = {0, 255, 0};
int b_value[] = {0, 0, 255};
int PWM_CHANEL[] = {0, 1, 2};
int PWM_FREQUENCY = 1000;
int PWM_RESOLUTION = 8;
void setup() {
Serial.begin(115200);
Serial.println("Hello CPE345!!!");
pinMode(BTN, INPUT);
pinMode(POT, INPUT);
for(int i = 0; i < 3; i++){
pinMode(LED_PIN[i], OUTPUT);
}
for(int i = 0; i < 3; i++){
ledcSetup(PWM_CHANEL[i], PWM_FREQUENCY, PWM_RESOLUTION);
ledcAttachPin(LED_PIN[i], PWM_CHANEL[i]);
}
}
void loop() {
btn_value = digitalRead(BTN);
pot_value = analogRead(POT);
int map_value = map(pot_value, 0, 4095, 0, 255);
if(btn_value != 1){
btn_count++;
if(btn_count > 3){
btn_count = 1;
}
for(int i = 0; i < 3; i++){
if(btn_count == 1){
ledcWrite(PWM_CHANEL[i], r_value[i]);
}
if(btn_count == 2){
ledcWrite(PWM_CHANEL[i], g_value[i]);
}
if(btn_count == 3){
ledcWrite(PWM_CHANEL[i], b_value[i]);
}
delay(500);
}
}else if(btn_count == 1){
if(btn_value == 1){
ledcWrite(PWM_CHANEL[0], map_value);
Serial.print("--> It's RED!!");
Serial.println("--> It's VALUE FROM ANALOG : " + String(pot_value));
delay(100);
}
}else if(btn_count == 2){
if(btn_value == 1){
ledcWrite(PWM_CHANEL[1], map_value);
Serial.print("--> It's GREEN!!");
Serial.println("--> It's VALUE FROM ANALOG : " + String(pot_value));
delay(100);
}
}else if(btn_count == 3){
if(btn_value == 1){
ledcWrite(PWM_CHANEL[2], map_value);
Serial.print("--> It's BLUE!!");
Serial.println("--> It's VALUE FROM ANALOG : " + String(pot_value));
delay(100);
}
}
}