#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(15, 4, 16, 17, 18, 19);
const int ledR = 26;
const int ledG = 25;
const int ledB = 23;
int color = 0;
void setup() {
lcd.begin(16, 2);
lcd.print("Color:");
pinMode(ledR, OUTPUT);
pinMode(ledG, OUTPUT);
pinMode(ledB, OUTPUT);
Serial.begin(115200);
}
void loop() {
if (Serial.available() > 0) {
color = Serial.read() - '0';
if (color >= 1 && color <= 5) {
setColor(color);
lcd.setCursor(7, 0);
lcd.print(" ");
lcd.setCursor(7, 0);
lcd.print(color);
}
}
}
void setColor(int c) {
analogWrite(ledR, 0);
analogWrite(ledG, 0);
analogWrite(ledB, 0);
switch (c) {
case 1:
analogWrite(ledR, 255);
break;
case 2:
analogWrite(ledG, 255);
break;
case 3:
analogWrite(ledB, 255);
break;
case 4:
analogWrite(ledR, 255);
analogWrite(ledG, 255);
break;
case 5:
analogWrite(ledR, 255);
analogWrite(ledB, 255);
break;
}
}