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

kostyaskv

★✩✩✩✩✩✩
18 Ноя 2019
68
25
@kostyaskv,
Посмотреть вложение 11839

решил сделать в этот раз крепление из 8мм алюминиевого цилиндра. Крепится к двигателю на два болтика с двух сторон. В следующий раз просто распечатаю.
Это на скетче который выкладывали 26 марта? Или что то дорабатывали? Просто заказал детали жду. Три шт для друзей уже собрал на сервах, но шаговик это просто супер.
 

VICLER

★★★★★★✩
9 Дек 2019
801
662
Hamburg
@kostyaskv, на видео уже другой скетч, он тоже на GitHub есть. Первый только с заменой сервы на шаговик, всё остальное сток версии 1.5 от Алекса
 
  • Лойс +1
Реакции: kostyaskv

станислав9

✩✩✩✩✩✩✩
7 Мар 2020
18
5
приветствую , сообщество.
подскажите , где в коде искать и что добавить ,что бы при нажатии на энкодер клюв повернулся до первой поставленной рюмки и только после этого
начал заполнение системы? а не как у Алекса - поднёс рюмку и прокачал. прошивка версии 1.3 от AlexGyver.
спасибо!
 

VICLER

★★★★★★✩
9 Дек 2019
801
662
Hamburg
приветствую , сообщество.
подскажите , где в коде искать и что добавить ,что бы при нажатии на энкодер клюв повернулся до первой поставленной рюмки и только после этого
начал заполнение системы? а не как у Алекса - поднёс рюмку и прокачал. прошивка версии 1.3 от AlexGyver.
спасибо!
Попробуйте в файле d_control:
C++:
if (encBtn.holded()) {
    int8_t pumpingShot = -1;
    for(byte i = 0; i < NUM_SHOTS; i++){    // поиск наличия рюмки
      if(shotStates[i] == EMPTY){            // нашли рюмку
        servoON();
        servo.write(shotPos[i]);            // едем к ней
        pumpingShot = i;
      }
    }
    if(pumpingShot == -1) return;            // нет рюмок -> нет прокачки, ищем заново ^
    delay(500);                                // дадим немного времени для серво
    pumpON();                                // включаем помпу
    while (!digitalRead(SW_pins[pumpingShot]) && !digitalRead(ENC_SW));    // пока стоит рюмка и зажат энкодер, продолжаем наливать
    pumpOFF();
    delay(300);
    servo.write(0);
    timeoutReset();
  }
 

станислав9

✩✩✩✩✩✩✩
7 Мар 2020
18
5
спасибо за отзывчивость .
после прошивки перестала работать серва(работает только в сервисе), с парковки даже ни ни,на кнопку не реагирует , в режим авто не выходит .
на нажатие энкодера (без стопок) теперь норма -но ставлю стопки (в любое из 3х (у меня их три)) ,нажимаю на энкодер и так как стерва не реагирует заливаю парковку (она у меня в 0 позиции в целях экономии места).
 

станислав9

✩✩✩✩✩✩✩
7 Мар 2020
18
5
// кнопки-крутилки

void encTick() {
enc.tick();
if (enc.isTurn()) {
volumeChanged = true;
timeoutReset();
if (enc.isLeft()) {
thisVolume += 1;
thisVolume = constrain(thisVolume, 5, 40);
}
if (enc.isRight()) {
thisVolume -= 1;
thisVolume = constrain(thisVolume, 5, 40);
}
dispMode();
}
}

void btnTick() {
if (encBtn.holded()) {
int8_t pumpingShot = -1;
for(byte i = 0; i < NUM_SHOTS; i++){ // поиск наличия рюмки
if(shotStates == EMPTY){ // нашли рюмку
servoON();
servo.write(shotPos); // едем к ней
pumpingShot = i;
}
}
if(pumpingShot == -1) return; // нет рюмок -> нет прокачки, ищем заново ^
delay(500); // дадим немного времени для серво
pumpON(); // включаем помпу
while (!digitalRead(SW_pins[pumpingShot]) && !digitalRead(ENC_SW)); // пока стоит рюмка и зажат энкодер, продолжаем наливать
pumpOFF();
delay(300);
servo.write(0);
timeoutReset();
}

}
 

VICLER

★★★★★★✩
9 Дек 2019
801
662
Hamburg
@станислав9, в функции void btnTick() не хватает
C++:
  if (btn.holded()) {
    timeoutReset();
    workMode = !workMode;
    dispMode();
  }
это объясняет, почему не переключаются режимы. А почему серво не реагирует не знаю. Возможно где-то отключается программно при помощи detach().
тогда попробуйте вот так:
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, shotPos[i]); // едем к ней
        pumpingShot = i;
      }
    }
    if (pumpingShot == -1) return; // нет рюмок -> нет прокачки, ищем заново ^
    delay(500); // дадим немного времени для серво
    pumpON(); // включаем помпу
    while (!digitalRead(SW_pins[pumpingShot]) && !digitalRead(ENC_SW)); // пока стоит рюмка и зажат энкодер, продолжаем наливать
    pumpOFF();
    delay(300);
    servo.write(0);
    delay(300);
    servo.detach();
    timeoutReset();
    systemState = WAIT;
  }
}
 
Изменено:
  • Лойс +1
Реакции: станислав9

станислав9

✩✩✩✩✩✩✩
7 Мар 2020
18
5
прошилось.- авто и в сервисном режимах норма ,а в ручном всё так же - стопки видит , а стерва заливает парковку.
правда , если после тыканья в ручном перейти в авто , то серва стоит на парковке и не отрабатывая поворот на рюмки заливает парковку.
 

VICLER

★★★★★★✩
9 Дек 2019
801
662
Hamburg
@станислав9, очень странно. Я вообще про сервисный и авто режимы не думал, когда писал, поэтому работать в этих режимах не должно было.

п.с. переписал ещё раз всё для всех режимов и вроде нашёл ошибку, почему серва не включалась. Сам проверить не могу, к сожалению - нет наливатора с серво
 
Изменено:
  • Лойс +1
Реакции: slavikslk

станислав9

✩✩✩✩✩✩✩
7 Мар 2020
18
5
VICLER, огромнейшее СПАСИБО.
пошло. и в ручном ,ив авто , и парковку не заливает(y).
правда есть вроде бы недочетик - но я его завтра погоняю - всё спёкся....
СПАСИБО(y)(y)(y)и спокойной ночи.
 
  • Лойс +1
Реакции: VICLER

norem

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

Наливатор
 

Вложения

Dmitricheff

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

Наливатор
norem, доброй ночи, а с экраном 1602 будет работать? Или только 7-ми сегментный?
 

станислав9

✩✩✩✩✩✩✩
7 Мар 2020
18
5
VICLER, ещё раз огромнейшее СПАСИБО.
недочетик скорей к механике - тобиш ко мне .
а скорость сервы в момент выезда- заезда для прокачки можно где то убавить , а то шторку аж срывает .
а так ,зачетно, даже можно сказать доп фича - ставь куда хочеш , наливай сколько хочеш - жалко только не считает;)
спасибо.
 

Valiuha

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

Наливатор
Приветствую. А данная прошивка сможет работать с шаговиком 28byj-48 и драйвером uln2003, или ее надо переделать?
 

Xaron

✩✩✩✩✩✩✩
20 Янв 2020
3
0
@norem, Если не затруднит можно вариант библиотек для данного скетча? заранее благодарен !!!
 

norem

★✩✩✩✩✩✩
22 Фев 2020
12
14
@norem, Если не затруднит можно вариант библиотек для данного скетча? заранее благодарен !!!
Все библиотеки стандартные от алекса гавера. GyverDrink
Проект работает только на его схеме. В скетче не предусмотрен шаговик, oled и 1602 дисплеи.
 

Xaron

✩✩✩✩✩✩✩
20 Янв 2020
3
0
@norem, Спасибо за консультацию ) схема стандартная библиотеки тоже(может правда устарели) но поведение сервы и диодов в хаотичном порядке . буду подбирать библиотеки по новее может и запустится )