temp variation shown with led lights not working right.

So I'm working thought all of the projects in the booklette for the Arduino uno. ATM im on project 4. it's to have a Temp sensor and depending on the temp a number of LEDs light up. It says to use 3 LEDs, but i bumped it up to 6. The problem is that when i run it, no matter what the temp is all of the lights light up. I have tried to change the baselinetemp to 40C but still all the lights light up.
ive attached the code to it here.

Thanks to who ever you are.

love_sencor.ino (2.8 KB)

Please post your code.
Use code tags.

const int sensorpin = A0;
const float bacelineTemp = 4M0.0;
int voltage;
int pinNumber;
int SensorVal;
void setup(){
  Serial.begin(9600);// opens serial port
for(pinNumber = 2; pinNumber<8;pinNumber++){
  pinMode(pinNumber,OUTPUT);
  digitalWrite(pinNumber, LOW);
}
}

void loop() {
 int sensorVal = analogRead(sensorpin);
 Serial.print("Sensor Value: ");
 Serial.print(SensorVal);
 float voltage = (sensorVal/1024.0)*5.0;
 Serial.print(", Volts: ");
 Serial.print(voltage);

 Serial.print(" ,degrees C: ");
 float Temp = (voltage - .5) * 100;
 Serial.print(Temp);

 if(Temp < bacelineTemp){
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
 
 }else if(Temp>= bacelineTemp+1 && Temp < bacelineTemp+2);
 {digitalWrite(2, HIGH);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);}

  if(Temp < bacelineTemp){
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
 
  }else if(Temp>= bacelineTemp+2 && Temp < bacelineTemp+3);
 {digitalWrite(2, HIGH);
  digitalWrite(3, HIGH);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);}

  if(Temp < bacelineTemp){
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
 
  }else if(Temp>= bacelineTemp+3 && Temp < bacelineTemp+4);
 {digitalWrite(2, HIGH);
  digitalWrite(3, HIGH);
  digitalWrite(4, HIGH);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);}

  if(Temp < bacelineTemp){
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);

   }else if(Temp>= bacelineTemp+4 && Temp < bacelineTemp+5);
 {digitalWrite(2, HIGH);
  digitalWrite(3, HIGH);
  digitalWrite(4, HIGH);
  digitalWrite(5, HIGH);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);}

  if(Temp < bacelineTemp){
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);

   }else if(Temp>= bacelineTemp+5 && Temp < bacelineTemp+6);
 {digitalWrite(2, HIGH);
  digitalWrite(3, HIGH);
  digitalWrite(4, HIGH);
  digitalWrite(5, HIGH);
  digitalWrite(6, HIGH);
  digitalWrite(7, LOW);}

  if(Temp < bacelineTemp){
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);

    }else if(Temp>= bacelineTemp+6);
 {digitalWrite(2, HIGH);
  digitalWrite(3, HIGH);
  digitalWrite(4, HIGH);
  digitalWrite(5, HIGH);
  digitalWrite(6, HIGH);
  digitalWrite(7, HIGH);}

 delay(1000);
  }

If you're not sure what a program is doing, or why, a useful technique is to get the program to tell you, by adding debug prints.

Did it perform as expected using three LEDs?

Another useful technique is to use the IDE's auto format tool to make the code clearer.

yes it worked well. Im afraid i dont know what a debug print is exactly.

hi

i see you use semlcolon ";" in the end of some IF statements.

else if (Temp >= bacelineTemp + 1 && Temp < bacelineTemp + 2); <--- this semicolon is wrong!
{
digitalwrites here.
}

Debug prints, add statements such as:

else if(Temp>= bacelineTemp+2 && Temp < bacelineTemp+3); // ; here is incorrect syntax, fix that in many places
 { Serial.println ("bacelineTemp+2 <= Temp < bacelineTemp+3"); // debug print statement
  digitalWrite(2, HIGH);
  digitalWrite(3, HIGH);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);}

H-dog:
yes it worked well. Im afraid i dont know what a debug print is exactly.

Just add a line with Serial.println(myVariable); - obviously replace myVariable with the name of the variable whose value you want to observe.

This allows you so see what the program is doing - in case it is not doing what you think it is doing.

Is there a typo on this line ?

const float bacelineTemp = 4M0.0;

-- what is the M for ?

...R

thanks for all that. Yes that looks like a typo but i changed that several times so it want like that the whole time.
thanks for the help

You should have ONE if statement. The rest should be else if statements.

YAY!! it works! it was the fact that i had so many if functions defined.

thanks everyone for helping me out. but i fear this shall be the first of may questions asked on this forum.