HOla a todos:
estoy utilizando un ejemplo para obtener los valores unos sensores ds18b20, pero tengo errores de compilación, y lo que me muestra en la consola de errores no logro entender de que se trata.
este es el código:
#include <OneWire.h> //Se importan las librerías
#include <DallasTemperature.h>
#define Pin 2 //Se declara el pin donde se conectará la DATA
OneWire ourWire(Pin); //Se establece el pin declarado como bus para la comunicación OneWire
DallasTemperature sensors(&ourWire); //Se instancia la librería DallasTemperature
void setup() {
delay(1000);
Serial.begin(9600);
sensors.begin(); //Se inician los sensores
}
void loop() {
sensors.requestTemperatures(); //Prepara el sensor para la lectura
Serial.print(sensors.getTempCByIndex(0)); //Se lee e imprime la temperatura en grados Celsius
Serial.println(" grados Centigrados");
Serial.print(sensors.getTempFByIndex(0)); //Se lee e imprime la temperatura en grados Fahrenheit
Serial.println(" grados Fahrenheit");
delay(1000); //Se provoca un lapso de 1 segundo antes de la próxima lectura
}
y este es el error
C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp: In member function ‘bool DallasTemperature::validAddress(const uint8_t*)’:
C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:75:41: error: invalid conversion from ‘const uint8_t* {aka const unsigned char*}’ to ‘uint8_t* {aka unsigned char*}’ [-fpermissive]
return (_wire->crc8(deviceAddress, 7) == deviceAddress[7]);
^
In file included from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.h:22:0,
from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:10:
C:\Users\PC\Documents\Arduino\libraries\OneWire/OneWire.h:152:20: error: initializing argument 1 of ‘static uint8_t OneWire::crc8(uint8_t*, uint8_t)’ [-fpermissive]
static uint8_t crc8( uint8_t addr, uint8_t len);
^
C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp: In member function 'bool DallasTemperature::readScratchPad(const uint8_t, uint8_t*)’:
C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:117:32: error: invalid conversion from ‘const uint8_t* {aka const unsigned char*}’ to ‘uint8_t* {aka unsigned char*}’ [-fpermissive]
_wire->select(deviceAddress);
^
In file included from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.h:22:0,
from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:10:
C:\Users\PC\Documents\Arduino\libraries\OneWire/OneWire.h:104:10: error: initializing argument 1 of ‘void OneWire::select(uint8_t*)’ [-fpermissive]
void select( uint8_t rom[8]);
^
C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp: In member function ‘void DallasTemperature::writeScratchPad(const uint8_t*, const uint8_t*)’:
C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:145:32: error: invalid conversion from ‘const uint8_t* {aka const unsigned char*}’ to ‘uint8_t* {aka unsigned char*}’ [-fpermissive]
_wire->select(deviceAddress);
^
In file included from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.h:22:0,
from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:10:
C:\Users\PC\Documents\Arduino\libraries\OneWire/OneWire.h:104:10: error: initializing argument 1 of ‘void OneWire::select(uint8_t*)’ [-fpermissive]
void select( uint8_t rom[8]);
^
C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:154:32: error: invalid conversion from ‘const uint8_t* {aka const unsigned char*}’ to ‘uint8_t* {aka unsigned char*}’ [-fpermissive]
_wire->select(deviceAddress);
^
In file included from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.h:22:0,
from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:10:
C:\Users\PC\Documents\Arduino\libraries\OneWire/OneWire.h:104:10: error: initializing argument 1 of ‘void OneWire::select(uint8_t*)’ [-fpermissive]
void select( uint8_t rom[8]);
^
C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp: In member function ‘bool DallasTemperature::readPowerSupply(const uint8_t*)’:
C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:169:32: error: invalid conversion from ‘const uint8_t* {aka const unsigned char*}’ to ‘uint8_t* {aka unsigned char*}’ [-fpermissive]
_wire->select(deviceAddress);
^
In file included from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.h:22:0,
from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:10:
C:\Users\PC\Documents\Arduino\libraries\OneWire/OneWire.h:104:10: error: initializing argument 1 of ‘void OneWire::select(uint8_t*)’ [-fpermissive]
void select( uint8_t rom[8]);
^
C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp: In member function ‘bool DallasTemperature::requestTemperaturesByAddress(const uint8_t*)’:
C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:324:32: error: invalid conversion from ‘const uint8_t* {aka const unsigned char*}’ to ‘uint8_t* {aka unsigned char*}’ [-fpermissive]
_wire->select(deviceAddress);
^
In file included from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.h:22:0,
from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:10:
C:\Users\PC\Documents\Arduino\libraries\OneWire/OneWire.h:104:10: error: initializing argument 1 of ‘void OneWire::select(uint8_t*)’ [-fpermissive]
void select( uint8_t rom[8]);
^
Error de compilación
está corrupta la librería Dallas?
gracias desde ya