Love-o.Meter error temperature not declared in this scope

Started out with the starter kit got stuck with the Love-o-Meter. Below the copied out sketch plus
the error message.

const int sensorPin = A0;
const float baselineTemp = 20.0;
void setup (){
Serial.begin(9600);//oeffnet eine serielle Schnittstelle
for(int pinNumber = 2; pinNumber < 5; pinNumber++){
pinMode(pinNumber,OUTPUT);
digitalWrite(pinNumber,LOW);

}
}
void loop (){
int sensorVal = analogRead(sensorPin);
Serial.print("Sensor Value: ");
Serial.print (sensorVal);//rechnet den gegebenen ACD Wert in Spannung um
float voltage = (sensorVal/1024.0) *5.0;
Serial.print(" , Volts: ");
Serial.print(voltage);
Serial.print(",degrees C:");
//rechne die Spannung in Temperatur in Grad um
float temerature = (voltage - .5) * 100;
Serial.println(temperature);
if(temperature<baselineTemp);{
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
}else if(temperature>=baselineTemp+2&&temperature< baselineTemp+4){
digitalWrite(2, HIGH);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
}else if(temperature>=baselineTemp+4&& temperature< baselineTemp+6){
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
}
delay(1);
}

Arduino: 1.8.1 (Windows 10), Board: "Arduino/Genuino Uno"

C:\Users\user\Documents\Arduino\Temperaturmesserard\Temperaturmesserard.ino: In function 'void loop()':

Temperaturmesserard:21: error: 'temperature' was not declared in this scope

Serial.println(temperature);

^

Temperaturmesserard:26: error: 'else' without a previous 'if'

}else if(temperature>=baselineTemp+2&&temperature< baselineTemp+4){

^

exit status 1
'temperature' was not declared in this scope

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.

Hello,

before void setup(){... write float temperature; And inside the loop remove "float temperature", and put only "temperature"

There is a spelling error here:

  float temerature = (voltage - .5) * 100;
  Serial.println(temperature);

Change the float declaration to the proper spelling.

The next error will be here:

  if(temperature<baselineTemp);{

where you need to remove the semicolon.

Hi,
Welcome to the forum.

Please read the first post in any forum entitled how to use this forum.
http://forum.arduino.cc/index.php/topic,148850.0.html then look down to item #7 about how to post your code.
It will be formatted in a scrolling window that makes it easier to read.

Thanks.. Tom... :slight_smile:

Thank you very much . It works now that I removed the errors and added the third "else if " part.

Hi
I have the same problem

Projekt_3_Love-o-Meter:38: error: 'baselineTemp' was not declared in this scope
if (temperature < baselineTemp){
^
exit status 1
'baselineTemp' was not declared in this scope

const int sensorPin = A0;
const float baslineTemp = 20.0;

void setup() {
Serial.begin (9600) ; // öffnet serielle Schnittstelle
for ( int pinNumber = 2; pinNumber<5; pinNumber++) {
pinMode ( pinNumber , OUTPUT);
digitalWrite (pinNumber, LOW );
}

}

void loop() {

int sensorVal = analogRead ( sensorPin );
Serial.print ("Sensor Value: ");
Serial.print ( sensorVal);

// rechne den gelesenen ADC-Wert in Spannung um

float voltage = ( sensorVal/1024.0) * 5.0 ;

Serial.print ( ", Volts: " );
Serial.print ( voltage );

Serial.print ( " , degrees C: " ) ;
// rechne die Spannung in Temperatur in Grad um

float temperature = (voltage-.5)*100;
Serial.println (temperature);
if (temperature < baselineTemp){ // in this sentence

digitalWrite ( 2, LOW );
digitalWrite ( 3, LOW );
digitalWrite ( 4, LOW );

} else if (temperature >=baselineTemp + 2 && temperature < baselineTemp +4 ){
digitalWrite (2, HIGH ) ;
digitalWrite (3, LOW ) ;
digitalWrite (4, LOW ) ;

} else if (temperature >=baselineTemp + 4 && temperature < baselineTemp +6 ){
digitalWrite (2, HIGH ) ;
digitalWrite (3, HIGH ) ;
digitalWrite (4, LOW ) ;

} else if (temperature >= baselineTemp +6 ){
digitalWrite (2, HIGH ) ;
digitalWrite (3, HIGH ) ;
digitalWrite (4, HIGH) ;

}
delay (1);

}

const float baslineTemp = 20.0

Spelling counts