Pages: [1] 2   Go Down
Author Topic: [RISOLTO] Lettura temperatura con sensore DS18b20  (Read 1162 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 1
Posts: 115
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
: error: WConstants.h: No such file or directory
Qualcuno mi può aiutare?
« Last Edit: June 13, 2013, 05:03:05 pm by davix10 » Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 569
Posts: 12576
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

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

ivrea (to)
Offline Offline
Faraday Member
**
Karma: 87
Posts: 4964
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

my name is IGOR, not AIGOR

Offline Offline
Full Member
***
Karma: 1
Posts: 115
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
/WProgram.h:6,
                 from sketch_jun13a.cpp:11:
Logged

ivrea (to)
Offline Offline
Faraday Member
**
Karma: 87
Posts: 4964
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
« Last Edit: June 13, 2013, 02:51:28 pm by nid69ita » Logged

my name is IGOR, not AIGOR

0
Offline Offline
Newbie
*
Karma: 0
Posts: 20
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Offline Offline
Full Member
***
Karma: 1
Posts: 115
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
#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:
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'
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 332
Posts: 22817
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged


Offline Offline
Full Member
***
Karma: 1
Posts: 115
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 332
Posts: 22817
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho compilato ora il tuo sketch sulla mia IDE 1.0.5:
Code:
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:
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????  ;)
Logged


Offline Offline
Full Member
***
Karma: 1
Posts: 115
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
C:\Program Files (x86)\Arduino\libraries\DallasTemperature\DallasTemperature.cpp:9:26: error: WConstants.h: No such file or directory
Logged

ivrea (to)
Offline Offline
Faraday Member
**
Karma: 87
Posts: 4964
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Allora è la libreria Dallas a non essere allineata all'IDE 1.0.x   smiley-grin

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 ?
« Last Edit: June 13, 2013, 04:39:38 pm by nid69ita » Logged

my name is IGOR, not AIGOR

Offline Offline
Full Member
***
Karma: 1
Posts: 115
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

ivrea (to)
Offline Offline
Faraday Member
**
Karma: 87
Posts: 4964
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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] ?
Logged

my name is IGOR, not AIGOR

Offline Offline
Full Member
***
Karma: 1
Posts: 115
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok fatto e grazie ancora! smiley
Logged

Pages: [1] 2   Go Up
Jump to: