Hello!
Im trying to build some kind of thermometer with arduino that is also going to work as a lamp. Im going to put diffrent colored leds behind a sheet of plexiglas and they will lit up the plexi with diffrent kind of colors depending on the temprature outside. Im going to have 12 leds connected to 12 pins at arduino.
But I have problem with the code and getting the leds to light up togheter. So that I can have that led 1,2,3 lights at one temprature and led 2,3,4 lights at another and 4,5,6,7,8 lights and so on. With the code below I only get the led blinking and not working at all at their designated temprature.
This is what I have writen so far but I think there are some more easier way to write this. The code below is far from ready and Im only using 2 leds so far even if I have declared 12 in the begining so dont be scared away.
int ledPin1 = 1;
int ledPin2 = 2;
int ledPin3 = 3;
int ledPin4 = 4;
int ledPin5 = 5;
int ledPin6 = 6;
int ledPin7 = 7;
int ledPin8 = 8;
int ledPin9 = 9;
int ledPin10 = 10;
int ledPin11 = 11;
int ledPin12 = 13;
int lightPin = 0;
int val = 0;
int value1 = 150;
int value2 = 151;
int value3 = 152;
int value4 = 153;
int value5 = 160;
int value6 = 165;
int value7 = 156;
int value8 = 157;
int value9 = 158;
int value10 = 150;
int value11 = 150;
int value12 = 150;
void setup() {
pinMode(ledPin12, OUTPUT);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
beginSerial(9600);
}
void loop() {
val = analogRead(lightPin)/4;
printInteger(val);
printByte(10);
printByte(13);
if(val<value1 ){
digitalWrite(ledPin12, HIGH);
}
else ( digitalWrite(ledPin12, LOW));
if(val>value4 ){
if(val<value5 ){
digitalWrite(ledPin4, HIGH);
}
else ( digitalWrite(ledPin4, LOW));
}
else ( digitalWrite(ledPin4, LOW));
if(val>value5 ){
if(val<value6 ){
digitalWrite(ledPin4, HIGH);
digitalWrite(ledPin12, HIGH);
}
else ( digitalWrite(ledPin4, LOW));
}
else ( digitalWrite(ledPin4, LOW));
delay (200);
}