Deze code heb ik een klein beetje aangepast dat als het alarm af gaat(tekst Serial.println ) dat een led gaat branden, maar deze moet ook weer uit gaan na 1 seconde. Dat aan gaan lukt wel, alleen dat uit gaan niet. Deze alarm repeat zich zelf weer na 1 min, dus ik wil dat de led elke 1 min aan gaat en na 1 seconde weer uit.
Wie kan hier mij mee helpen?
hier onder code( als het goed is, heb ik het nu bij gevoegd zoals het hoort
// during an alarm the INT pin of the RTC is pulled low
//
// this is handy for minimizing power consumption for sensor-like devices,
// since they can be started up by this pin on given time intervals.
#include <Wire.h>
#include "ds3231.h"
#define BUFF_MAX 256
int in1 = 4;Â // IN1-IN4= input is of your motorstepper driver (L298N MODULE)
int in2 = 5;
int in3 = 6;
int in4 = 7;
uint8_t sleep_period = 1;Â Â Â // the sleep interval in minutes between 2 consecutive alarms
// how often to refresh the info on stdout (ms)
unsigned long prev = 5000, interval = 5000;
void set_next_alarm(void)
{
  struct ts t;
  unsigned char wakeup_min;
  DS3231_get(&t);
  // calculate the minute when the next alarm will be triggered
  wakeup_min = (t.min / sleep_period + 1) * sleep_period;
  if (wakeup_min > 59) {
    wakeup_min -= 60;
  }
  // flags define what calendar component to be checked against the current time in order
  // to trigger the alarm
  // A2M2 (minutes) (0 to enable, 1 to disable)
  // A2M3 (hour)  (0 to enable, 1 to disable)
  // A2M4 (day)  (0 to enable, 1 to disable)
  // DY/DT     (dayofweek == 1/dayofmonth == 0)
  uint8_t flags[4] = { 0, 1, 1, 1 };
  // set Alarm2. only the minute is set since we ignore the hour and day component
  DS3231_set_a2(wakeup_min, 0, 0, flags);
  // activate Alarm2
  DS3231_set_creg(DS3231_INTCN | DS3231_A2IE);
}
void setup()
{
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
Â
  Serial.begin(9600);
  Wire.begin();
  DS3231_init(DS3231_INTCN);
  DS3231_clear_a2f();
  set_next_alarm();
}
void loop()
{
  char buff[BUFF_MAX];
  unsigned long now = millis();
  struct ts t;
  // once a while show what is going on
  if ((now - prev > interval) && (Serial.available() <= 0)) {
    DS3231_get(&t);
    // display current time
    snprintf(buff, BUFF_MAX, "%d.%02d.%02d %02d:%02d:%02d", t.year,
      t.mon, t.mday, t.hour, t.min, t.sec);
    Serial.println(buff);
    // display a2 debug info
    DS3231_get_a2(&buff[0], 59);
    Serial.println(buff);
    if (DS3231_triggered_a2()) {
      Serial.println(" -> alarm2 has been triggered");
      set_next_alarm();
      digitalWrite(in1, HIGH);                 // Dit heb ik zelf aan toegevoegd!!!
      // clear a2 alarm flag and let INT go into hi-z
      DS3231_clear_a2f();
    //digitalWrite(in1, LOW);                  //Dit heb ik ingevult om het laag te krijgen.
      Â
    }
    prev = now;
  }
 Â
}