Hey guys.
I'm putting together a prototype in Arduino that uses serially communicated characters sent by a processing program on my computer to trigger LEDs to go on, off, or blink. Well, I have about 6 LEDs and about 2-4 if statements for each one. I haven't put it on my Arduino yet because I don't have it around, but it seems a little big to me and I'm concerned if it'll fit. Is there any way I can streamline this?
int prepPin = 11; //Precipitation LED
int temp1Pin = 10;//Temp LED 1-20 Degrees
int temp2Pin = 9; //Temp LED 21-40 Degrees
int temp3Pin = 6; //Temp LED 41-60 Degrees
int temp4Pin = 5; //Temp LED 61-80 Degrees
int temp5Pin = 3; //Temp LED 81-100 Degrees
int val = 0;
void setup()
{
pinMode(prepPin, OUTPUT);
pinMode(temp1Pin, OUTPUT);
pinMode(temp2Pin, OUTPUT);
pinMode(temp3Pin, OUTPUT);
pinMode(temp4Pin, OUTPUT);
pinMode(temp5Pin, OUTPUT);
Serial.begin(9600);
}
void loop(){
if(Serial.available()){
val = Serial.read();
if (val == 'A'){
Serial.print('val');
digitalWrite(temp1Pin, HIGH); //LED turns on
}
if (val == 'a'){
Serial.print('val');
digitalWrite(temp1Pin, LOW);
delay(1000);
digitalWrite(temp1Pin, HIGH);
delay(1000); //LED blinks
}
if (val == 'B'){
Serial.print('val');
digitalWrite(temp2Pin, HIGH);
}
if (val == 'b'){
Serial.print('val');
digitalWrite(temp2Pin, LOW);
delay(1000);
digitalWrite(temp2Pin, HIGH);
delay(1000); //LED blinks
}
if (val == '2'){
Serial.print('val');
digitalWrite(temp2Pin, LOW);
}
if (val == 'C'){
Serial.print('val');
digitalWrite(temp3Pin, HIGH);
}
if (val == 'c'){
Serial.print('val');
digitalWrite(temp3Pin, LOW);
delay(1000);
digitalWrite(temp3Pin, HIGH);
delay(1000); //LED blinks
}
if (val == '3'){
Serial.print('val');
digitalWrite(temp3Pin, LOW);
}
if (val == 'D'){
Serial.print('val');
digitalWrite(temp4Pin, HIGH);
}
if (val == 'd'){
Serial.print('val');
digitalWrite(temp4Pin, LOW);
delay(1000);
digitalWrite(temp4Pin, HIGH);
delay(1000); //LED blinks
}
if (val == '4'){
Serial.print('val');
digitalWrite(temp4Pin, LOW);
}
if (val == 'E'){
Serial.print('val');
digitalWrite(temp5Pin, HIGH);
}
if (val == 'e'){
Serial.print('val');
digitalWrite(temp5Pin, LOW);
delay(1000);
digitalWrite(temp5Pin, HIGH);
delay(1000); //LED blinks
}
if (val == '5'){
Serial.print('val');
digitalWrite(temp5Pin, LOW);
}
if (val == '0')_
Serial.print('val');
digitalWrite(prepPin, LOW);
}
if (val == 'W'){
Serial.print('val');
digitalWrite(prepPin, LOW);
delay(1000);
digitalWrite(prepPin, HIGH);
delay(1000); //LED blinks
}
if (val == 'X'){
Serial.print('val');
digitalWrite(prepPin, LOW);
delay(500);
digitalWrite(prepPin, HIGH);
delay(500);
}
if (val == 'Y'){
Serial.print('val');
digitalWrite(prepPin, LOW);
delay(250);
digitalWrite(prepPin, HIGH);
delay(250);
}
if (val == 'Z'){
Serial.print('val');
digitalWrite(prepPin, LOW);
delay(125);
digitalWrite(prepPin, HIGH);
delay(125);
}
}
}