Go Down

Topic: [RISOLTO] Lettura temperatura con sensore DS18b20 (Read 1 time) previous topic - next topic

davix10

Jun 13, 2013, 06:37 pm Last Edit: Jun 14, 2013, 12:03 am by davix10 Reason: 1
Salve a tutti ho seguito questo tutorial http://www.adrirobot.it/menu_new/index/index_sensore_DS18B20.htm ma in fase di compilazione il programma mi dà errore. Ho provato a riscaricare le librerie ma non funziona. Utilizzo la versione 1.0.4 di IDE.
Code: [Select]
: error: WConstants.h: No such file or directory
Qualcuno mi può aiutare?

Michele Menniti

temo che sia un problema di versione di IDE; non ci vuole molto, prova a scaricare IDE 0022 o 0023, dovrebbe funzionare; poi leggi qui
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

nid69ita

Per quello specifico errore ti basta sostituire l'istruzione #include <WConstants.h> con :
Code: [Select]

#if defined(ARDUINO) && ARDUINO >= 100
#include <Arduino.h>
#else
#include <WProgram.h>
#endif
my name is IGOR, not AIGOR

davix10

Quote
Per quello specifico errore ti basta sostituire l'istruzione #include <WConstants.h> con :
Code:
#if defined(ARDUINO) && ARDUINO >= 100
#include <Arduino.h>
#else
#include <WProgram.h>
#endif

Ho provato così ma l'errore rimane tale e ho anche provato a scaricare le versioni 0022 e 0023 e mi dà questo errore:
Code: [Select]
/WProgram.h:6,
                 from sketch_jun13a.cpp:11:

nid69ita

#4
Jun 13, 2013, 09:49 pm Last Edit: Jun 13, 2013, 09:51 pm by nid69ita Reason: 1
Allega il tuo sketch.
E anche l'errore completo. Dove lo segnala l'errore, in quale libreria? Quell'esempio al link include ben 3 librerie.
my name is IGOR, not AIGOR

taraschi

è un problema della libreria onewire che va aggiornata
se mi scrivi email ti mando programma ds18b20+librerie
taraschi_nicola@libero.it

davix10

Code: [Select]
#include <OneWire.h>
#include <DallasTemperature.h>



// Data wire is plugged into pin 2 on the Arduino
#define ONE_WIRE_BUS 2

// Setup a oneWire instance to communicate with any OneWire devices
// (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);

void setup(void)
{
  // start serial port
  Serial.begin(9600);
  Serial.println("Dallas Temperature IC Control Library Demo");

  // Start up the library
  sensors.begin();
}


void loop(void)
{
  // call sensors.requestTemperatures() to issue a global temperature
  // request to all devices on the bus
  Serial.print(" Requesting temperatures...");
  sensors.requestTemperatures(); // Send the command to get temperatures
  Serial.println("DONE");

  Serial.print("Temperature for Device 1 is: ");
  Serial.print(sensors.getTempCByIndex(0)); // Why "byIndex"?
    // You can have more than one IC on the same bus.
    // 0 refers to the first IC on the wire

}


e qui c'è l'errore

Code: [Select]
In file included from C:\Users\utente\Desktop\arduino-0022\arduino-0022\hardware\arduino\cores\arduino/WProgram.h:6,
                 from sketch_jun13a.cpp:11:
c:/users/utente/desktop/arduino-0022/arduino-0022/hardware/tools/avr/lib/gcc/../../avr/include/math.h:439: error: expected unqualified-id before 'double'
c:/users/utente/desktop/arduino-0022/arduino-0022/hardware/tools/avr/lib/gcc/../../avr/include/math.h:439: error: expected `)' before 'double'
c:/users/utente/desktop/arduino-0022/arduino-0022/hardware/tools/avr/lib/gcc/../../avr/include/math.h:439: error: expected `)' before 'double'

leo72

Non sempre basta modifica la lib per caricare Arduino.h al posto di WProgram.h per risolvere il problema.
In questo caso serve proprio la OneWire aggiornata.

Che si trova con una semplice ricerca su Internet....
http://www.pjrc.com/teensy/td_libs_OneWire.html

davix10

già provato con la libreria aggiornata ma il problema è sempre lo stesso..

leo72

Ho compilato ora il tuo sketch sulla mia IDE 1.0.5:
Code: [Select]
Dimensione del file binario dello sketch: 7.196 bytes (su un massimo di 32.256 bytes)

Poi tu dici di usare l'IDE 1.0.4:

Utilizzo la versione 1.0.4 di IDE.


Mentre posti l'errore dell'IDE 0022:

e qui c'è l'errore
Code: [Select]
In file included from C:\Users\utente\Desktop\arduino-0022\arduino-0022\hardware\arduino\cores\arduino/WProgram.h:6,
                 from sketch_jun13a.cpp:11:
[/quote]
Con cosa stai compilando in questo momento????  ;)

davix10

Si lo so ma ho provato a scaricarne un po' per vedere se era un problema di IDE. Come fa a funzionarti con la IDE 1.0.5?
A me dà questo errore
Code: [Select]
C:\Program Files (x86)\Arduino\libraries\DallasTemperature\DallasTemperature.cpp:9:26: error: WConstants.h: No such file or directory

nid69ita

#11
Jun 13, 2013, 11:36 pm Last Edit: Jun 13, 2013, 11:39 pm by nid69ita Reason: 1
Allora è la libreria Dallas a non essere allineata all'IDE 1.0.x   :D

Quella che ho io dentro al file .cpp c'e':
#if ARDUINO >= 100
   #include "Arduino.h"  
#else
extern "C" {
   #include "WConstants.h"
}
#endif

e in testata c'e' scritto:
Version 3.7.2 modified on Dec 6, 2011 to support Arduino 1.0
// See Includes...
// Modified by Jordan Hochenbaum

Presa qui:  https://github.com/milesburton/Arduino-Temperature-Control-Library

Che versione hai ?
my name is IGOR, not AIGOR

davix10

Avevo una versione più vecchia era quello il problema ora ho scaricato quella nuova e tutto funziona!!! Grazie!! :)

nid69ita

Per la prossima volta: nel tuo primo post metti l'errore ma non completo.
Se fosse stato completo avremmo visto che era nella DallasTemperature.cpp  e ti avremmo indirizzato meglio subito.
Un favore, sul tuo primo post, puoi modificare il titolo aggiungendo [Risolto] ?
my name is IGOR, not AIGOR

davix10


Go Up