Amorometro - messaggio di errore

ciao a Tutti
ho copiato il programma dell'amorometro:

1  const int sensorPin = A0;
2  const float baselineTemp = 20.0;
3  void setup(){
  4  Serial.begin (9600);
  5  for(int pinNumber=2; pinNumber<5; pinNumber++){
  6   pinMode(pinNumber, OUTPUT);
  7   digitalWrite(pinNumber, LOW);
  8  }
9  }
10  void loop(){
  11  int sensorVal= analogRead(sensorPin);
  12  Serial.print("Sensor Value:");
  13  Serial.print(sensorVal);
  14  //converti la lettura ADC in tensione
  15  float voltage = (sensorVal/1024.0)*5.0;
  16  Serial.print(", Volts: ");
  17  Serial.print(voltage);
  18  Serial.print(", degrees C: ");
  19  //converti la tesione in temperatura
  20  float temperature= (voltage - .5)*100; //voltage/0.01-50;
  21  Serial.println (temperature);
  22  if (temperature < baselineTemp){
    23  digitalWrite (2, LOW);
    24  digitalWrite (3, LOW);
    25  digitalWrite (4, LOW);
    26  }else if (temperature >= baselineTemp + 2 && temperature <  baelineTemp + 4){
      27  digitalWrite (2, HIGH);
      28  digitalWrite (3, LOW);
      29  digitalWrite (4, LOW);
    30  }else if (temperature >= baselineTemp + 4 && temperature <  baelineTemp + 6){
      31  digitalWrite (2, HIGH);
      32  digitalWrite (3, HIGH);
      33  digitalWrite (4, LOW);
    34  }else if (temperature >= baselineTemp + 6){
      35  digitalWrite (2, HIGH);
      36  digitalWrite (3, HIGH);
      37  digitalWrite (4, HIGH);
    38  }
    39  delay(1)
  40  }

ma ricevo questo errore:
Amorometro:2: error: expected unqualified-id before numeric constant
Amorometro:3: error: expected unqualified-id before numeric constant
Amorometro:1: error: expected unqualified-id before numeric constant
Amorometro:2: error: expected unqualified-id before numeric constant
Amorometro:3: error: expected unqualified-id before numeric constant

non riesco a trovare l'errore.
Qualcuno mi può aiutare?

grazie

ma i numeri di riga le hai nello sketch o le hai solo perché hai copiato da un editore?
cancella i numeri di riga.
Ciao Uwe

Cos'è un "amorometro"?? :o

Non é uno degli esempi classici di Massimo?

leo72:
Cos'è un "amorometro"?? :o

Un banale termometro, credo ... che poi indichi effettivamente se e quanto sei "cotto", questa e' tutta un'altra cosa ... :stuck_out_tongue: :smiley: :smiley: :smiley:

uwefed:
ma i numeri di riga le hai nello sketch o le hai solo perché hai copiato da un editore?
cancella i numeri di riga.
Ciao Uwe

OK funziona
grazie
ma è possibile avere i numeri di linea come tanti altri linguaggi di programmazione?
tra l'altro, gli sketch da copiare dal libro "Arduino il libro dei progetti", avuto assieme allo starter kit, riportano i numeri di linea.

Si, nell'IDE 1.5.8 trovi l'opzione nelle preferenze. Nella 1.0.6 non c'è.

Grazie mille
Andrea

PaoloP:
Si, nell'IDE 1.5.8 trovi l'opzione nelle preferenze. Nella 1.0.6 non c'è.

C'è anche nella 1.0.6, opzioni -> "display line numbers", è scritto in inglese anche se l'IDE è settato per l'italiano.

Ciao a tutti! anche io ho copiato il codice dal sito ma mi riscontra i seguenti errori:

Arduino:1.5.8 (Windows XP), Scheda:"Digispark Pro (16 Mhz)"

_3_Amorometro.ino:16:3: error: stray '' in program
_3_Amorometro.ino:16:3: error: stray '' in program
_3_Amorometro.ino:22:3: error: stray '' in program
_3_Amorometro.ino:22:3: error: stray '' in program
_3_Amorometro.ino:25:3: error: stray '' in program
_3_Amorometro.ino:25:3: error: stray '' in program
_3_Amorometro.ino:26:3: error: stray '' in program
_3_Amorometro.ino:1:23: error: 'A0' was not declared in this scope
_3_Amorometro.ino: In function 'void loop()':
_3_Amorometro.ino:16:17: error: 'u201csensor' was not declared in this scope
_3_Amorometro.ino:22:17: error: 'u201c' was not declared in this scope
_3_Amorometro.ino:22:29: error: found ':' in nested-name-specifier, expected '::'
_3_Amorometro.ino:22:24: error: 'Volts' has not been declared
_3_Amorometro.ino:25:24: error: 'degrees' was not declared in this scope
_3_Amorometro.ino:26:33: error: expected ')' before 'u2013'

qualcuno può aiutarmi per favore?

Quale sito?
Di solito quegli errori appaiono quando ci sono caratteri nascosti nel testo e il compilatore non sa come interpretarli.
Copia il codice su un editor testuale, visualizza eventuali caratteri nascosti e ripuliscilo.
Se l'hai copiato dal primo post di questa discussione devi togliere i numeri di riga.

Anche io sono arrivato all'esercizio dell' "amorometro" e avevo un dubbio circa la calibrazione: potresti farmi vedere lo sketch completo, calibrazione compresa? Grazie mille!

Il codice dovrebbe essere....

const int sensorPin = A0;
const float baselineTemp = 21.0;

void setup()
{
	Serial.begin(9600);
	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);

	float voltage = (sensorVal / 1024.0) * 5.0;
	float temperature = (voltage - .5) * 100;
	Serial.print(", Volts: ");
	Serial.print(voltage);
	Serial.print(", degrees C: ");
	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, LOW);
	}
	else if(temperature >= baselineTemp + 6)
	{
		digitalWrite(2, HIGH);
		digitalWrite(3, HIGH);
		digitalWrite(4, HIGH);
	}

	delay(1);
}

Non dovete "copiare" nulla. I codici dei progetti dello Starter Kit sono già inclusi all'interno dell'IDE. Basta aprire la voce di menu File/Esempi/10.Starter Kit e trovate tutti i codici. L'Amorometro è il n°2, indicato come LoveOMeter.
Compilazione effettuata senza errori.

Giuro che non me ne ero mai accorto. :disappointed_relieved:

Ti ritiriamo la patente di arduinista :sunglasses: