I connected the DS18B20 to my Arduino pin 2. I then downloaded the library for Dallas Temperature and Onewire and copied it into the Arduino Libraries folder.
This is the 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
}
-I am getting the following error statement,
C:\Program Files\Arduino\libraries\OneWire\OneWire.cpp:85:24: error: WConstants.h: No such file or directory
C:\Program Files\Arduino\libraries\OneWire\OneWire.cpp: In constructor 'OneWire::OneWire(uint8_t)':
C:\Program Files\Arduino\libraries\OneWire\OneWire.cpp:93: error: 'digitalPinToBitMask' was not declared in this scope
C:\Program Files\Arduino\libraries\OneWire\OneWire.cpp:94: error: 'digitalPinToPort' was not declared in this scope
C:\Program Files\Arduino\libraries\OneWire\OneWire.cpp:94: error: 'portInputRegister' was not declared in this scope
C:\Program Files\Arduino\libraries\OneWire\OneWire.cpp: In member function 'uint8_t OneWire::reset()':
C:\Program Files\Arduino\libraries\OneWire\OneWire.cpp:127: error: 'delayMicroseconds' was not declared in this scope
C:\Program Files\Arduino\libraries\OneWire\OneWire.cpp:134: error: 'delayMicroseconds' was not declared in this scope
C:\Program Files\Arduino\libraries\OneWire\OneWire.cpp: In member function 'void OneWire::write_bit(uint8_t)':
C:\Program Files\Arduino\libraries\OneWire\OneWire.cpp:157: error: 'delayMicroseconds' was not declared in this scope
C:\Program Files\Arduino\libraries\OneWire\OneWire.cpp:165: error: 'delayMicroseconds' was not declared in this scope
C:\Program Files\Arduino\libraries\OneWire\OneWire.cpp: In member function 'uint8_t OneWire::read_bit()':
C:\Program Files\Arduino\libraries\OneWire\OneWire.cpp:185: error: 'delayMicroseconds' was not declared in this scope
Could anyone please help me with debugging the code. It would be of great HELP. Thanks. :
I need to get the following OUTPUT:
Dallas Temperature IC Control Library Demo
Requesting temperatures...DONE
Temperature for Device 1 is: 24.37 Requesting temperatures...DONE
Temperature for Device 1 is: 24.37 Requesting temperatures...DONE
Temperature for Device 1 is: 24.37 Requesting temperatures...DONE
Temperature for Device 1 is: 24.37 Requesting temperatures...DONE
Temperature for Device 1 is: 24.37 Requesting temperatures...DONE
Temperature for Device 1 is: 24.37 Requesting temperatures...DONE
Temperature for Device 1 is: 24.37 Requesting temperatures...DONE
Temperature for Device 1 is: 24.37 Requesting temperatures...DONE
Temperature for Device 1 is: 24.37 Requesting temperatures...