DS3231SN RTC modul

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Mouset
DrótVégénSzéndarab
Hozzászólások: 28
Csatlakozott: 2016. szeptember 10. szombat, 7:13

DS3231SN RTC modul

HozzászólásSzerző: Mouset » 2016. október 3. hétfő, 9:20

Sziasztok,

a segítségeteket szeretném kérni.
Tegnap összeszerelés közben kiesett az elem a modulból és miután visszatettem és elindítottam folyamatosan késik.
Nem lehet valahogy resetelni a modult vagy beszinkronizálni a PC rendszeridejével?

now.hour()
now.minute()
now.secound()

parancsokat használom.
Ha kiveszem belőle az elemet és lehúzom az arduinoról akkor a visszakapcsolást követően még többet késik.
Teljes kódot csak este tudok feltölteni, mert nem otthon vagyok.

De ha valaki a fentiek alapján tudna segíteni azt megköszönném.

Üdv,
Krisztián

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9737
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: DS3231SN RTC modul

HozzászólásSzerző: Robert » 2016. október 3. hétfő, 10:22

A kódod elején ott van, hogy ha az RTC nem fut/elemkiesés volt, akkor milyen utasítást hajtson végre (ide a fordítás ideje kerül alapba bele).
Ezt kell átírnod a neked kellő értékre.
http://www.tavir.hu - a gazda :)

Mouset
DrótVégénSzéndarab
Hozzászólások: 28
Csatlakozott: 2016. szeptember 10. szombat, 7:13

Re: DS3231SN RTC modul

HozzászólásSzerző: Mouset » 2016. október 3. hétfő, 10:38

Köszönöm, megnézem.
De estefelé felteszem a kódot és akkor egyértelmű lesz.

Mouset
DrótVégénSzéndarab
Hozzászólások: 28
Csatlakozott: 2016. szeptember 10. szombat, 7:13

Re: DS3231SN RTC modul

HozzászólásSzerző: Mouset » 2016. október 3. hétfő, 10:50

Most megtaláltam a neten a kód nagyrészét:

Kód: Egész kijelölése

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(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
    Serial.println();


És innen lestem le a kódot: https://learn.adafruit.com/adafruit-ds3 ... ??xyzallow

Köszi

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3210
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

Re: DS3231SN RTC modul

HozzászólásSzerző: kapu48 » 2016. október 3. hétfő, 12:31

A setupban kel javítani és ujra tölteni a programot:

Kód: Egész kijelölése

    // January 21, 2014 at 3am you would call:
    // Mivel a demoban nincsen megoldva az óra beállítása, csak itt tudodd megoldani programozáskor.
     rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0)); // Ezt a sort kel kivenned a megjegyzésből, de elötte megfelelöen kitölteni, és ujrafordítani
  }

Mouset
DrótVégénSzéndarab
Hozzászólások: 28
Csatlakozott: 2016. szeptember 10. szombat, 7:13

Re: DS3231SN RTC modul

HozzászólásSzerző: Mouset » 2016. október 3. hétfő, 13:21

Értem, köszönöm, akkor kipróbálom.
De ha ezt kitöltöm és ha egy esetleges áramszünetnél lekapcsol a rendszer. Akkor nem fog újra erről az időpontról indulni ha visszakapcsol?

Avatar
csegebiga
Pákabűvész
Hozzászólások: 225
Csatlakozott: 2015. március 27. péntek, 21:27

Re: DS3231SN RTC modul

HozzászólásSzerző: csegebiga » 2016. október 3. hétfő, 13:50

Két külöböző programot készíts:
1. beállítja az rtc-t
2. olvassa az rtc adatait, és csinál velük valamit.
az elsőt rátöltöd egyszer a panelre, futtatod egyszer,
majd rátöltöd a másodikat, és amíg az elem tart, fut.

a harmadik lehetőség, hogy megírod a futtatandó programodba az rtc settinget, ahol manuálisan megadod a beállítandó date time értéket.
erre van több példa a itt a fórumon, vagy a neten

Mouset
DrótVégénSzéndarab
Hozzászólások: 28
Csatlakozott: 2016. szeptember 10. szombat, 7:13

Re: DS3231SN RTC modul

HozzászólásSzerző: Mouset » 2016. október 3. hétfő, 13:52

Ok nah erre gondoltam Én is...akkor megvan az esti program...:-D

Köszönöm

Mouset
DrótVégénSzéndarab
Hozzászólások: 28
Csatlakozott: 2016. szeptember 10. szombat, 7:13

Re: DS3231SN RTC modul

HozzászólásSzerző: Mouset » 2016. október 5. szerda, 7:33

Megoldódot, hála az égnek megtaláltam azt a kódot, amivel az elején beállítottam és azt beillesztve az indulásnál pöcrre állította az órát és mentette.
:D :D :D
Köszönöm a segítséget.

Krisztián

Petyperetty
DrótVégénSzéndarab
Hozzászólások: 18
Csatlakozott: 2017. március 19. vasárnap, 6:45

Re: DS3231SN RTC modul

HozzászólásSzerző: Petyperetty » 2017. április 20. csütörtök, 4:40

Helló Mindenki! lehet ez a kérdés már felvetődött az RTC modullal kapcsolatban, de így talán gyorsabban választ kapok a kérdésemre.
Kezdő vagyok mind az Arduino területen, mind a programozás területen is. A Tavir-os RTC modult megvettem azzal a céllal, hogy
valós idejű órát programozzak le. Az első probléma, amibe belefutottam, hogy készítettem egy I2C busz scannert annak alapján, ahogy
a tanfolyamon volt. Szépen végig is listázza a lehetséges címeket hexa és eszközt talál az 0x57 -es címen.
Két dolgot nem értek ezzel kapcsolatban.
1. A panelon két I2C eszköz van. Az egyik az RTC chip, a másik az EEPROM chip. Mind a kettőnek külön címe van, mégis csak egy címet dob ki a program.
2. Nem stimmel a talált hexa cím. A DS3231 -nek a címe kötött: 1101000, ami 0x68. Az EEPROM címe: 1010000, ami 0x50.
Ez így sehogy sem stimmel.
Itt a kód:

#include <Wire.h>

int x;

void setup()
{
Serial.begin(9600);
Wire.begin();
Serial.println();
}

void loop()
{
for(x=1;x<128;x++)
{
Serial.print("addr: ");
if(x<16)
{
Serial.print("0");
}
Serial.print(x,HEX);
Serial.print(" ");
Wire.requestFrom(x,1);
if(Wire.available())
{
Serial.print("found");
Serial.print(" ");
}
else
{
Serial.print(" ");
}
Serial.print((x%4) ? "\t":"\n");
delay(10);
}
while(1)
{
delay(1);
}
}

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3210
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

Re: DS3231SN RTC modul

HozzászólásSzerző: kapu48 » 2017. április 20. csütörtök, 13:04

Pedig látszólag jók a kapót értékek!

Ellenőrzés véget.
Valószínűleg van a gépeden alapból számológép?
Átállítod programozói üzemmódba.
És simán át tudod vele válltani a bevitt bináris értékeket, HEXA vagy Decimális értékekké.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9737
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: DS3231SN RTC modul

HozzászólásSzerző: Robert » 2017. április 20. csütörtök, 17:23

Az RTC-be az elemet beraktad? Jól?
Az I2C buszon jól szólítod meg? Kábelezés nem kontakthibás?
Alappanel due vagy mega vagy uno?
http://www.tavir.hu - a gazda :)

Petyperetty
DrótVégénSzéndarab
Hozzászólások: 18
Csatlakozott: 2017. március 19. vasárnap, 6:45

Re: DS3231SN RTC modul

HozzászólásSzerző: Petyperetty » 2017. április 22. szombat, 5:54

Az alappanel UNO, az elem ok, jól szólítom meg, mert kapok választ, a kábelezés az előbbi ok miatt rendben levő szrtm.
A 0x57 az egyetlen cím, amit kiír. Az RTC-nek 0x68, míg az EEPROM-nak meg 0x50, mert szabadon hagytam jumpereket.
Alapból nem értem, hogy mit keres ott az 57. :-)
Van ehhez az RTC panelhoz kapcsolási rajz?

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9737
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: DS3231SN RTC modul

HozzászólásSzerző: Robert » 2017. április 22. szombat, 6:26

rtc-goodparts.jpg
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.
http://www.tavir.hu - a gazda :)

Petyperetty
DrótVégénSzéndarab
Hozzászólások: 18
Csatlakozott: 2017. március 19. vasárnap, 6:45

Re: DS3231SN RTC modul

HozzászólásSzerző: Petyperetty » 2017. április 23. vasárnap, 4:25

Szuper! Köszönöm!


Vissza: “Arduino / C-nyelvű programozás (AVR-Duino, EthDuino, Arduino, Diecimila)”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 4 vendég