DS1307 clock timer

Hardware geleverd door Arduino
Berichten: 203
Geregistreerd: 11 Mei 2014, 11:22

DS1307 clock timer

Berichtdoor vanschagen » 20 Aug 2014, 19:35

hallo
ik heb een printje met DS1307 timer
maar geeft enkel de tijd weer van 1970,hij geeft niet de tijd van arduino of pc
deze code gebruik ik,
Code: Alles selecteren
#include <Time.h>
#include <Wire.h>
#include <DS1307RTC.h>  // a basic DS1307 library that returns time as a time_t

void setup()  {
  Serial.begin(9600);
  setSyncProvider(RTC.get);   // the function to get the time from the RTC
  if(timeStatus()!= timeSet)
     Serial.println("Unable to sync with the RTC");
  else
     Serial.println("RTC has set the system time");
}

void loop()
{
   digitalClockDisplay();
   delay(1000);
}

void digitalClockDisplay(){
  // digital clock display of the time
  Serial.print(hour());
  printDigits(minute());
  printDigits(second());
  Serial.print(" ");
  Serial.print(day());
  Serial.print(" ");
  Serial.print(month());
  Serial.print(" ");
  Serial.print(year());
  Serial.println();
}

// utility function for digital clock display: prints preceding colon and
// leading 0.
//
void printDigits(int digits){
  Serial.print(":");
  if(digits < 10)
    Serial.print('0');
  Serial.print(digits);
}


clock heb ik op analoog pin 4,en DA op pin 5 van arduino MEGA,en vcc en gnd
hij geeft steeds "Unable to sync with the RTC"
of heb ik de verkeerde aansluiting gedaan ???
dit is het printje
http://www.ebay.com/itm/2PCS-RTC-DS1302-Real-Time-Clock-Module-For-Arduino-AVR-ARM-PIC-SMD-than-DS1307-/310930037540?pt=LH_DefaultDomain_0&hash=item4864dfdb24

Advertisement

Berichten: 77
Geregistreerd: 06 Okt 2012, 10:57

Re: DS1307 clock timer

Berichtdoor Beamer » 20 Aug 2014, 19:46

De MEGA gebruikt pin 20 en 21 ipv 4 en 5 voor I2C.

Berichten: 203
Geregistreerd: 11 Mei 2014, 11:22

Re: DS1307 clock timer

Berichtdoor vanschagen » 20 Aug 2014, 20:41

20 en 21 gebruikt doet niks dus en nu deze code gebruikt
Code: Alles selecteren
#include <Wire.h>
#include <Time.h>
#include <DS1307RTC.h>

void setup() {
  Serial.begin(9600);
  while (!Serial) ; // wait for serial
  delay(200);
  Serial.println("DS1307RTC Read Test");
  Serial.println("-------------------");
}

void loop() {
  tmElements_t tm;

  if (RTC.read(tm)) {
    Serial.print("Ok, Time = ");
    print2digits(tm.Hour);
    Serial.write(':');
    print2digits(tm.Minute);
    Serial.write(':');
    print2digits(tm.Second);
    Serial.print(", Date (D/M/Y) = ");
    Serial.print(tm.Day);
    Serial.write('/');
    Serial.print(tm.Month);
    Serial.write('/');
    Serial.print(tmYearToCalendar(tm.Year));
    Serial.println();
  } else {
    if (RTC.chipPresent()) {
      Serial.println("The DS1307 is stopped.  Please run the SetTime");
      Serial.println("example to initialize the time and begin running.");
      Serial.println();
    } else {
      Serial.println("DS1307 read error!  Please check the circuitry.");
      Serial.println();
    }
    delay(9000);
  }
  delay(1000);
}

void print2digits(int number) {
  if (number >= 0 && number < 10) {
    Serial.write('0');
  }
  Serial.print(number);
}


krijg deze melding "DS1307 read error! Please check the circuitry."

Berichten: 77
Geregistreerd: 06 Okt 2012, 10:57

Re: DS1307 clock timer

Berichtdoor Beamer » 20 Aug 2014, 23:18

Op welke pinnen heb je de RTC nu aangesloten?
Deze melding krijg je als hij geen RTC vindt.

Verder zie ik niet dat je de RTC declareert ( RTC_DS1307 rtc; ) voor je setup.
Probeer na de # include de declaratie eens in te voegen.

Berichten: 203
Geregistreerd: 11 Mei 2014, 11:22

Re: DS1307 clock timer

Berichtdoor vanschagen » 21 Aug 2014, 07:48

zoals ik zei op arduino MEGA pin 20 en 21
wat bedoel je hier mee?

Verder zie ik niet dat je de RTC declareert ( RTC_DS1307 rtc; ) voor je setup.
Probeer na de # include de declaratie eens in te voegen.

wat moet ik toevoegen dan??

ik snap het allemaal niet zo goed ,bij de ene sketch moet pin 4 en 5 ,bij de ander pin 20 en 21
en bij deze code zoals je kunt zien 6,7,8
hoe weet ik nu waar en hoe ik het moet aansluiten???


Code: Alles selecteren
#include <virtuabotixRTC.h> //|
 
// Creation of the Real Time Clock Object
//SCLK -> 6, I/O -> 7, CE -> 8
virtuabotixRTC myRTC(6, 7, 8);
 
void setup() {
Serial.begin(9600);
 
// Set the current date, and time in the following format:
// seconds, minutes, hours, day of the week, day of the month, month, year
myRTC.setDS1302Time(00, 59, 23, 6, 10, 1, 2014);
}
 
 
void loop() {
// This allows for the update of variables for time or accessing the individual elements.
myRTC.updateTime();
 
// Start printing elements as individuals
Serial.print("Current Date / Time: ");
Serial.print(myRTC.dayofmonth);
Serial.print("/");
Serial.print(myRTC.month);
Serial.print("/");
Serial.print(myRTC.year);
Serial.print(" ");
Serial.print(myRTC.hours);
Serial.print(":");
Serial.print(myRTC.minutes);
Serial.print(":");
Serial.println(myRTC.seconds);
 
// Delay so the program doesn't print non-stop
delay( 5000);
}

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: DS1307 clock timer

Berichtdoor nicoverduin » 21 Aug 2014, 08:29

Om te beginnen wat voor chip gebruik je nu eigenlijk voor jouw klok?
de DS1307 of heb jij zo'n virtuabotixRTC?
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl


Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: DS1307 clock timer

Berichtdoor nicoverduin » 21 Aug 2014, 09:01

Da's mooi... dan kun je deze handleiding gebruiken: https://www.virtuabotix.com/virtuabotix ... ing-guide/
Maar dat had je zelf ook kunnen vinden.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 203
Geregistreerd: 11 Mei 2014, 11:22

Re: DS1307 clock timer

Berichtdoor vanschagen » 21 Aug 2014, 09:11

ja klopt die werkt wel,die had ik als eerste geprobeerd.
maar ik dacht dat die anderen,de pc time over namen.
deze van viruabotix moet je code aanpassen ,maar neemt volgens mij de tijd van pc niet over
maar bedankt even goed

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: DS1307 clock timer

Berichtdoor nicoverduin » 21 Aug 2014, 10:33

Geen enkele module gaat de PC tijd overnemen tenzij je software schrijft die de PC tijd leest (mogelijk is er iets via processing) en deze via seriëel naar de Arduino stuurt. Op de Arduino moet er dan ook een speciaal stukje code worden geschreven die met het PC programma gaat praten. En of je het nu doet via Serieel, Bluetooth, Ethernet, Wifi het maakt allemaal niets uit. Je zult dan aan beide kanten (Arduino & PC) iets moeten hebben die met elkaar praten.
Als een Belg in België en een Nederlander in Nederland met elkaar willen communiceren en beide kunnen niet door de telefoon, internet, radio, TV of welk ander communicatie middel , met elkaar praten zullen ze elkaar nooit verstaan.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Volgende

Terug naar Arduino hardware

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 44 gasten