есть скетч автокормушки с сайта Амперки.Загружается все нормально,но работать не хочет.серво дергается но не крутится.подскажите где моя ошибка.Подключение проверял не один раз,все по схеме.может в скетчечто не так установленно.Подскажите если не трудно.
// Подключаем библиотеки для работы
#include <Wire.h>
#include <TroykaRTC.h>
#include <Servo.h>
// Время первого кормления
#define FEED_HOUR_1 19
#define FEED_MINUTE_1 52
// Время второго кормления
#define FEED_HOUR_2 19
#define FEED_MINUTE_2 53
// Время третьего кормления
#define FEED_HOUR_3 18
#define FEED_MINUTE_3 59
// Пин к которому подключается сервопривод
#define SERVO_PIN A0
// Флаг "Уже покормили"
boolean flag = true;
RTC clock;
Servo servo;
void setup() {
// Инициализируем часы
clock.begin();
servo.attach(SERVO_PIN);
servo.write(90);
// Устанавливаем время
clock.set(18,58,00,27,03,20,5);
// открываем последовательный порт
}
void loop() {
clock.read();
//Проверяем не пришло ли время покормить животное
if (((clock.getHour() == FEED_HOUR_1) && (clock.getMinute() == FEED_MINUTE_1))
|| ((clock.getHour() == FEED_HOUR_2) && (clock.getMinute() == FEED_MINUTE_2))
|| ((clock.getHour() == FEED_HOUR_3) && (clock.getMinute() == FEED_MINUTE_3))) {
// Если время пришло устанавливаем флаг "Уже покормили"
flag == false;
// Открываем заслонку
servo.write(0);
// Время открытия заслонки
delay(500);
servo.write(90);
} else {
flag == true;
long timeMs = millis();
while (millis() - timeMs < 10) {}
servo.write(90);
}