#include <Servo.h>
#include "RTClib.h"
RTC_DS1307 rtc;
Servo srv;
int Feeds[3][4] = {{12,17,2,1},{11,18,2,1},{11,19,3,1}};
#define BUTTON_PIN A1
int lastState = HIGH;
void feed(int s)
{
while(s>0){
srv.write(0);
delay(1500);
srv.write(160);
delay(500);
s--;
}
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(BUTTON_PIN, INPUT_PULLUP);
srv.attach(2);
srv.write(160);
Serial.println(digitalRead(BUTTON_PIN));
if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
Serial.flush();
abort();
}
}
void loop() {
// put your main code here, to run repeatedly:
DateTime now = rtc.now();
for (int i =0; i<3;i++) {
if((now.minute() == Feeds[i][1]) && (Feeds[i][3] == 1))
{
feed(Feeds[i][2]);
Feeds[i][3] = 0;
Serial.println("Feeds");}
}
int value = digitalRead((BUTTON_PIN));
if (lastState != value) {
lastState = value;
if (value == HIGH) {
Serial.println(" released");
}
if (value == LOW) {
Serial.println(" pressed");
feed(3);
}
}
}