Наливатор на Arduino Nano

Вот,попробуйте другую:

С ув,

1 лайк

Отправил другую ссылку

1 лайк

Доброго времени суток!
При наладке наливатора - версия 59 (плата ардуино нано на меге 328, концевики, повышайка одна перед помпой, питание от повербанка).
Столкнулся с проблемой: после включения аппарата и проигрывания приветствия наливатор уходит в сон и никак не реагирует - питал от БП 5 вольт. Делитель напряжения: R4 - 5,1 кОм, R5 - 18 кОм, ADC_U_COEFF начальный коэффициент перевода кода АЦП в напряжение по формуле 1.1 / 1023 / R4 * (R4 + R5) для 5 вольт у меня получился 0.00487, значения ADC_U_COEFF_LOW и ADC_U_COEFF_HIGH не менял, но судя по комментарию в скетче они расчитаны для напряжения 4,2 вольта. Подскажите пожалуйста как их пересчитать для питания 5 вольт. Может ли это быть причиной ухода наливатора в сон. На пине А7 напряжение 1.12 вольта.
P.S. когда отключил монитор питания наливатор работает нормально.
и ещё один вопрос: BUTTON_TOWER // сенсорная кнопка на башне - подключил к минусу питания и пину ТХ1, но на неё наливатор никак не реагирует, можно узнать какие функции она выполняет?
Заранее спасибо.

Доброго. Всё рассчитано на 5 вольт, скорее всего или схема собрана не верно, или пин А7 битый, сменить в схеме и скетче на А6.
Кнопка на башне сенсорная, т.к. не реализован программный антидребезг, если хочется попробовать простую, то она подключается к плюсу, а не к минусу. Про действия кнопки написано в микроинструкции, которая лежит в месте со скетчем

1 лайк

спасибо за помощь, перекинул монитор питания на А6 и поменял местами пины управления помпой и плеера - перестала дёргаться помпа при включении. Доп кнопку перекинул на плюс но ничего не изменилось, наверное запараллелю её с кнопкой энкодера. Теперь предстоит война с сервой MG90S тяжко крутит башню и с плеером - отказывается видеть тосты((. Спасибо за проект!

Доброго времени суток!
Извиняюсь за снова наверное глупый вопрос: прошивка 59, плеер на чипе MH2024K-16SS после изменения значения PLAYER_SERIAL_TIMEOUT на 1500 стал видеть папки с тостами и кол-во треков в них , но в любом из режимов после проигрывания тоста: наливатор замирает, на дисплее номер тоста и надпись !!! ТОСТ !!!, светодиоды не светятся, на установку/снятие рюмок не регагирует - оживает только после нажатия на кнопку энкодера и до следующего тоста, раскоментил строчку #define SENDING_MULTIPLE_COMMANDS - не помогает.
На старом форуме вычитал, что на пине плеера BUSY в простое должен быть высокий сигнал, а при вопроизведении низкий, у меня наоборот: в простое на Бузи относительно минуса питания ноль, потом при воспроизведении тоста напряжение поднимается до 3,3 вольт и по окончании трека снова ноль. может мне в скетче нужно где-то поменять уровень сигнала этого чтоб он не зависал?
И ещё не воспроизводдит никаких доп звуков ни при выборе количества наливаемого ни при снятии стопки во время налива. Капец короче((
и по программе: в варианте “мушкетеры все за одного” бесконечно гоняет носик над рюмками и никому не наливает.
Подскажите пожалуйста кто знает как лечить или ткните носом в старый форум, всё вроде перечитал а не нашёл ответов.

Доброго. Все эти косяки из-за не верно работающего BUSY. Ищите во всех вкладках

digitalRead(BUSY_PIN)
и меняйте на
!digitalRead(BUSY_PIN)
и наоборот

1 лайк

Огромное спасибо! плеер стал говорить тосты, но всё также ещё не воспроизводит никаких доп звуков ни при выборе количества наливаемого ни при снятии стопки во время налива ни приветствия при включении. А когда выбираеш пункт “налить поровну” после выбора количества и повторного нажатия на кнопку энкодер включается промывка. И наверное последний вопрос (простите за назойливость) как выкосить из мультиразлива 6-ю рюмку, я в скетче указал #define NUM_SHOTS 5, в в мультирозливе показывает 5 рюмок по минимуму и 6-ю ноль мл или она не убирается с дисплея?

Я думаю, что с этим плеером ничего не получится. Насчёт промывки не в том месте, мыслей пока нет. Попробовать отцепить busy пин плеера и залить оригинальную прошивку, пощёлкать, возможно Вы внесли не верные изменения в скетч, отключить в скетче допкнопку.
6-ю рюмку смотреть во вкладке e_menu функция void multi_naliv()

1 лайк

С промывкой не там проблема решилась - кривые руки))
А по поводу плеера на MH2024K-16SS нарыл библиотеки для него и такое:
“Этот PR добавляет поддержку модулей DFPlayer, которые используют чип MH2024K-16SS. Главное отличие в том, что пакет, отправляемый модулю, не должен содержать контрольную сумму. Код команды, выдаваемый по окончании песни, также отличается.
Конструктору можно передать новый флаг sendChecksum, который по умолчанию имеет значение trueи должен быть установлен falseдля MH2024K-16SS.
Этот MR также рефакторит пакет: вместо перечисления теперь это структура. Однако это изменение не было обязательным для поддержки этого нового чипа.” это цитата мужчины который победил этот плеер, однако я в программировании ноль - я из другой сферы, то могу только попросить Вас или я не знаю кого (не пускает на старом форуме регистрироваться) причесать эту библиотеку под проект, я так понимаю в настоящее время с чипами на плеера проблема и на …-24SS сложно будет найти. Вот ссылка на гит где файлы библиотеки тут он описывает что делал ну и по поводу пина BUSY в моём плеере он почему-то работает наоборот, хотя во всех инструкциях на плеера с этим чипом пишут что: молчим - высокий, играем - низкий уровень.

Всё это уже сделано как раз на основании изложенного и реализовано в скетче путём раскомментирования нужной строки, но это тоже нифига не работает, т.к. китайцы делают подделку на подделку и подделкой погоняют)))

1 лайк

Эх(( а я думал русский и китаец - братья навеки(((. Надеялся что напишете где циферки поменять чтоб плеер не просил контрольных сумм…
Ну и очередной тупой вопрос: хотя нет, обойдусь. Значит ждём очередной плеер на -24SS и надеемся что он рабочий. Роман, если хотите отдам 2й плеер с чипом МН2024К-16SS на эксперименты

Пробовали раскомментировать ?
//#define PLAYER_16_PIN
как раз это отключает проверку контрольной суммы
Пробуем также совместно с этим включить и выключить
#define PLAYER_MH2024K_24SS

Мне уже передавали ентот плеер))), но увы, чуда не произошло

да я эту строку сразу раскомменчивал, таймаут с 200 до 1500 увеличивал чтоб он папки начал видеть, ниже строчка с “тормозным” плеером тоже не помогла. В общем плеер только тосты стал играть и при включении какой-то трещащий трек играет, а остальные нет. Может нужно ещё где-то ему задержку увеличить? Так он начинает видеть папки с тостами уже при таймауте в 1с.

Вы меня извините, что отнял у Вас столько времени. проблема решилась, плеер корректно работает, #define PLAYER_SERIAL_TIMEOUT 500 вот такой таймаут для него норм - если меньше не видит папки с тостами.
строки с мультикомандами и “тормозной” плеер - закоменчены.
НО! папку Мр3 я с флешки удалил - вставил в плеер - запустил, теперь плеер вместо звука рулетки везде тулит 1й трек из 1й папки, а в остальном всю озвучку стал отыгрывать корректно. Значит для этого плеера критичен порядок копирования папок на флэху?!
ВЫВОД: сам плеер на чипе МН2024К-16SS Вами побеждён!! естественно с учётом правки сигнала с пина БИЗИ.

1 лайк

Разрешите еще вопрос по коду:
хочу изменить шаг налива с 5 мл до 10 мл в головной вкладке #define MAX_DRINK 50 указал 90. В файле c_func добавил строчек с треками

#ifdef DOP_SOUND
void dop_sound()
 if (!player && volume != 0 && !digitalRead(BUSY_PIN)) {
    if (Drink <= 20) myMP3.playMp3FolderTrack(30);
    else if (Drink <= 30) myMP3.playMp3FolderTrack(31);
...
    else if (Drink <= 90) myMP3.playMp3FolderTrack(37);

до 90 мл.
Теперь если я правильно понял мне нужно в файле d_control изменить “drift * 5” на *10 в строках: “move_enc” в case 60: // меню налива мушкетёров , case 12: // меню настройки дриньков мультиразлива , case 61: // меню налива автоналива бармена. Верно?

Он должен менять изменением единственной константы в одной строке. Причем, строка эта должна находиться либо в специальном конфигурационном файле, либо в начале файла, который отвечает за налив.
Пытаться поменять кучу разных констант в разных местах файла - неверный способ.

Всё верно, только не забыть треков на флешку добавить

1 лайк

Никому до этого времени не нужно это было))), соответственно никаких констант

Теперь понятно, откуда сотни (если не тысячи) сообщений от тех, кто пытается повторить эту конструкцию.

Спасибо за информацию.
Теперь я точно знаю, что если мне когда-нибудь взбредет в голову изготовить наливатор, то код нужно будет писать самому с нуля.