Hey guys, brand new to Arduino, just started to look at programming and I find the easiest way for me to learn some of the new concepts is by dissecting and reverse engineering existing code. I came across this one, a program to convert resistor values, and while there are parts like the loops that make sense there are others I'm just not understanding. Was wondering if anyone could help me understand what's going?
/*
*/
void setup()
{
Serial.begin(9600);
}
void loop()
{
int id[10];
int index = 0;
while (Serial.available())
{
id[index] = Serial.read() - 48;
if (id[index] < 0) {
id[index] = 0;
}
else
{
index = index + 1;
}
}
if (index > 0)
{
for (int i = 0; i < index ; i++)
Serial.print(id[i]);
Serial.print(" Ohm resistor is\t");
switch (id[0]) {
case 0:
Serial.print("Black");
break;
case 1:
Serial.print("Brown");
break;
case 2:
Serial.print("Red");
break;
case 3:
Serial.print("Orange");
break;
case 4:
Serial.print("Yellow");
break;
case 5:
Serial.print("Green");
break;
case 6:
Serial.print("Blue");
break;
case 7:
Serial.print("Violet");
break;
case 8:
Serial.print("Grey");
break;
case 9:
Serial.print("White");
break;
}
Serial.print("\t");
switch (id[1]) {
case 0:
Serial.print("Black");
break;
case 1:
Serial.print("Brown");
break;
case 2:
Serial.print("Red");
break;
case 3:
Serial.print("Orange");
break;
case 4:
Serial.print("Yellow");
break;
case 5:
Serial.print("Green");
break;
case 6:
Serial.print("Blue");
break;
case 7:
Serial.print("Violet");
break;
case 8:
Serial.print("Grey");
break;
case 9:
Serial.print("White");
break;
}
Serial.print("\t");
switch (index - 2) {
case 0:
Serial.print("Black");
break;
case 1:
Serial.print("Brown");
break;
case 2:
Serial.print("Red");
break;
case 3:
Serial.print("Orange");
break;
case 4:
Serial.print("Yellow");
break;
case 5:
Serial.print("Green");
break;
case 6:
Serial.print("Blue");
break;
case 7:
Serial.print("Violet");
break;
case 8:
Serial.print("Grey");
break;
case 9:
Serial.print("White");
break;
}
Serial.println("");
index = 0;
delay(1000);
}
delay(1000);
}