Problema sensore temperatura

Salve a tutti, ho il sensore di temperatura Ds18b20 della Dallas…ho installato le librerie OneWire e Dallas ma purtroppo ancora ho dei problemi nel programma…
Uso questo codice:

/* H2o812.it
   temperatura
*/

#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 14
OneWire ourWire(ONE_WIRE_BUS);
DallasTemperature sensors(&ourWire);

void setup() 
{
delay(1000);
Serial.begin(9600);
Serial.println("Misura la temperatura con sensore DS18B20");
Serial.println("continua la misurazione");
delay(1000);
sensors.begin();
}

void loop() 
{
Serial.println();
sensors.requestTemperatures();
Serial.print("Temperatura = ");
Serial.print(sensors.getTempCByIndex(0));
Serial.println(" gradi C");
}

Ma purtroppo quando provo a mandare mi da problemi…vi allego gli errori:

 This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.
Arduino: 1.0.6 (Windows 7), Board: "Arduino Uno"

C:\Users\Gianni\Documents\Arduino\libraries\OneWire\OneWire.cpp:85:24: error: WConstants.h: No such file or directory
C:\Users\Gianni\Documents\Arduino\libraries\OneWire\OneWire.cpp: In constructor 'OneWire::OneWire(uint8_t)':
C:\Users\Gianni\Documents\Arduino\libraries\OneWire\OneWire.cpp:93: error: 'digitalPinToBitMask' was not declared in this scope
C:\Users\Gianni\Documents\Arduino\libraries\OneWire\OneWire.cpp:94: error: 'digitalPinToPort' was not declared in this scope
C:\Users\Gianni\Documents\Arduino\libraries\OneWire\OneWire.cpp:94: error: 'portInputRegister' was not declared in this scope
C:\Users\Gianni\Documents\Arduino\libraries\OneWire\OneWire.cpp: In member function 'uint8_t OneWire::reset()':
C:\Users\Gianni\Documents\Arduino\libraries\OneWire\OneWire.cpp:127: error: 'delayMicroseconds' was not declared in this scope
C:\Users\Gianni\Documents\Arduino\libraries\OneWire\OneWire.cpp:134: error: 'delayMicroseconds' was not declared in this scope
C:\Users\Gianni\Documents\Arduino\libraries\OneWire\OneWire.cpp: In member function 'void OneWire::write_bit(uint8_t)':
C:\Users\Gianni\Documents\Arduino\libraries\OneWire\OneWire.cpp:157: error: 'delayMicroseconds' was not declared in this scope
C:\Users\Gianni\Documents\Arduino\libraries\OneWire\OneWire.cpp:165: error: 'delayMicroseconds' was not declared in this scope
C:\Users\Gianni\Documents\Arduino\libraries\OneWire\OneWire.cpp: In member function 'uint8_t OneWire::read_bit()':
C:\Users\Gianni\Documents\Arduino\libraries\OneWire\OneWire.cpp:185: error: 'delayMicroseconds' was not declared in this scope

Aiutatemi pls :slight_smile:

Hai le librerie non aggiornate oppure installate male. Scarica le ultime versioni togli quelle che hai e rimetti le nuove. Lo sketch compila correttamente.

Hai una libreria fatta per l'IDE 00xx.

La libreria WConstants.h non esiste piú nei IDE1.x.x.

scaricati la versione attuale della OneWire.h

Ciao Uwe

In rete non la trovo :(

pagina http://playground.arduino.cc/Learning/OneWire

link diretto https://www.pjrc.com/teensy/arduino_libraries/OneWire.zip

Gianni, posso usare il tuo stesso programma? Mi spieghi come collegarlo ad Arduino UNO?

Il problema continua :(

ElenaSgarbi: Gianni, posso usare il tuo stesso programma? Mi spieghi come collegarlo ad Arduino UNO?

Collegare cosa??

Scusa, che sbadata, intendevo dire collegare Ds18b20 ad Arduino.

ElenaSgarbi: Scusa, che sbadata, intendevo dire collegare Ds18b20 ad Arduino.

Tranquilla ;) trovi maggiori dettagli qui: http://www.h2o812.it/termometro-sensore-temperatura-dallas-ds18b20/

Gianni95: Il problema continua :(

Anche la soluzione continua ad essere la stessa... sbagli qualcosa con le librerie... cerca di spiegare meglio quello che hai fatto.

Grazie Gianni, a me però serve che la temperatura venga visualizzata su display LCD

@Elena questo è un esempio http://www.mauroalfieri.it/elettronica/ds18b20-temperatura-lcd.html ma se vai su google ne trovi a bizzeffe ;)

Allora scarico il file rar delle libreria di OneWire e DallasTemperature dopo sposto il contenuto delle cartelle nella cartella libreries di Arduino... Sbaglio qualcosa??

In quale cartella libraries? Dimmi il percorso dove si trova la cartella...

marinaio67: In quale cartella libraries? Dimmi il percorso dove si trova la cartella...

C:\Program Files (x86)\Arduino\libraries

Appunto... Li volevo arrivare... non è quella la cartella dove devi mettere le librerie aggiuntive... e se leggi l'errore che ti da, trovi il percorso dove devi mettere le librerie

C:\Users\Gianni\Documents\Arduino\libraries\OneWire\OneWire.cpp:85:24: error: WConstants.h: No such file or directory

Ti ripeto... cancella le vecchie in entrambe le cartelle libraries e metti le nuove solo nella cartella libraries che è nel percorso scritto sopra...

Ahh ecco...ora provo

E' rimasto un solo problema...

  This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.
Arduino: 1.0.6 (Windows 7), Board: "Arduino Uno"
C:\Users\Gianni\Documents\Arduino\libraries\DallasTemperature\DallasTemperature.cpp:9:26: error: WConstants.h: No such file or directory

E' sempre lo stessooooooo!!!!!!! Hai la libreria della dallas non aggiornataaaaa!!!!!!