#define pPin A0
#define RLED 2
#define YLED 3
#define GLED 4
#define btPin 5
int Vpot;
int val;
int Val;
bool btcase = true;
int btstate;
int btval = 0;
int c;
void setup() {
pinMode(pPin, INPUT);
pinMode(btPin, INPUT);
pinMode(RLED, OUTPUT);
pinMode(YLED, OUTPUT);
pinMode(GLED, OUTPUT);
Serial.begin(9600);
}
int Valpot(){
Val = analogRead(pPin);
if (Val == 0) {
Val = 0;
}
else if (Val < 255) {
Val = 1;
}
else if (Val < 510) {
Val = 2;
}
else if (Val < 765) {
Val = 3;
}
else if (Val == 1023) {
Val = 5;
}
else {
Val = 4;
}
return Val;
}
int butoncase(){
btstate = digitalRead(btPin);
if (btstate == 1) {
btcase = !btcase;
Serial.println("Button press");
}
if (btcase == true){
c = 1;
}
else {
c = 2;
}
Serial.print("case ");
Serial.println(c);
return btcase;
}
void loop() {
Vpot = Valpot();
btcase = butoncase();
if (btcase == true){
switch(Vpot)
{
case 0:
digitalWrite(RLED, 0);
digitalWrite(YLED, 0);
digitalWrite(GLED, 0);
break;
case 1:
digitalWrite(RLED, 1);
digitalWrite(YLED, 0);
digitalWrite(GLED, 0);
break;
case 2:
digitalWrite(RLED, 1);
digitalWrite(YLED, 1);
digitalWrite(GLED, 0);
break;
default:
digitalWrite(RLED, 1);
digitalWrite(YLED, 1);
digitalWrite(GLED, 1);
break;
}
}
else{
switch(Vpot)
{
case 0:
digitalWrite(RLED, 0);
digitalWrite(YLED, 0);
digitalWrite(GLED, 0);
break;
case 1:
digitalWrite(RLED, 0);
digitalWrite(YLED, 0);
digitalWrite(GLED, 1);
break;
case 2:
digitalWrite(RLED, 0);
digitalWrite(YLED, 1);
digitalWrite(GLED, 1);
break;
default:
digitalWrite(RLED, 1);
digitalWrite(YLED, 1);
digitalWrite(GLED, 1);
break;
}
}
Serial.print("Vpot = ");
Serial.println(Vpot);
delay(1000);
}