Нужна помощь с серво


Когда я говорил что отсутствие комментариев это плохо, я не имел ввиду ЭТО🤣
Вощем крайне запутана логика. Надо убирать вообще всё кроме серво, потом добавлять и пробовать.
Либо отлаживать через монитор, смотреть чё там с переменными происходит.
Кстати, servoToClose есть, а ServoOpen не нашёл, странно.

1 лайк

void servoOpen - 730 строчка
на счет коментов. там два датчика лазерных, по средствам которых реализован подсчет кур в курятнике в реальном времени. логика кажется сложной, но она рассчитана на то, что куры выходят и заходят не всегда целиком, иногда просто голову высунет и не выходит…

Это да. Но она нигде не вызывается.

609, 612, 615, 212, 213, 214

Т.е., нормальной схемы не будет?
Ну, дело Ваше, никто Вам не сможет помочь. Народ порезвится и разойдётся – пятница.

1 лайк

честно говоря ее просто нет. я ее в тинкеркаде (если правильно помню ) делал, а сейчас туда доступ ограничен, да и вероятнее всего аккаунт там уже удален. Еcть только герберфаил с JLCPCB. но сдается мне что он не поможет

Рисуйте.

В программу такую вникнуть никакого терпежа не хватит. Поэтому предлагаю начать с чего-нибудь другого. Вы серву-то эту, которая дёргается, отдельно от курятника и от этого скетча проверили? Она хоть живая?

отдельно не проверял, но из меню программы проверял работает. и учитывая что в любом другом меню кроме cese 1 , сама по себе она не дергается, делаю вывод что проблема в программной части

Раз есть готовый дисплей, попробуй рядом со всеми вызовами ServoOpen и ServoToClose выводить уникальный символ и паузу 10-50 мс. Так будет понятно какое место зациклено.
Но нельзя исключать что угодно, например конфликт библиотек после обновления.

2 лайка

проблема вот еще в чем - "
Скетч использует 28342 байт (98%) памяти устройства. Всего доступно 28672 байт.
Глобальные переменные используют 954 байт (37%) динамической памяти, оставляя 1606 байт для локальных переменных. Максимум: 2560 байт.
"
я в этот код даже серийный порт подключить не могу(((

Если дёргается ритмично, каждую секунду, то и нужно искать процесс, который запускается каждую секунду. Опрос, вывод… Понаблюдайте за системой.

Освободи память- закомментируй большую часть case пунктов меню. Надо вырезать всё что не относится к проблеме.

Проще припаять светодиод к свободному пину и моргать о проблеме нужное количество раз )

Есть же экран - на него выводи

2 лайка

В boards.txt исправь на 32767. И появится доп память. Только придётся скетч загружать через USBasp.

Можно просто оптибут вжечь. +2кб.
И строки в F() завернуть.

А как вы проверяли? Закомментируйте в коде всё, что связано с RTC, как будто его и нет.
Как по мне , всё же на него больше похоже

отключал шлейф модуля