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

norem

★✩✩✩✩✩✩
22 Фев 2020
12
14
@norem, Спасибо за консультацию ) схема стандартная библиотеки тоже(может правда устарели) но поведение сервы и диодов в хаотичном порядке . буду подбирать библиотеки по новее может и запустится )
проверьте настройки в скетче
const byte shotPos[] = {34, 72, 113, 153, 0, 0}; //положение серво над центрами рюмок
const byte SW_pins[] = {A3, A2, A1, A0, 2}; //подключение концвиков
servo.setSpeed(8);
servo.setAccel(0.1);
как вариант скопировать эти данные с вашей предыдущей прошивки
И покажите видео как ведет себя блок, можно в лс
 
  • Лойс +1
Реакции: Xaron

VICLER

★★★★★★✩
9 Дек 2019
801
658
Hamburg
VICLER, ещё раз огромнейшее СПАСИБО.
недочетик скорей к механике - тобиш ко мне .
а скорость сервы в момент выезда- заезда для прокачки можно где то убавить , а то шторку аж срывает .
а так ,зачетно, даже можно сказать доп фича - ставь куда хочеш , наливай сколько хочеш - жалко только не считает;)
спасибо.
вот код с использованием ServoSmooth и выводом на дисплей вылитого объёма во время прокачки:
C-like:
void btnTick() {
  if (btn.holded()) {
    timeoutReset();
    workMode = !workMode;
    dispMode();
  }
  if (encBtn.holding()) {
    int8_t pumpingShot = -1;
    if (!workMode) {                            // в ручном режиме ищем рюмку
      for (byte i = 0; i < NUM_SHOTS; i++) {    // поиск наличия рюмки
        if (!digitalRead(SW_pins[i])) {         // нашли рюмку
          servoON();
          servo.attach(SERVO_PIN);
          servo.setTargetDeg(shotPos[i]);
          pumpingShot = i;
        }
      }
      if (pumpingShot == -1) return; // нет рюмок -> нет прокачки, ищем заново ^
      while (!servo.tick()); // едем к рюмке
      delay(300); // небольшая задержка перед наливом
    }
    else if(systemState != PUMPING) return;
    else pumpingShot = curPumping;
    pumpON(); // включаем помпу
    timerMinim timer100(100);
    int pumpVolume = 0;
    
    while (!digitalRead(SW_pins[pumpingShot]) && !digitalRead(ENC_SW)) // пока стоит рюмка и зажат энкодер, продолжаем наливать
    {
      if (timer100.isReady()) {
        pumpVolume += round(100 * 50.0 / time50ml);
        disp.displayInt(pumpVolume);
      }
    }
    pumpOFF();
    delay(300);
    servo.setTargetDeg(0);
    while (!servo.tick()); // едем назад в нулевое положение
    servoOFF();
    servo.detach();
    timeoutReset();
    if (workMode) systemState = WAIT;
  }
}
 
Изменено:

kostyaskv

★✩✩✩✩✩✩
18 Ноя 2019
68
25
проверьте настройки в скетче
const byte shotPos[] = {34, 72, 113, 153, 0, 0}; //положение серво над центрами рюмок
const byte SW_pins[] = {A3, A2, A1, A0, 2}; //подключение концвиков
servo.setSpeed(8);
servo.setAccel(0.1);
как вариант скопировать эти данные с вашей предыдущей прошивки
И покажите видео как ведет себя блок, можно в лс
У меня тоже ваша прошивка отказалась работать.поведение сервы и диодов в хаотичном порядке .
 

VICLER

★★★★★★✩
9 Дек 2019
801
658
Hamburg
@kostyaskv,
в этой прошивке подключение датчиков не такое, как у Алекса. Для правильной работы нужно в файле GyverDrink.ino заменить

const byte SW_pins[] = {A3, A2, A1, A0, 2};
на
const byte SW_pins[] = {A0, A1, A2, A3, A4, A5};
 
  • Лойс +1
Реакции: kostyaskv и norem

kostyaskv

★✩✩✩✩✩✩
18 Ноя 2019
68
25
@kostyaskv,
в этой прошивке подключение датчиков не такое, как у Алекса. Для правильной работы нужно в файле GyverDrink.ino заменить

const byte SW_pins[] = {A3, A2, A1, A0, 2};
на
const byte SW_pins[] = {A0, A1, A2, A3, A4, A5};
Спс, сейчас попробую
 

станислав9

✩✩✩✩✩✩✩
7 Мар 2020
18
5
вот код с использованием ServoSmooth и выводом на дисплей вылитого объёма во время прокачки:
для корректной работы в сервисном режиме требуется добавить одну переменную в GyverDrink.ino(после переменных, которые там уже прописанны):
bool service = false;

а так же присвоить этой переменной true, когда вошли в сервис режим, и false, когда вышли:
C-like:
void serviceMode() {
  if (!digitalRead(BTN_PIN)) {
  service = true;
  ...
  ...
  ...
  service = false;
}

C-like:
void btnTick() {
  if (btn.holded()) {
    timeoutReset();
    workMode = !workMode;
    dispMode();
  }
  if (encBtn.holded()) {
    int8_t pumpingShot = -1;
    for (byte i = 0; i < NUM_SHOTS; i++) {    // поиск наличия рюмки
      if (!digitalRead(SW_pins[i])) {         // нашли рюмку
        servoON();
        servo.attach(SERVO_PIN);
        servo.setTargetDeg(shotPos[i]);
        pumpingShot = i;
      }
    }
    if (pumpingShot == -1) return; // нет рюмок -> нет прокачки, ищем заново ^
    while (!servo.tick()); // едем к рюмке
    delay(300); // небольшая задержка перед наливом
    pumpON(); // включаем помпу
    timerMinim timer100(100);
    int pumpVolume = 0;
    while (!digitalRead(SW_pins[pumpingShot]) && !digitalRead(ENC_SW)) // пока стоит рюмка и зажат энкодер, продолжаем наливать
    {
      if (!service) {
        if (timer100.isReady()) {
          pumpVolume += round(100 * 50.0 / time50ml);
          disp.displayInt(pumpVolume);
        }
      }
    }
    pumpOFF();
    dispMode();
    delay(300);
    servo.setTargetDeg(0);
    while (!servo.tick()); // едем назад в нулевое положение
    servoOFF();
    servo.detach();
    timeoutReset();
    systemState = WAIT;
  }
}
блин , ели разобрался что где ...
ВООЩЕ ПИСК...жаль после отпускания кнопки энкодера циферки не остаются на какое то время , а сразу переключаются в - Р ХХ- может долить захочется🥃чуть чуть.
ааа в авто и ручном вообще не считает почему то.

VICLER, СПАСИБО.
всё получилось как я хотел , даже лучше.походный мини вариант -почти без излишеств.
буду приводить (из того что под рукой) в божеский вид.
ещё раз СПАСИБО за понимание и терпение.
(y) (y) (y) (y) (y)
 

vog78

★✩✩✩✩✩✩
12 Фев 2020
48
16
Добрый день. Немного переписал код алекса версии 1.5, добавив туда много замечательных функций сделанных нашим сообществом, за что хочу сказать им огромное спасибо.
Наливатор сделан по схеме Алекса на 4 стопки.
1. Добавлена светодиодная анимация включения.
2. Добавлена случайная анимация семисегментного экрана
3. Добавлена анамация после наполнения емкостей.
4. В процессе налива изменяется цвет стопки от оранжевого до зеленого
5. Индикация разлитой жидкости в мл после каждого налива
6. Прокачка в нужную стопку. Позиция стопки описывается в переменных. Таймаут включения увеличен до 3 сек.
7. Добавлены задержки перед наливом и движением сервы
8. Добавлен режим для девочек. Установка нужных позиций при кручении зажатым энкодером
9. Отображение на экране количества наливаемой жидкости
Еще раз хочу сказать спасибо друзьям без которых не получилось бы столь замечательного проекта. AlexGyver, VICLER, RomaT, Levonti, Старик Похабыч, и др

Наливатор
Почему-то выдает ошибка архива!
 

norem

★✩✩✩✩✩✩
22 Фев 2020
12
14
провел много изменений. Проверьте у кого не открывалось и работало некорректно
Наливатор сделан по схеме Алекса
В прошивке нет поддержки шагового двигателя и ОЛЕД дисплея!
1. Добавлена светодиодная анимация включения
2. Добавлена случайная анимация семисегментного экрана
3. Добавлена анимация после наполнения емкостей.
4. В процессе налива изменяется цвет стопки от оранжевого до зеленого
5. Индикация разлитой жидкости в мл после каждого налива
6. Прокачка в нужную стопку. Позиция стопки описывается в переменных(PUMPING_SHOT).
7. Добавлены задержки перед наливом и движением сервопривода
8. Добавлен режим для девочек. Установка нужных позиций при кручении зажатым энкодером
9. Отображение на экране количества наливаемой жидкости
 

Вложения

  • Лойс +1
Реакции: Romka007, Sipkomax и Xaron

TimicH

★★✩✩✩✩✩
9 Фев 2020
127
60
63
Новосибирск
Извините ребята, но я честно перепробовал все версии "Наливатора", самая стабильная и по моему мнению, стабильная и лучшая "модифицированная версия 1.2 от Aлекса". Это конечно моё мнение.
 
Изменено:

Sipkomax

✩✩✩✩✩✩✩
6 Дек 2019
8
3
Подскажите серва MG90S может поворачиваться больше чем на 180 градусов? а то че то я туплю...

Понял серва только на 180(( просто корпус начертил и напечатал на больший угол, если модель нужна кому прикреплю

Подскажите еще как можно реализовать угол поворота больше 180 градусов? Блин корпус печатал больше пяти часов... так не хочется переделывать
 

Вложения

  • Лойс +1
Реакции: smedlu

Димка-Хулиган

✩✩✩✩✩✩✩
28 Ноя 2019
13
2
Не отключается серва во время налива, появляются рывки сервы. Единственное что добавлял, это повышайку на помпу после драйвера. Измерял , 5в приходит на серву даже во время налива. Вот как подключено.
 

Вложения

Sipkomax

✩✩✩✩✩✩✩
6 Дек 2019
8
3
Ребята вроде все собрал настроил прошивка от Алекса 1.5, но из пяти светодиодов горят только первые три... Ставлю прошивку 1.3 светодиоды вообще не горят... Светодиоды перепаивал, менял местами, ничего не помогло.. Что еще можно посмотреть?!
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,207
1,290
Москва
@Sipkomax, Возьми любой пример из библиотек Фастлед, микролед , поствь свой пин, и измени число светодиодов на 5. Если все спаяно верно , то все 5 должны светиться
 
  • Лойс +1
Реакции: Sipkomax

Sipkomax

✩✩✩✩✩✩✩
6 Дек 2019
8
3
@Sipkomax, Возьми любой пример из библиотек Фастлед, микролед , поствь свой пин, и измени число светодиодов на 5. Если все спаяно верно , то все 5 должны светиться
Спасибо, поздно прочитал совет... Вообщем поменял все светодиоды не помогло, затем поставил другую nano и все светодиоды загорелись))
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,207
1,290
Москва
Для этого корпуса никак. Где то видел, что можно +1-2-3 градуса сделать, но этого тут явно мало.
Варианты - использовать прошивку @VICLER для шагового двигателя, она у него максимально штатная. Или мою, но у меня схема отличается сильно от штатной.
 
  • Лойс +1
Реакции: Sipkomax

VICLER

★★★★★★✩
9 Дек 2019
801
658
Hamburg
@TimicH, так в прошлой версии тоже так было. Мне просто эти буквы глаз режут, я бы лучше на отдельный механический переключатель поставил бы изменение режимов.
 

Мисье Уй

✩✩✩✩✩✩✩
12 Апр 2020
2
0
О, всем привет. Прочитал тему - в гугле не забанен, но у меня есть одна проблемка: После налива помпа не отрубается, хотя привод приходит в начальное состояние.... Половину рюмки наливает в полную силу, на середине уходит в более щадящий режим и из него не выходит..
1) все 5 прошивок перепробовал - проблема остается, кроме прошивки 1.5 она вообще не встает, только диоды марают красиво....
2) пинание повербанка отключал...
Заметил что
1) если выставить значение Р05 то помпа все же отрубается.
2) в режиме SERVICE спокойно качает до 800 и выключается
3) если качать до 900 не выключается.
Есть у кого мыслишки? или может сталкивался?
 

Soni666

✩✩✩✩✩✩✩
30 Ноя 2019
24
4
Харьков
провел много изменений. Проверьте у кого не открывалось и работало некорректно
Наливатор сделан по схеме Алекса
В прошивке нет поддержки шагового двигателя и ОЛЕД дисплея!
1. Добавлена светодиодная анимация включения
2. Добавлена случайная анимация семисегментного экрана
3. Добавлена анимация после наполнения емкостей.
4. В процессе налива изменяется цвет стопки от оранжевого до зеленого
5. Индикация разлитой жидкости в мл после каждого налива
6. Прокачка в нужную стопку. Позиция стопки описывается в переменных(PUMPING_SHOT).
7. Добавлены задержки перед наливом и движением сервопривода
8. Добавлен режим для девочек. Установка нужных позиций при кручении зажатым энкодером
9. Отображение на экране количества наливаемой жидкости
провел много изменений. Проверьте у кого не открывалось и работало некорректно
Наливатор сделан по схеме Алекса
В прошивке нет поддержки шагового двигателя и ОЛЕД дисплея!
1. Добавлена светодиодная анимация включения
2. Добавлена случайная анимация семисегментного экрана
3. Добавлена анимация после наполнения емкостей.
4. В процессе налива изменяется цвет стопки от оранжевого до зеленого
5. Индикация разлитой жидкости в мл после каждого налива
6. Прокачка в нужную стопку. Позиция стопки описывается в переменных(PUMPING_SHOT).
7. Добавлены задержки перед наливом и движением сервопривода
8. Добавлен режим для девочек. Установка нужных позиций при кручении зажатым энкодером
9. Отображение на экране количества наливаемой жидкости

Добрый вечер.Залил вашу прошивку все супер,только вот что-то с серво непонятное,он сначало бьет об стенку а потом едет в нужную сторону и градусы выставить не могу тоесть выставляю градус серва немного недоезжает со старта а если едет от последней или предпоследней стопки то тоже недоезжает но уже в другом направлении.Как это побороть а так скетч класный.
 

VICLER

★★★★★★✩
9 Дек 2019
801
658
Hamburg
ох долго же я мучился с TTP229 в новом наливаторе. Решил в этот раз светодиоды вставить в "сенсоры", просверлив в них отверстия. К тому же и сами площадки сделал в этот раз меньше - 32х32мм. Это была очень плохая идея. Вообще на старой прошивке всё в принципе работало так же хорошо, но я решил, что мало мне цветов всяких :D и добавил динамическую подсветку во время налива и после. Как только светодиоды начинали изменять цвета, сенсоры сбрасывались кратковременно, все моргали. В общем наводок было достаточно. Пришлось переделывать. В итоге расположение площадок и светодиодов как в прошлом наливаторе оказалось оптимальным. Площадь пластин так же увеличил немного и в итоге теперь всё работает отлично и с динамической подсветкой)
IMG_20200213_200908.jpgIMG_20200412_224641.jpg
 
  • Лойс +1
Реакции: slavikslk и Dan52