• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 1 głosów - średnia: 5
  • 1
  • 2
  • 3
  • 4
  • 5
Zegar RTC PCF8563 lub inne zasilanie z baterii. Czy są takie dostępne?
#11
Przyszedł zegar podłaczyłem i jestem miło zaskoczony działa fajnie, dokładnie nie spr spania ale tak na szybko miernik pokazał 2.5uA zegar razem z prockiem.
Tylko nie wiem jak ustawić dwa alarmy  Confused
Gdy ustawiam jeden przerwanie budzi procek o danej godz, ale jak powielam linijkę set.alarm to z dwóch jedna się wykonuje. Macie jakiś pomysł?

Kod:
#include <Wire.h>
#include <Rtc_Pcf8563.h>

/* get a real time clock object */
Rtc_Pcf8563 rtc;
/* a flag for the interrupt */
volatile int alarm_flag=0;

/* the interrupt service routine */
void blink()
{
  alarm_flag=1;
}

void setup()
{


  Serial.begin(9600);

  /* clear out all the registers */
  rtc.initClock();
  /* set a time to start with.
  * day, weekday, month, century, year */
  rtc.setDate(14, 6, 3, 0, 10);
  /* hr, min, sec */
  rtc.setTime(1, 15, 40);
  /* set an alarm for 20 secs later...
  * alarm pin goes low when match occurs
  * this triggers the interrupt routine
  * min, hr, day, weekday
  * 99 = no alarm value to be set
  */
  rtc.setAlarm(16, 99, 99, 99);
rtc.setAlarm(16, 99, 99, 99);  // dla drugiego alarmu

  /* setup int on pin 3 of arduino */
  attachInterrupt(1, blink, FALLING);
  alarm_flag=0;
}

void loop()
{
  /* each sec update the display */
  Serial.print(rtc.formatTime());
  Serial.print("  ");
  Serial.print(rtc.formatDate());
  Serial.print("  0x");
  Serial.print(rtc.getStatus2(), HEX);
  Serial.print("\r\n");
  delay(1000);
  if (alarm_flag==1){
    clr_alarm();
  }

}

void clr_alarm()
{
  rtc.clearAlarm();
  delay(1000);
  alarm_flag=0;

}
 
Odpowiedź
#12
Wklejaj w code.
Może nie da się ustawić dwóch, to wynika z datasheet? Ja tam widzę mowę o jednym lub więcej rejestrach do alarmu, ale każdy zawiera inne dane, minuty, sekundy, dzień miesiąca czy tygodnia, a wszystkie tak jakby wyglądają jak komplet do jednego. Bardziej bym się spodziewał możliwości tak zdefiniować te rejestry, by przerwanie było generowane zawsze o pełnej godzinie, np. gdy minuty i sekundy ==0, a reszta danych nie jest aktywna więc jest ignorowana.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#13
Nie mogę znaleźć takiej informacji potrzebuje ustawić dwa alarmy ale tu chyba nic z tego nie wyjdzie. Szkoda bo fajny timer.
 
Odpowiedź
#14
Ja mam rtc DS3231 i tu jest informacja o dwóch alarmach, każdy ma swoje rejestry m,h, itd, także ten tu raczej po prostu ma jeden.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#15
(18-10-2022, 19:08)kaczakat napisał(a): Ja mam rtc DS3231 i tu jest informacja o dwóch alarmach, każdy ma swoje rejestry m,h, itd, także ten tu raczej po prostu ma jeden.
No dokładnie tak, bo datasheet nic nie pisze o dwóch.
kaczakat mam prośbę czy mógłbyś spr jakie DS3231 pobiera prądy? Robię projekt na baterii i to jest dla mnie istotna informacja. Może bym zamówiłem ten o którym piszesz.
 
Odpowiedź
#16
3231 ciągnie w stanbayu 170µA, ale ma dwa alarmy.
Za to PCF85263A bierze tylko 0.28 μA, ma dwa alarmy, ale raczej nie do kupienia w PL
Poza tym jest to bardzo ciekawy sprzęt https://www.nxp.com/docs/en/data-sheet/PCF85263A.pdf
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
#17
(18-10-2022, 22:25)Robson Kerman napisał(a): 3231 ciągnie w stanbayu 170µA, ale ma dwa alarmy.
Za to PCF85263A bierze tylko  0.28 μA, ma dwa alarmy, ale raczej nie do kupienia w PL
Poza tym jest to bardzo ciekawy sprzęt https://www.nxp.com/docs/en/data-sheet/PCF85263A.pdf
Robson Kerman dziękuję za info faktycznie sporo ciągnie.
Oo właśnie taki timer by się przydał bardzo ciekawy ajj szkoda, że ciężki do kupienia ale zanotuje sobie na przyszłośc i poczytam dokumentację.
Zostaje mi może nie do końca eleganckie rozwiązanie ale mam Attiny 202 mała kość uspie go głęboko usypiając wszystkie urządzenia peryferyjne to będzie 100nA i dokupie drugi timer dam pod jedno przerwanie,wywalę baterie dodam superkondensator diodę i rezystor i tak zamknę ten temat.
 
Odpowiedź
#18
Tak jak napisał Robson Kerman 170u wg PDF, max. Na takim z którego wywaliłem wyzerowaną baterię pobór jest 110 przy 5V i 35uA przy 3.3V. Dlatego pewnie bateria się wyzerowała, po zakupie trafiły do pudła i wszystkie mają już padnięte baterie.
Dodatkowo te małe moduły z wlutowaną baterią nie mają wyprowadzonego pinu INT, są tylko Vcc, GND, SCL, SDA i jeden niepodłączony nigdzie, tu można ewentualnie coś dorzeźbić.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#19
Panowie okazało się że można! Dokumentacja mówi nie, a ja mówię tak Tongue
Zrobiłem coś takiego napisałem prostą funkcje w postaci "flagi" po wykonaniu pierwszego set.alarm kasuje bit zanim wprowadzę drugi alarm. Czekam, aż pierwszy się ustawi i potem ustawiam drugi i działa dzięki temu uzyskałem dwa różne alarmy. Jeszcze tylko muszę spr czy alarm będzie się wykonywał codziennie o tej samej godz, nie sprawdzałem tego nawet w przypadku włączenia tylko jednego alarmu. Musze to zostawić do jutra wieczora.
Nie wiem jak to interpretować bo tymi timerami się nie bawiłem mam linie rtc.setAlarm(10, 17, 19, 3);  // min, godz, dzien, dzień tygodnia
Czy to oznacza, że wykona się raz w tym dniu i koniec ? czy codziennie będzie się wykonywał?

Cytat:16:34:05.482 -> Alarm Włączony!
16:34:05.482 ->
16:34:05.482 -> Wyczysc Flage Alarmu
16:34:06.467 -> 16:34:01  10/19/2022
16:37:05.458 -> Alarm Włączony!
16:37:05.504 ->
16:37:05.504 -> Wyczysc Flage Alarmu
16:37:06.484 -> 16:37:01  10/19/2022
 
Odpowiedź
#20
W ten sposób można napisać nieskończoną liczbę alarmów.
Tylko, że jak piszę sprzęt dla klienta, to upycham też WDG, obsługę błędów, reakcje na nieprzewidziane w programie zdarzenia itp., to jak mi zresetuje przed ustawieniem drugiego alarmu, to maszynka obudzi się dopiero jutro z pierwszym alarmem, więc wyskoczy zwiecha systemu i nieobsługiwany error do jutra.
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości