#include #line 1 #line 1 "C:\\Users\\kovam\\Documents\\Arduino\\sketch_apr20a\\sketch_apr20a.ino" /* * The debugging code assumes Arduino 0004, as it uses the new Serial.begin()-style functions */ // Output int Led1 = 2; // LED1, connected to digital pin 2 int Led2 = 3; // LED2, connected to digital pin 3 int Led3 = 4; // LED3, connected to digital pin 4 int Led4 = 5; // LED4, connected to digital pin 5 int Led5 = 6; // LED5, connected to digital pin 6 int Led6 = 7; // LED6, connected to digital pin 7 int Led7 = 8; // LED7, connected to digital pin 8 int Led8 = 9; // LED8, connected to digital pin 9 int Led9 = 10; // LED9, connected to digital pin 10 int Led10 = 11; // LED10, connected to digital pin 11 // Program variables int Led1Val = 255; // Variables to store the values to send to the pins int Led2Val = 1; // Initial values are full, and off int Led3Val = 1; int Led4Val = 1; int Led5Val = 1; int Led6Val = 1; int Led7Val = 1; int Led8Val = 1; int Led9Val = 1; int Led10Val = 1; const int lightPin = 52; int lightState = 0; int i = 0; // Loop counter int wait = 2; // 20ms (.02 second) delay; shorten for faster fades int DEBUG = 0; // DEBUG counter; if set to 1, will write values back via serial #line 22 "C:\\Users\\kovam\\Documents\\Arduino\\sketch_apr20a\\sketch_apr20a.ino" void setup(); #line 33 "C:\\Users\\kovam\\Documents\\Arduino\\sketch_apr20a\\sketch_apr20a.ino" void loop(); #line 22 void setup() { pinMode(Led1, OUTPUT); // sets the pins as output pinMode(Led2, OUTPUT); pinMode(Led3, OUTPUT); pinMode(Led4, OUTPUT); pinMode(Led5, OUTPUT); pinMode(Led6, OUTPUT); pinMode(Led7, OUTPUT); pinMode(Led8, OUTPUT); pinMode(Led9, OUTPUT); pinMode(Led10, OUTPUT); pinMode(lightPin, INPUT); if (DEBUG) { // If we want to see the pin values for debugging... Serial.begin(9600); // ...set up the serial ouput on 0004 style } } // Main program void loop() { i += 1; // Increment counter if (i < 255) // First phase of fades { Led1Val -= 1; // down Led2Val += 1; // up Led3Val = 1; // low Led4Val = 1; // low Led5Val = 1; // low Led6Val = 1; // low Led7Val = 1; // low Led8Val = 1; // low Led9Val = 1; // low Led10Val = 1; // low } else if (i < 509) // Second phase of fades { Led1Val = 1; // low Led2Val -= 1; // down Led3Val += 1; // up Led4Val = 1; // low Led5Val = 1; // low Led6Val = 1; // low Led7Val = 1; // low Led8Val = 1; // low Led9Val = 1; // low Led10Val = 1; // low } else if (i < 763) // Third phase of fades { Led1Val = 1; // low Led2Val = 1; // low Led3Val -= 1; // down Led4Val += 1; // up Led5Val = 1; // low Led6Val = 1; // low Led7Val = 1; // low Led8Val = 1; // low Led9Val = 1; // low Led10Val = 1; // low } else if (i < 1017) // Fourth phase of fades { Led1Val = 1; // low Led2Val = 1; // low Led3Val = 1; // low Led4Val -= 1; // down Led5Val += 1; // up Led6Val = 1; // low Led7Val = 1; // low Led8Val = 1; // low Led9Val = 1; // low Led10Val = 1; // low } else if (i < 1271) // Fifth phase of fades { Led1Val = 1; // low Led2Val = 1; // low Led3Val = 1; // low Led4Val = 1; // low Led5Val -= 1; // down Led6Val += 1; // up Led7Val = 1; // low Led8Val = 1; // low Led9Val = 1; // low Led10Val = 1; // low } else if (i < 1525) // Sixth phase of fades { Led1Val = 1; // low Led2Val = 1; // low Led3Val = 1; // low Led4Val = 1; // low Led5Val = 1; // low Led6Val -= 1; // down Led7Val += 1; // up Led8Val = 1; // low Led9Val = 1; // low Led10Val = 1; // low } else if (i < 1779) // Seventh phase of fades { Led1Val = 1; // low Led2Val = 1; // low Led3Val = 1; // low Led4Val = 1; // low Led5Val = 1; // low Led6Val = 1; // low Led7Val -= 1; // down Led8Val += 1; // up Led9Val = 1; // low Led10Val = 1; // low } else if (i < 2033) // Eight phase of fades { Led1Val = 1; // low Led2Val = 1; // low Led3Val = 1; // low Led4Val = 1; // low Led5Val = 1; // low Led6Val = 1; // low Led7Val = 1; // low Led8Val -= 1; // down Led9Val += 1; // up Led10Val = 1; // low } else if (i < 2287) // Ninth phase of fades { Led1Val = 1; // low Led2Val = 1; // low Led3Val = 1; // low Led4Val = 1; // low Led5Val = 1; // low Led6Val = 1; // low Led7Val = 1; // low Led8Val = 1; // low Led9Val -= 1; // down Led10Val += 1; // up } else if (i < 2541) // Tenth phase of fades { Led1Val += 1; // up Led2Val = 1; // low Led3Val = 1; // low Led4Val = 1; // low Led5Val = 1; // low Led6Val = 1; // low Led7Val = 1; // low Led8Val = 1; // low Led9Val = 1; // low Led10Val -= 1; // down } else // Re-set the counter, and start the fades again { i = 1; } lightState = digitalRead(lightPin); //analogWrite(Pin, Val); // Write current values to LED pins // analogWrite(Pin, Val); // analogWrite(Pin, Val); if (lightState == HIGH) { analogWrite(Led1, Led1Val); analogWrite(Led2, Led2Val); analogWrite(Led3, Led3Val); analogWrite(Led4, Led4Val); analogWrite(Led5, Led5Val); analogWrite(Led6, Led6Val); analogWrite(Led7, Led7Val); analogWrite(Led8, Led8Val); analogWrite(Led9, Led9Val); analogWrite(Led10, Led10Val); } else { analogWrite(Led1, 1); analogWrite(Led2, 1); analogWrite(Led3, 1); analogWrite(Led4, 1); analogWrite(Led5, 1); analogWrite(Led6, 1); analogWrite(Led7, 1); analogWrite(Led8, 1); analogWrite(Led9, 1); analogWrite(Led10, 1); } if (DEBUG) { // If we want to read the output DEBUG += 1; // Increment the DEBUG counter if (DEBUG > 10) // Print every 10 loops { DEBUG = 1; // Reset the counter Serial.print(i); // Serial commands in 0004 style Serial.print("\t"); // Print a tab Serial.print("R:"); // Indicate that output is value Serial.print(Led1Val); // Print value Serial.print("\t"); // Print a tab Serial.print("G:"); // Repeat for and ... Serial.print(Led2Val); Serial.print("\t"); Serial.print("B:"); Serial.println(Led3Val); // println, to end with a carriage return } } delay(wait); // Pause for 'wait' milliseconds before resuming the loop }