| 
    
       //
 
     | 
  
  
     | 
    
       // By Kyle McDonald
 
     | 
  
  
     | 
    
       // From the instructables project at:
 
     | 
  
  
     | 
    
       // http://www.instructables.com/id/DIY-3D-Controller/
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       #define resolution 8
 
     | 
  
  
     | 
    
       #define mains 50 // 60: north america, japan; 50: most other places
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       #define refresh 2 * 1000000 / mains
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       const long V_GRUNN = 5845;
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       const long B_GRUNN = 6090;
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       const long H_GRUNN = 5845;
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       void setup() {
 
     | 
  
  
     | 
    
         Serial.begin(9600);
 
     | 
  
  
     | 
    
         
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
         // Utgangar fyrir LED
 
     | 
  
  
     | 
    
         // settir i LOW
 
     | 
  
  
     | 
    
         for(int i = 0; i < 14; i++) {
 
     | 
  
  
     | 
    
           pinMode(i, OUTPUT);
 
     | 
  
  
     | 
    
           digitalWrite(i, LOW);
 
     | 
  
  
     | 
    
         }
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
         // Inngangar fra thettum
 
     | 
  
  
     | 
    
         for(int i = 8; i < 11; i++) {
 
     | 
  
  
     | 
    
           pinMode(i, INPUT);
 
     | 
  
  
     | 
    
           digitalWrite(i, HIGH);
 
     | 
  
  
     | 
    
         }
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
           pinMode(A0, OUTPUT); // Breyta Analog inputs to Digital
 
     | 
  
  
     | 
    
           digitalWrite(A0, HIGH); // Jord fyrir 1 haed
 
     | 
  
  
     | 
    
           pinMode(A1, OUTPUT);
 
     | 
  
  
     | 
    
           digitalWrite(A1, HIGH); // Jord fyrir 2 haed
 
     | 
  
  
     | 
    
           pinMode(A2, OUTPUT);
 
     | 
  
  
     | 
    
           digitalWrite(A2, HIGH); // Jord fyrir 3 haed
 
     | 
  
  
     | 
    
            pinMode(A3, OUTPUT);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW); // utgangur led
 
     | 
  
  
     | 
    
           pinMode(A4, OUTPUT);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW); // utgangur led
 
     | 
  
  
     | 
    
           pinMode(A5, OUTPUT);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW); // utgangur led
 
     | 
  
  
     | 
    
        
 
     | 
  
  
     | 
    
         startTimer();
 
     | 
  
  
     | 
    
       }
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       void loop() {  
 
     | 
  
  
     | 
    
         long V, B, H;
 
     | 
  
  
     | 
    
         long temp = 0;
 
     | 
  
  
     | 
    
         
 
     | 
  
  
     | 
    
         for(int i = 0; i < 4; i++)
 
     | 
  
  
     | 
    
         {
 
     | 
  
  
     | 
    
           V = time(8, B00000001);
 
     | 
  
  
     | 
    
           temp = temp + V;
 
     | 
  
  
     | 
    
         }
 
     | 
  
  
     | 
    
         temp = temp/4;
 
     | 
  
  
     | 
    
         V = temp;
 
     | 
  
  
     | 
    
         temp = 0;
 
     | 
  
  
     | 
    
         
 
     | 
  
  
     | 
    
         Serial.print("V ");
 
     | 
  
  
     | 
    
         Serial.print(V, DEC);
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
         for(int i = 0; i < 4; i++)
 
     | 
  
  
     | 
    
         {
 
     | 
  
  
     | 
    
           B = time(9, B00000010);
 
     | 
  
  
     | 
    
           temp = temp + B;
 
     | 
  
  
     | 
    
         }
 
     | 
  
  
     | 
    
         temp = temp/4;
 
     | 
  
  
     | 
    
         B = temp;
 
     | 
  
  
     | 
    
         temp = 0;
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
         Serial.print(" B ");
 
     | 
  
  
     | 
    
         Serial.print(B, DEC);
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
         for(int i = 0; i < 4; i++)
 
     | 
  
  
     | 
    
         {
 
     | 
  
  
     | 
    
           H = time(10, B00000100);
 
     | 
  
  
     | 
    
           temp = temp + H;
 
     | 
  
  
     | 
    
         }
 
     | 
  
  
     | 
    
         temp = temp/4;
 
     | 
  
  
     | 
    
         H = temp;
 
     | 
  
  
     | 
    
         temp = 0;
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
         Serial.print(" H ");
 
     | 
  
  
     | 
    
         Serial.print(H, DEC);
 
     | 
  
  
     | 
    
         Serial.print('\n');
 
     | 
  
  
     | 
    
        // delay(500);
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
         // HAED 1
 
     | 
  
  
     | 
    
         //LED 1.1
 
     | 
  
  
     | 
    
        if(V > 6080 && B > 6350 && (5850 < H && H < 5900)){
 
     | 
  
  
     | 
    
           digitalWrite(2, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A1, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A2, HIGH);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
        //LED 1.2
 
     | 
  
  
     | 
    
        else if(V > 6080 && B > 6350 && (5900 < H && H < 6000)){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
            
 
     | 
  
  
     | 
    
           digitalWrite(A0, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A1, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A2, HIGH);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
         //LED 1.3
 
     | 
  
  
     | 
    
        else if(V > 6080 && B > 6350 && H > 6000){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A1, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A2, HIGH);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
         //LED 1.4
 
     | 
  
  
     | 
    
        else if((V > 5930 && V < 6080) && B > 6350 && (5850 < H && H < 5900)){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, HIGH); 
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A1, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A2, HIGH);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       //LED 1.5
 
     | 
  
  
     | 
    
        else if((V > 5930 && V < 6080) && B > 6350 && (5900 < H && H < 6000)){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A1, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A2, HIGH);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       //LED 1.6
 
     | 
  
  
     | 
    
        else if((V > 5930 && V < 6080) && B > 6350 && H > 6000){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A1, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A2, HIGH);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
        
 
     | 
  
  
     | 
    
       //LED 1.7
 
     | 
  
  
     | 
    
        else if((V > 5850 && V < 5930) && B > 6350 && (5850 < H && H < 5900)){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A1, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A2, HIGH);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
        
 
     | 
  
  
     | 
    
       //LED 1.8
 
     | 
  
  
     | 
    
        else if((V > 5850 && V < 5930) && B > 6350 && (5900 < H && H < 6000)){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A1, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A2, HIGH);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
        
 
     | 
  
  
     | 
    
       //LED 1.9
 
     | 
  
  
     | 
    
        else if((V > 5850 && V < 5930) && B > 6350 && H > 6000){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, HIGH);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A1, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A2, HIGH);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
        // HAED 2
 
     | 
  
  
     | 
    
        
 
     | 
  
  
     | 
    
        //LED 2.1
 
     | 
  
  
     | 
    
        else if(V > 6085 && (B > 6150 && B < 6350) && (5850 < H && H < 5900)){
 
     | 
  
  
     | 
    
           digitalWrite(2, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A1, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A2, HIGH);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
       //LED 2.2
 
     | 
  
  
     | 
    
        else if(V > 6085 && (B > 6150 && B < 6350) && (5900 < H && H < 6000)){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A1, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A2, HIGH);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
       //LED 2.3
 
     | 
  
  
     | 
    
        else if(V > 6085 && (B > 6150 && B < 6350) && H > 6000){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A1, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A2, HIGH);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
       //LED 2.4
 
     | 
  
  
     | 
    
        else if((V > 5900 && V < 6085) && (B > 6150 && B < 6350) && (5850 < H && H < 5900)){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A1, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A2, HIGH);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
       //LED 2.5
 
     | 
  
  
     | 
    
        else if((V > 5900 && V < 6085) && (B > 6150 && B < 6350) && (5900 < H && H < 6000)){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A1, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A2, HIGH);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
       //LED 2.6
 
     | 
  
  
     | 
    
        else if((V > 5900 && V < 6085) && (B > 6150 && B < 6350) && H > 6000){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A1, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A2, HIGH);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
       //LED 2.7
 
     | 
  
  
     | 
    
        else if((V > 5850 && V < 5900) && (B > 6150 && B < 6350) && (5850 < H && H < 5900)){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A1, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A2, HIGH);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
        //LED 2.8
 
     | 
  
  
     | 
    
        else if((V > 5850 && V < 5900) && (B > 6150 && B < 6350) && (5900 < H && H < 6000)){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A1, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A2, HIGH);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
        //LED 2.9
 
     | 
  
  
     | 
    
        else if((V > 5850 && V < 5900) && (B > 6150 && B < 6350) && H > 6000){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, HIGH);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A1, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A2, HIGH);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
        //HAED 3
 
     | 
  
  
     | 
    
        
 
     | 
  
  
     | 
    
        //LED 3.1
 
     | 
  
  
     | 
    
        else if(V > 6090 && (B > 6091 && B < 6150) && (5850 < H && H < 5900)){
 
     | 
  
  
     | 
    
           digitalWrite(2, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A1, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A2, LOW);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
         //LED 3.2
 
     | 
  
  
     | 
    
        else if(V > 6090 && (B > 6091 && B < 6150) && (5900 < H && H < 6000)){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A1, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A2, LOW);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
       //LED 3.3
 
     | 
  
  
     | 
    
        else if(V > 6090 && (B > 6091 && B < 6150) && H > 6000){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A1, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A2, LOW);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
       //LED 3.4
 
     | 
  
  
     | 
    
        else if((V > 5930 && V < 6090) && (B > 6091 && B < 6150) && (5850 < H && H < 5900)){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, HIGH); 
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A1, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A2, LOW);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
       //LED 3.5
 
     | 
  
  
     | 
    
        else if((V > 5930 && V < 6090) && (B > 6091 && B < 6150) && (5900 < H && H < 6000)){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A1, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A2, LOW);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
         //LED 3.6
 
     | 
  
  
     | 
    
        else if((V > 5930 && V < 6090) && (B > 6091 && B < 6150) && H > 6000){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A1, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A2, LOW);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
         //LED 3.7
 
     | 
  
  
     | 
    
        else if((V > 5850 && V < 5930) && (B > 6091 && B < 6150) && (5850 < H && H < 5900)){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A1, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A2, LOW);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
         //LED 3.8
 
     | 
  
  
     | 
    
        else if((V > 5850 && V < 5930) && (B > 6091 && B < 6150) && (5900 < H && H < 6000)){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A1, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A2, LOW);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
         //LED 3.9
 
     | 
  
  
     | 
    
        else if((V > 5850 && V < 5930) && (B > 6091 && B < 6150) && H > 6000){
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, HIGH);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A1, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A2, LOW);
 
     | 
  
  
     | 
    
        }
 
     | 
  
  
     | 
    
       /*
 
     | 
  
  
     | 
    
       else
 
     | 
  
  
     | 
    
       {
 
     | 
  
  
     | 
    
           digitalWrite(2, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(5, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(6, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(7, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A3, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A4, LOW);
 
     | 
  
  
     | 
    
           digitalWrite(A5, LOW);
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           digitalWrite(A0, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A1, HIGH);
 
     | 
  
  
     | 
    
           digitalWrite(A2, HIGH);  
 
     | 
  
  
     | 
    
       }
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
          */ 
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       } 
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       long time(int pin, byte mask) {
 
     | 
  
  
     | 
    
         unsigned long count = 0, total = 0;
 
     | 
  
  
     | 
    
         while(checkTimer() < refresh) {
 
     | 
  
  
     | 
    
           // pinMode is about 6 times slower than assigning
 
     | 
  
  
     | 
    
           // DDRB directly, but that pause is important
 
     | 
  
  
     | 
    
           pinMode(pin, OUTPUT);
 
     | 
  
  
     | 
    
           PORTB = 0;
 
     | 
  
  
     | 
    
           pinMode(pin, INPUT);
 
     | 
  
  
     | 
    
           while((PINB & mask) == 0)
 
     | 
  
  
     | 
    
             count++;
 
     | 
  
  
     | 
    
           total++;
 
     | 
  
  
     | 
    
         }
 
     | 
  
  
     | 
    
         startTimer();
 
     | 
  
  
     | 
    
         
 
     | 
  
  
     | 
    
         return (count << resolution) / total;
 
     | 
  
  
     | 
    
       }
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       extern volatile unsigned long timer0_overflow_count;
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       void startTimer() {
 
     | 
  
  
     | 
    
         timer0_overflow_count = 0;
 
     | 
  
  
     | 
    
         TCNT0 = 0;
 
     | 
  
  
     | 
    
       }
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       unsigned long checkTimer() {
 
     | 
  
  
     | 
    
         return ((timer0_overflow_count << 8) + TCNT0) << 2;
 
     | 
  
  
     | 
    
       }
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       
     |