Ciao a tutti, sono alle prese con un modulo ds1307, precisamente questo:
http://www.ebay.it/itm/Arduino-DS1307-RTC-KIT-PCB-Real-Time-Clock-For-PIC-ARM-AVR-DSP-/280917352316?pt=Componenti_elettronici_attivi&hash=item4167fa9f7c#ht_2272wt_1400
Come IDE sto utilizzando il 0022 e la libreria è DS1307.h
Ho caricato lo sketch di esempio, questo:
/*Reads the value from a Real Time Clock (RTC) DS1307 and displays it in the serial monitor
*
*Created by D. Sjunnesson 1scale1.com d.sjunnesson (at) 1scale1.com
*
*Created with combined information from
*http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1180908809
*http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1191209057
*
*
*Big credit to mattt (please contact me for a more correct name...) from the Arduino forum
*which has written the main part of the library which I have modified
*
*/
#include <WProgram.h>
#include <Wire.h>
#include <DS1307.h> // written by mattt on the Arduino forum and modified by D. Sjunnesson
void setup()
{
Serial.begin(9600);
RTC.stop();
RTC.set(DS1307_SEC,1); //set the seconds
RTC.set(DS1307_MIN,23); //set the minutes
RTC.set(DS1307_HR,12); //set the hours
RTC.set(DS1307_DOW,4); //set the day of the week
RTC.set(DS1307_DATE,5); //set the date
RTC.set(DS1307_MTH,3); //set the month
RTC.set(DS1307_YR,9); //set the year
RTC.start();
}
void loop()
{
Serial.print(RTC.get(DS1307_HR,true)); //read the hour and also update all the values by pushing in true
Serial.print(":");
Serial.print(RTC.get(DS1307_MIN,true));//read minutes without update (false)
Serial.print(":");
Serial.print(RTC.get(DS1307_SEC,true));//read seconds
Serial.print(" "); // some space for a more happy life
Serial.print(RTC.get(DS1307_DATE,true));//read date
Serial.print("/");
Serial.print(RTC.get(DS1307_MTH,true));//read month
Serial.print("/");
Serial.print(RTC.get(DS1307_YR,true)); //read year
Serial.println();
delay(1000);
}
Il problema è che lo sketch dovrebbe scrivermi su seriale l'ora corrente partendo da quella impostata nello sketch giusto?
Bene aprendo la comunicazione seriale ecco quello che mi esce:
0:0:0 0/0/2000
0:0:0 0/0/2000
0:0:0 0/0/2000
0:0:0 0/0/2000
0:0:0 0/0/2000
0:0:0 0/0/2000
0:0:0 0/0/2000
...
e così sempre, è come se ogni secondo che conta non riuscisse a portare il conto. Come è possibile?
Una cosa xò nel modulo RTC il pin denominato "SQW" dove va collegato, su altri schemi è come se rimane scollegato è giusto così?
Grazie a tutti!