ARDUINO Наливатор. Обсуждение проекта

egor1991

✩✩✩✩✩✩✩
10 Окт 2025
4
0
Был не рабочий модуль привода, поменял его и все заработало. Только сейчас при входе в сервисный режим для настройки углов над рюмками, при повороте энкодера он сразу отключается и включается, и так же делает при выборе автоматического режима. В чем может быть проблема? И какой конденсатор должен стоять на помпе, если можно пришлите пожалуйста фото или ссылку

Вот такой нормально?
 

Вложения

ДмитрийСем

✩✩✩✩✩✩✩
22 Май 2025
1
0
Доброго дня! какую строку кода, взятого у Гайвера v1.5, мне нужно откорректировать, чтобы сделать паузу в 2секунды до начала работы серво привода в автоматическом режиме?!
Подробнее: Я устанавливаю автоматический режим наливатора и после установки рюмки сразу же включается сервопривод и поворачивает носик. Я хочу добавить паузу в 2 секунды, чтобы хотя бы успеть убрать руку.
 

Bruzzer

★★★★✩✩✩
23 Май 2020
752
230
какую строку кода, взятого у Гайвера v1.5, мне нужно откорректировать, чтобы сделать паузу в 2секунды до начала работы серво привода ...
Такой строки нет.
Можно предложить следующую конструкцию:
Создать переменную для вычисления задержки и значение требуемой задержки
Например, добавить строки в начало файла GyverDrink_v1.5.ino
#define DELAY_EMPTY_GLASS 2000 //Задержка начала движения сервы после установки рюмки, чтобы не било по рукам
uint32_t timeEmptyGlass; // время когда поставили пустой стакан
Внести изменения в файл c_func.ino
Добавить запоминание времени при добавлении пустой рюмки timeEmptyGlass = millis();
C++:
void flowTick() {
  if (FLOWdebounce.isReady()) {
    for (byte i = 0; i < NUM_SHOTS; i++) {
      bool swState = !digitalRead(SW_pins[i]) ^ SWITCH_LEVEL;
      if (swState && shotStates[i] == NO_GLASS) {  // поставили пустую рюмку
        timeEmptyGlass = millis();                                  // запомнили, когда поставили пустую рюмку. (чтобы сделать задержку начала движения)
        timeoutReset();                                             // сброс таймаута
        shotStates[i] = EMPTY;                                      // флаг на заправку
Добавить проверку окончания задержки в коде отвечающем за начало движения.
отредактировав условие if (systemState == SEARCH)
C++:
// поиск и заливка
void flowRoutnie() {
  if (systemState == SEARCH && (millis() - timeEmptyGlass >= DELAY_EMPTY_GLASS)) {       // если поиск рюмки
    bool noGlass = true;
Ссылка на проект в WOKWI. В нем сделаны указанные изменения. (Но есть и другие, связанные с особенностью переноса в WOKWI)
 
Изменено:

Андрей89

✩✩✩✩✩✩✩
25 Ноя 2023
7
0
Дорого времени суток! Подскажите пожалуйста как сделать чтобы сервопривод на наливаторе вращался в другую сторону? Что нужно поменять в скетче может?
 

Dmitriy_molodechno

✩✩✩✩✩✩✩
21 Авг 2025
13
0
Добрый .Подскажите варианты от пролива капель ,когда серво возвращается в дом?Клапан ставить?И в обратном возвращении домой серво двигается с рывками,это наблюдается только когда возвращается домой после налива.
 

Андрей89

✩✩✩✩✩✩✩
25 Ноя 2023
7
0
Добрый день! Подскажите пожалуйста при компиляции скетча выдаёт ошибку: в названии LEDdata не указаны тип данных. Как это исправить подскажите пожалуйста.
 

Андрей89

✩✩✩✩✩✩✩
25 Ноя 2023
7
0
@Dmitriy_molodechno, Добрый день от капель помогает ставить трубку меньшего диаметра, ну и клапан тоже не помешает. Я ставлю. А про остальное ничего не могу сказать, что то наверное в скетче
 

viktor1703

★★★✩✩✩✩
9 Дек 2021
778
192
выдаёт ошибку: в названии LEDdata не указаны тип данных. Как это исправить
Использовать библиотеку для светодиодов из архива. Версии библиотек отличаются не только цифрами в названии, но и внутренним содержимым