// IF-THEN INTERACTIVITY 01 // // Testing for a value as it changes to // trigger interativity // pin variable int p1 = 11; // These can be anything we want. my board int p2 = 10; // just happens to be set up with PWM pins... int p3 = 9; int p4 = 6; int p5 = 5; int p6 = 3; // variables to hold values to test for int lightVal = 0; int minVal = 70; // Last time I tested, my range from the int maxVal = 240; // photoresistor was 70 to 245. I'll use // these min and max variables to divide // the lightVal into 6 even parts //Setup void setup() { Serial.begin(9600); // Set pins to output pinMode(p1, OUTPUT); pinMode(p2, OUTPUT); pinMode(p3, OUTPUT); pinMode(p4 ,OUTPUT); pinMode(p5 ,OUTPUT); pinMode(p6, OUTPUT); } // Das Loop... void loop() { // On every loop, read the value of the lignt sensor on analog // pin 4. I know that with my hardware setup I get values from // around 70 to 245. lightVal = analogRead(4); Serial.println(lightVal); // Test for increasing values and turn on the six lights as they get higher. // LED 1 if(lightVal - minVal > maxVal/6) { digitalWrite(p1,HIGH); }else{ digitalWrite(p1,LOW); } // LED 2 if(lightVal - minVal > ((maxVal - minVal) * 2)/6) { digitalWrite(p2,HIGH); }else{ digitalWrite(p2,LOW); } // LED 3 if(lightVal - minVal > ((maxVal - minVal) * 3)/6) { digitalWrite(p3,HIGH); }else{ digitalWrite(p3,LOW); } // LED 4 if(lightVal - minVal > ((maxVal - minVal) * 4)/6) { digitalWrite(p4,HIGH); }else{ digitalWrite(p4,LOW); } // LED 5 if(lightVal - minVal > ((maxVal - minVal) * 5)/6) { digitalWrite(p5,HIGH); }else{ digitalWrite(p5,LOW); } // LED 6 if(lightVal - minVal > (maxVal - minVal)) { digitalWrite(p6,HIGH); }else{ digitalWrite(p6,LOW); } }