есть скетч автокормушки с сайта Амперки.Загружается все нормально,но работать не хочет.серво дергается но не крутится.подскажите где моя ошибка.Подключение проверял не один раз,все по схеме.может в скетчечто не так установленно.Подскажите если не трудно.
 
// Подключаем библиотеки для работы
#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);
  }