problema con lcd dopo aggiornamento alla versione 1.67

Buona sera dopo aver aggiornato il mio ide da 1.65 a 1.67 ho questo errore:
In file included from G:\Users\Marco\Desktop\sketch_nov01a\sketch_nov01a.ino:8:0:

G:\Users\Marco\Documents\Arduino\libraries\DS3232RTC-master/DS3232RTC.h:69:0: warning: "TEMP_MSB" redefined [enabled by default]

#define TEMP_MSB 0x11

^

In file included from G:\Users\Marco\Desktop\sketch_nov01a\sketch_nov01a.ino:1:0:

G:\Users\Marco\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master/DallasTemperature.h:41:0: note: this is the location of the previous definition

#define TEMP_MSB 1

^

In file included from G:\Users\Marco\Desktop\sketch_nov01a\sketch_nov01a.ino:8:0:

G:\Users\Marco\Documents\Arduino\libraries\DS3232RTC-master/DS3232RTC.h:70:0: warning: "TEMP_LSB" redefined [enabled by default]

#define TEMP_LSB 0x12

^

In file included from G:\Users\Marco\Desktop\sketch_nov01a\sketch_nov01a.ino:1:0:

G:\Users\Marco\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master/DallasTemperature.h:40:0: note: this is the location of the previous definition

#define TEMP_LSB 0

^

Più di una libreria trovata per "Ethernet.h"
Usata: G:\Users\Marco\Documents\Arduino\libraries\Ethernet
Non usata: G:\Program Files (x86)\Arduino\libraries\Ethernet

Lo sketch usa 28.704 byte (11%) dello spazio disponibile per i programmi. Il massimo è 253.952 byte.
Le variabili globali usano 1.598 byte (19%) di memoria dinamica, lasciando altri 6.594 byte liberi per le variabili locali. Il massimo è 8.192 byte.

ho aggiornato libreria one wire, libreria dallas ma al posto dei valori vedo solo 0
1
a
p

e dei valori che posso fare?

questo è lo sketch

grazie a tutti

sketch_nov01a.ino (11.8 KB)

...ma perché non rimani alla 1.65 se ti funzionava? :wink:

Melo chiedo anche io perché fanno aggiornamenti per complicarci la vita, non esiste soluzione quindi?

pure io sono tornato alla 1.6.5 dopo aver avuto problemi con la comunicazione i2c con un display

Metti l'include della Onewire per primo.

Ciao
Attualmente nello sketch ho #include<Wire.h>
Ma la libreria Onewire non serve per usare il DS18B20, con un solo filo? è un protocollo proprietario.

Non ho controllato tutto lo sketch, ho solo visto che gli include erano messi nell'ordine sbagliato.
Poi se gli servano o meno non ho idea.

stefa24:
pure io sono tornato alla 1.6.5 dopo aver avuto problemi con la comunicazione i2c con un display

La 1.6.7 va bene, ci ho ricompilato molti miei sketch, tutti abbastanza complessi, i2c inlusa, senza problemi.
Se avete problemi con le librerie dovete aggiornarle, oltretutto la 1.6.7 avvisa in automatico delle eventuali librerie obsolete.

li ho messi come suggerito

#include <OneWire.h>
#include <Wire.h>
#include <PCF8574_HD44780_I2C.h>
#include <MenuBackend.h>
#include <Time.h>
#include <DS3232RTC.h>
#include <DallasTemperature.h>
#include <RTClib.h>
#include <SPI.h>
#include <Ethernet.h>

ma il problema persiste cosa posso fare?
In file included from G:\Users\marcosh\Desktop\sketch_nov01a\sketch_nov01a.ino:7:0:

G:\Users\marcosh\Documents\Arduino\libraries\MAX31850_DallasTemp/DallasTemperature.h:40:0: warning: "TEMP_LSB" redefined [enabled by default]

#define TEMP_LSB 0

^

In file included from G:\Users\marcosh\Desktop\sketch_nov01a\sketch_nov01a.ino:6:0:

G:\Users\marcosh\Documents\Arduino\libraries\DS3232RTC-master/DS3232RTC.h:70:0: note: this is the location of the previous definition

#define TEMP_LSB 0x12

^

In file included from G:\Users\marcosh\Desktop\sketch_nov01a\sketch_nov01a.ino:7:0:

G:\Users\marcosh\Documents\Arduino\libraries\MAX31850_DallasTemp/DallasTemperature.h:41:0: warning: "TEMP_MSB" redefined [enabled by default]

#define TEMP_MSB 1

^

In file included from G:\Users\marcosh\Desktop\sketch_nov01a\sketch_nov01a.ino:6:0:

G:\Users\marcosh\Documents\Arduino\libraries\DS3232RTC-master/DS3232RTC.h:69:0: note: this is the location of the previous definition

#define TEMP_MSB 0x11

^

Più di una libreria trovata per "Ethernet.h"
Usata: G:\Users\marcosh\Documents\Arduino\libraries\Ethernet
Non usata: G:\Program Files (x86)\Arduino\libraries\Ethernet

Lo sketch usa 28.932 byte (11%) dello spazio disponibile per i programmi. Il massimo è 253.952 byte.
Le variabili globali usano 1.592 byte (19%) di memoria dinamica, lasciando altri 6.600 byte liberi per le variabili locali. Il massimo è 8.192 byte.
avrdude: ser_send(): write error: sorry no info avail
Problema di caricamento sulla scheda. Guarda http://www.arduino.cc/en/Guide/Troubleshooting#upload per suggerimenti

Hai problemi di #define con lo stesso nome in due librerie diverse, sarebbe il caso che le controlli e le aggiorni, o le correggi a mano se non sono disponibili versioni recenti.

le ho aggiornate tutte infatti ora ho questo:

In file included from G:\Users\marcosh\Desktop\sketch_nov01a\sketch_nov01a.ino:7:0:

G:\Users\marcosh\Documents\Arduino\libraries\MAX31850_DallasTemp/DallasTemperature.h:40:0: warning: "TEMP_LSB" redefined [enabled by default]

#define TEMP_LSB 0

^

In file included from G:\Users\marcosh\Desktop\sketch_nov01a\sketch_nov01a.ino:6:0:

G:\Users\marcosh\Documents\Arduino\libraries\DS3232RTC-master/DS3232RTC.h:70:0: note: this is the location of the previous definition

#define TEMP_LSB 0x12

^

In file included from G:\Users\marcosh\Desktop\sketch_nov01a\sketch_nov01a.ino:7:0:

G:\Users\marcosh\Documents\Arduino\libraries\MAX31850_DallasTemp/DallasTemperature.h:41:0: warning: "TEMP_MSB" redefined [enabled by default]

#define TEMP_MSB 1

^

In file included from G:\Users\marcosh\Desktop\sketch_nov01a\sketch_nov01a.ino:6:0:

G:\Users\marcosh\Documents\Arduino\libraries\DS3232RTC-master/DS3232RTC.h:69:0: note: this is the location of the previous definition

#define TEMP_MSB 0x11

^

ho aggiornato la libria dallas con la (MAX31850_DallasTemp)
e la one wire con (MAX31850_OneWire)

e per la ds3232rtc non trovo aggiornamenti , i segni che vedo :

1
0
a 2.62 = temperatura acqua
p 2.30 = temperatura plafo

e lora e data non la vedo manco a metà

marco3020:
ho aggiornato la libria dallas con la (MAX31850_DallasTemp)
e la one wire con (MAX31850_OneWire)

Sono librerie che non uso, però l'impressione è che stai usando librerie che fanno la stessa cosa con la relativa sovrapposizione di nomi e funzioni, condizione che porta inevitabilmente ad errori in fase di compilazione.

quindi cosa mi consigliate?

ho questo nella mia libreria

Un bel purge delle librerie doppie :slight_smile:

astrobeed:
Un bel purge delle librerie doppie :slight_smile:

A cominciare dalla RobotIrRemote.

Scusate la mia ignoranza cosa è un purge? E quali librerie dovrei cancellare?

Buongiorno ho cancellato tutte le librerie e le ho rimesse quelle che mi chiedeva ma il problema è sempre lo stesso non vedo la data per esteso e manco la temperatura che posso fare?

Cosa vuol dire non vedi la data per esteso ? Fai un esempio.

Alcune migliorie:

  1. le int per indicare i pin mettili const byte, così sprechi meno memoria:
const byte pinR = 2;
  1. invece della sprintf() usa la snprintf() a cui devi passare la dimensione del buffer. questa verifica che non scrivi fuori dal buffer ( e anche per l'anno metti 04
snprintf(buffer2,20,"%02d/%02d/%04d", now.day(), now.month(), now.year());

oppure

snprintf(buffer2,sizeof(buffer2),"%02d/%02d/%04d", now.day(), now.month(), now.year());

ho provato il problema persiste allora spiego meglio io dovrei leggere data ora e secondi e invece leggo solo il prino nummero,

poi dovrei leggere acqua invece leggo solo a
poi plafo e leggo solo p e la temperatura non la vedo per intero

Ma sul lcd o sul serial monitor ?
Tu data e ora la stampi sia su serial monitor che su lcd.
se su serial monitor è okay ma su lcd è parziale allora è un problema della libreria lcd o del collegamento lcd.
Quanto è lcd ? 20x4 ? sembra la lib non lo abbia capito.
Fai una foto del lcd con le scritte parziali