Salve a tutti, ho un problema con Arduino. Più precisamente non riesco a visualizzare l'ora e la data sulla porta seriale. Utilizzando un RTC DS1307 come quello in allegato e questo programma:
// Date and time functions using a DS1307 RTC connected via I2C and Wire lib
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 RTC;
void setup () {
Serial.begin(57600);
Wire.begin();
RTC.begin();
if (! RTC.isrunning()) {
Serial.println("RTC is NOT running!");
// following line sets the RTC to the date & time this sketch was compiled
RTC.adjust(DateTime(__DATE__, __TIME__));
}
}
void loop () {
DateTime now = RTC.now();
Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
Serial.print(" since midnight 1/1/1970 = ");
Serial.print(now.unixtime());
Serial.print("s = ");
Serial.print(now.unixtime() / 86400L);
Serial.println("d");
// calculate a date which is 7 days and 30 seconds into the future
DateTime future (now.unixtime() + 7 * 86400L + 30);
Serial.print(" now + 7d + 30s: ");
Serial.print(future.year(), DEC);
Serial.print('/');
Serial.print(future.month(), DEC);
Serial.print('/');
Serial.print(future.day(), DEC);
Serial.print(' ');
Serial.print(future.hour(), DEC);
Serial.print(':');
Serial.print(future.minute(), DEC);
Serial.print(':');
Serial.print(future.second(), DEC);
Serial.println();
Serial.println();
delay(3000);
}
Sulla porta seriale leggo caratteri incomprensibili. Ho cercato su internet ma non ho trovato nulla che mi possa aiutare.
Ho bisogna anche di uno sketch per visualizzare data e ora su un LCD. Grazie in anticipo.
Grazie a tutti, ho risolto il problema impostando la velocità a 9600. Ora, scusate se vi rompo , potreste dirmi come faccio ad impostare l'ora e la data?
Scusa Guglielmo ma non è che non ho letto, il problema è che non ho capito è per questo che chiedo. Se avessi capito non farei domande. Quindi ora domando, sempre per favore, se potete postarmi il programma completo. Grazie XD.
Nikof:
Scusa Guglielmo ma non è che non ho letto, il problema è che non ho capito è per questo che chiedo. Se avessi capito non farei domande.
Se sei a questo livello ... non sarebbe il caso che prima di imbarcarti in programmi come questo ... ti mettessi a studiare le BASI del C ??? Perché un stringa fatta con un array di char ... fa parte veramente delle basi !
Trovi molto interessante/educativo continuare a fare solo dei copia/incolla ... senza capire quello che stai facendo ???
Non trovi che impareresti molto di più e capiresti le cose ... dedicando un po' di tempo a studiare ed ha provare invece che ... chiedere la "pappa fatta" ?
E comunque, per una inizializzazione rapida della data/ora, il link che ti ha postato leo (il tutorial di Arafruit) riporta un modo estremamente semplice di come fare ...
Partiamo dal presupposto che a me piace la programmazione, solo che c'è un piccolo problema, in questo momento non ho tempo di mettermi a rivedere il linguaggio perché la mattina vado a scuola, il pomeriggio vado a fare l'alternanza scuola-lavoro e la sera mi tocca studiare perché ho gli esami. Mi è stato chiesto di fare una cosa e per farla non ho i requisiti quindi sto chiedendo a voi. Ho visto arduino per la prima volta 2 settimane fa e non posso capire subito tutto quello che riguarda la sua programmazione.
Detto questo, se volete aiutarmi bene, oppure tolgo il disturbo.