DS3231 led ansteuern im realen zeit

OP #4661691
Hallo

Habe ein DS3231 gekauft und an einem arduino uno angeschlossen

Die zeite habe ich eingestellt und das serial monitor zeigt mir den die 
richtige zeit

hier ist der code
1
// during an alarm the INT pin of the RTC is pulled low
2
//
3
// this is handy for minimizing power consumption for sensor-like devices, 
4
// since they can be started up by this pin on given time intervals.
5

6
#include <Wire.h>
7
#include "ds3231.h"
8

9
#define BUFF_MAX 256
10

11
// time when to wake up
12
uint8_t wake_HOUR = 15;
13
uint8_t wake_MINUTE = 49;
14
uint8_t wake_SECOND = 9;
15

16
// how often to refresh the info on stdout (ms)
17
unsigned long prev = 5000, interval = 5000;
18

19
void set_alarm(void)
20
{
21

22
    // flags define what calendar component to be checked against the current time in order
23
    // to trigger the alarm - see datasheet
24
    // A1M1 (seconds) (0 to enable, 1 to disable)
25
    // A1M2 (minutes) (0 to enable, 1 to disable)
26
    // A1M3 (hour)    (0 to enable, 1 to disable) 
27
    // A1M4 (day)     (0 to enable, 1 to disable)
28
    // DY/DT          (dayofweek == 1/dayofmonth == 0)
29
    uint8_t flags[5] = { 0, 0, 0, 1, 1 };
30

31
    // set Alarm1
32
    DS3231_set_a1(wake_SECOND, wake_MINUTE, wake_HOUR, 0, flags);
33

34
    // activate Alarm1
35
    DS3231_set_creg(DS3231_INTCN | DS3231_A1IE);
36
}
37

38
void setup()
39
{
40
    Serial.begin(9600);
41
    Wire.begin();
42
    DS3231_init(DS3231_INTCN);
43
    DS3231_clear_a1f();
44
    set_alarm();
45

46
}
47

48
void loop()
49
{
50
    char buff[BUFF_MAX];
51
    unsigned long now = millis();
52
    struct ts t;
53

54
    // once a while show what is going on
55
    if ((now - prev > interval) && (Serial.available() <= 0)) {
56
        DS3231_get(&t);
57

58
        // display current time
59
        snprintf(buff, BUFF_MAX, "%d.%02d.%02d %02d:%02d:%02d", t.year,
60
             t.mon, t.mday, t.hour, t.min, t.sec);
61
        Serial.println(buff);
62

63
        // display a1 debug info
64
        DS3231_get_a1(&buff[0], 59);
65
        Serial.println(buff);
66

67
        if (DS3231_triggered_a1()) {
68
            // INT has been pulled low
69
            Serial.println(" -> alarm1 has been triggered");
70
            // clear a1 alarm flag and let INT go into hi-z
71
            DS3231_clear_a1f();
72
        }
73
        prev = now;
74
    }
75
}


ich will einfach ein led in bestimmte zeit an und ausschalten

zb das anfang soll um 00uhr nachts sein .dann soll das led jede 30sec 
leuchten und 300ms delay und das in undless loop.

danke euch
Gast
Wichtige Regeln - erst lesen, dann posten!

Forum: Projekte & Code
Hier könnt ihr eure Projekte, Schaltungen oder Codeschnipsel vorstellen 
und diskutieren. Bitte hier keine Fragen posten!
Moderator (Firma: Titel) Persönliche Seite
Hjhgf O. schrieb:
> hier ist der code
Bitte einfach mal die BEDIENUNGSANLEITUNG lesen. Die steht über jeder 
Eingabebox. Hier mal eine Reduzierung auf das, was hier (abgesehen vom 
falschen Forum!) gerade nötig ist:
1
Antwort schreiben
2
Wichtige Regeln - erst lesen, dann posten!
3

4
    Groß- und Kleinschreibung verwenden
5
    Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
6

7
Formatierung (mehr Informationen...)
8

9
    [c]C-Code[/c]

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.