DS3231SN RTC modul
DS3231SN RTC modul
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
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
Re: DS3231SN RTC modul
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.
Ezt kell átírnod a neked kellő értékre.
http://www.tavir.hu - a gazda
Re: DS3231SN RTC modul
Köszönöm, megnézem.
De estefelé felteszem a kódot és akkor egyértelmű lesz.
De estefelé felteszem a kódot és akkor egyértelmű lesz.
Re: DS3231SN RTC modul
Most megtaláltam a neten a kód nagyrészét:
És innen lestem le a kódot: https://learn.adafruit.com/adafruit-ds3 ... ??xyzallow
Köszi
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();
Köszi
Re: DS3231SN RTC modul
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
}
Re: DS3231SN RTC modul
É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?
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?
Re: DS3231SN RTC modul
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
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
Re: DS3231SN RTC modul
Ok nah erre gondoltam Én is...akkor megvan az esti program...
Köszönöm
Köszönöm
Re: DS3231SN RTC modul
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.
Köszönöm a segítséget.
Krisztián
Köszönöm a segítséget.
Krisztián
-
- DrótVégénSzéndarab
- Hozzászólások: 18
- Csatlakozott: 2017. március 19. vasárnap, 6:45
Re: DS3231SN RTC modul
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);
}
}
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);
}
}
Re: DS3231SN RTC modul
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é.
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é.
Re: DS3231SN RTC modul
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?
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
-
- DrótVégénSzéndarab
- Hozzászólások: 18
- Csatlakozott: 2017. március 19. vasárnap, 6:45
Re: DS3231SN RTC modul
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?
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?
Re: DS3231SN RTC modul
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.
http://www.tavir.hu - a gazda
-
- DrótVégénSzéndarab
- Hozzászólások: 18
- Csatlakozott: 2017. március 19. vasárnap, 6:45
Re: DS3231SN RTC modul
Szuper! Köszönöm!