Bijna gelukt, alleen zit nog iets raars in!! de stappen motor geeft vier stappen in dit geval om de 1 secondes maar daarna stop ie en gaat ie pas weer naar 1 min opnieuw vier stappen. Ik snap dit niet want het staat gewoon in de loop en heb geen delay. Wie o wie kan mij dit uitleggen. De rtc module heb ik ook op echte tijd gezet.
Hier onder de code.
// written by MIXVIDEO
include
include "RTClib.h"
RTC_DS1307 rtc;
int in1 = 4; // IN1-IN4= input is of your motorstepper driver (L298N MODULE)
int in2 = 5;
int in3 = 6;
int in4 = 7;
void setup()
{
Serial.begin(9600);
Wire.begin();
rtc.begin();
if (! rtc.isrunning())
{
Serial.println("RTC is NOT running!");
}
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
}
void loop()
{
DateTime now = rtc.now();
digitalWrite(in4, LOW);
/* Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(" (");
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
Serial.println();
Serial.println();
delay(1000); */
if (now.second() == 1)
{
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
}
if (now.second() == 2)
{
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
}
if (now.second() == 3)
{
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
}
if (now.second() == 4)
{
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
}
}