lunes, 30 de diciembre de 2013

Arduino sensores DS 1820 y el error WConstants.h

Hace cosa de un par de días que me puse a hacer pruebas con los DS 1820 y no conseguia que me funcionase nada me daba un error el :

Error (TCL 3.7.1 Beta):
Documents/Arduino/libraries/DallasTemperature_371Beta/DallasTemperature.cpp:9:26: 
error: WConstants.h: No such file or directory

De internet me descargue muchas librerias diferentes, pero nada si no era un error, era el otro. Me fui a la que creo que es la web oficial y me descarge la versión TCL 3.7.1 Beta, pero me daba el error que aparace en el recuadro de arriba. A si que me decidi descargarme una versión mas vieja de la libreria. Me baje la libreria TCL 3.5.0 me me dio otro error muy diferente:

Error (TCL 3.5.0):
Documents/Arduino/libraries/DallasTemperature/DallasTemperature.cpp:9:26: error: WConstants.h: No such file or directory
Fuente: http://www.todomarino.com/forum/showthread.php?84914-Informativo-DS18B20-y-arduino-v-1-0

Esta ved me decia que no encontraba WConstants.h, a si que buscando por internet me encontre con una web en la que David Dicha Perez nos da la solución a este problema:

Solucion:
Si alguien se le ha dado por bajarse la ultima versión que han sacado los de arduino (la v 1.0) y usa los sensores de temperatura del tipo ds1820 o otros de dallas os va a fallar. A parte de bajar las ultimas versiones de las librerías onewire y dallastemperature hay que editar a mano la de dallastemperature y cambiar los sitios donde pueda poner WConstants.h o wiring.h por Arduino.h.

No se si ya lo sabíais pero me acabo de volver mico para encontrar esa referencia...

por si alguien quiere ver el resto de cambios echadle un ojo a los de la 1.0:

http://arduino.cc/en/Main/ReleaseNotes

A si que con el editor de textos abri el fichero DallasTemperature.cpp y cambie el texto que ponia WConstants.h por Arduino.h tal y como comentava David, compile y me funciono a la primera.

Antes:
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.

#include "DallasTemperature.h"

extern "C" {
  #include "WConstants.h"
}

Despues:
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.

#include "DallasTemperature.h"

extern "C" {
  #include "Arduino.h"
}

Si no quereis complicaros, en la sección de descargas suelo tener una copia de seguridad de mis librerias compartida con todo el mundo.


6 comentarios:

  1. hola no consigo descargas nunguna de tus librerias tengo problemas para leer un sensor ds18b20

    ResponderEliminar
  2. trngo problemas para ller la temp con un sensor ds18b20 me intentado bajar tus librerias pero al descomprimirlas da error

    ResponderEliminar
  3. Hola, a mi las descargas me funcionan bien. Las revisare mejor.

    De todas formas mandame un E-amail y te las mando directamente.

    Un saludo.

    ResponderEliminar
  4. hola la libreria tiene problemas. me la podrias enviar a dario_morocoma@hotmail.com?, gracias

    ResponderEliminar
  5. Hola, disculpa pero no he podido obtener tus versiones, hice el cambio que sugieres y me marca mas errores de conflictos de tipos en Arduino.h ¿me puedes enviar tus librerias? mi mail es rosario_aldana@yahoo.com.mx gracias

    ResponderEliminar
  6. Intentare solucionar esto a lo largo de estos dias.

    De momento si las necesitais podeis poneros en contacto con migo a traves del email: aitorqrv@gmail.com

    ResponderEliminar