Cosi come e il codice l'orologio salta tre 3 secondi per volta (delay spento)
mentre la temperatura esterna e fissa (delay spento)
l'interna lampeggia per un secondo.
(delay 1000 )
(lcd clear)
questo e il problema sincronizzare tutto in modo esatto cioé
orologio per suo conto con delay RTC DS1307
sensore esterno analogico con delay e clear LM35A
idem sensore digitale interno DS 18b20
#include <Wire.h>
#include <RTClib.h>
#include <LCD03.h>
#include <OneWire.h>
#include <DallasTemperature.h>
//Cavo dati sia collegato a pin 2 sul Arduino
#define ONE_WIRE_BUS 2
char buffer[10];
float temperatura;
RTC_DS1307 RTC;
LCD03 lcd;
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
void setup () {
Wire.begin();
RTC.begin();
lcd.begin(20, 4);
sensors.begin();
lcd.backlight();
// lcd.print(" GESTIONE ACQUARIO Di Rosiello Claudio");
delay(5000);
lcd.clear();
if (! RTC.isrunning()) {
RTC.adjust(DateTime(__DATE__, __TIME__));
}
}
void loop () {
DateTime now = RTC.now();
lcd.clear();
char buffer[10] ="";
lcd.setCursor(0,0);
lcd.print("ACQUARIO MARINO");
lcd.setCursor(0,2);
lcd.print("Int:");
lcd.setCursor(10,2);
lcd.print("Est:");
lcd.setCursor(0,3);
lcd.print("PH:0,0");
lcd.setCursor(10,3);
lcd.print("Luce:00%");
sprintf (buffer,"%02d/%02d/%d", now.day(), now.month(), now.year());
lcd.setCursor(10,1);
lcd.print(buffer);
sprintf(buffer,"%02d:%02d:%02d", now.hour(), now.minute(), now.second());
lcd.setCursor(0,1);
lcd.print( buffer );
//delay (1000);
temperatura=analogRead(A0);
lcd.setCursor(15,2);
lcd.print((5.0 * temperatura * 100.0)/1024.0)/1000;
//delay (1000);
sensors.requestTemperatures(); // Invia il comando di lettura delle temperatura
lcd.setCursor(4, 2);
lcd.print (sensors.getTempCByIndex(0));
delay (1000);
lcd.clear();
//lcd.noBacklight();
}
ciao grazie