Наливатор с ОЛЕД дисплеем , MP3-плееером, LED подсветкой , шаговиком или сервой.

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

★★★★★★★
14 Авг 2019
4,319
1,319
Москва
@willi, Такие проекты требуют определенных навыков в ПОНИМАНИИ скетчей, не совсем для новичков, т.к. требуют некоторых настроек. Список можно понять исходя из варианта сборки. Но я попробую как то сгруппировать компоненты для облегчения задачи. Если бы была печатная плата, то это сильно бы облегчило сборку устрйства, но я не силен создании плат, все получается как то через одно место.

@Anatolyj, Да, так же как и все наливаторы. Тут я описал настройку/проверку датчиков. Кнопка так же устанавливается, проверяется и подключается. Я свою последнюю 223 куда то сунул и найти не могу, так что полноценно не могу выложить проверку. Но по сути она ни чем не отличается от подключения обычного концевика - при подтяжке к 5в кнопка при замыкании на землю даст низкий уровень сигнала.
 

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

★★★★★★★
14 Авг 2019
4,319
1,319
Москва
Добавил архив с поддержкой библиотеки microLED, памяти освободилось, но для ардуино леонардо все равно не хватит.

Для arduino every остаются ошибки в библиотеке EEPROMex.h и DIO2. От DIO2 достаточно просто избавиться, убрав ее заголовок и вернув стандартные функции digitlaRead вместо digitlaRead2 , digitalWrite вместо digitalWrite2 и pinMode вместо pinMode2
 

Anatolyj

★✩✩✩✩✩✩
30 Янв 2020
134
16
drinks_array[5].Input = A5; но это же пин scl, на нем дисплей висит.
 

Anatolyj

★✩✩✩✩✩✩
30 Янв 2020
134
16
10 - к RX плеера (через резистор 1к)
11 - к ТX плеера (через резистор 1к)
это пины Д 10 и Д 11 или пины, которые указаны на ардуино RX TX
 

Anatolyj

★✩✩✩✩✩✩
30 Янв 2020
134
16
#define RX_MP3_PIN 10
#define TX_MP3_PIN 11
значит здесь надо заменить на 0 и 1
 

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

★★★★★★★
14 Авг 2019
4,319
1,319
Москва
Нет! с пинами 0 и 1 библиотека не работает, в 1-ом сообщении темы есть схема подключения. можно поменять 10 и 11 на любые 2 других цифровых пина для софт сериала, но с хард не будет работать.
 

brabec86

✩✩✩✩✩✩✩
12 Ноя 2019
6
1
концевики с светодиодами подключаются как у гайвера?
 

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

★★★★★★★
14 Авг 2019
4,319
1,319
Москва
Практически так.

Разница в том, что А4 и А5 используются шиной i2C, вместо них можно использовать пины А6 и А7 с подтяжкой их через 10к резистор к 5в. я выше , во втором сообщении описал это.
Светодиоды точно так же, разница в том, что на одно место можно использовать несколько светодиодов. На каждое место должно быть равное кол-во светодиодов.
 

brabec86

✩✩✩✩✩✩✩
12 Ноя 2019
6
1
В режиме калибровки вращая энкодер в право или лево краник крутится только в одну сторону, как исправить?
 

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

★★★★★★★
14 Авг 2019
4,319
1,319
Москва
в меню энкодер работает как полжено в обе стороны ?
Проверил архивы, должно работать нормально. Ошибок не видел.
При вращении на экран должен быть показан угол . Не сразу, а после простоя в пол секунды. Он меняется верно или тоже в одну сторону ?

Функция калибровки - void Pos_conf(), находиться в eeprom_proc.ino

Фрагмент обработки вращения энкодера при калибровке:
      if (enc.isRight())
      {
        enc_pos = min(enc_pos + 1, 180);
      }
      if (enc.isLeft())
      {
        enc_pos = max(enc_pos - 1, 0);
      }
 
Изменено:

brabec86

✩✩✩✩✩✩✩
12 Ноя 2019
6
1
Энкодер в меню работает нормально. При включении зависает меню, серва работает неадекватно ( медленно дергается в сторону парковки) Через какое то время серва резко дергается и вроде как работает все нормально, после выключения, все повторяется. может с библиотеками что то. Сможете скинуть библиотеки?
 

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

★★★★★★★
14 Авг 2019
4,319
1,319
Москва
Библиотека стандартная серво, без изменений.
Если серва медленно двигается, значит что то берет в цикле loop очень много времени.
в конце setup есть пара строк
ServoInit(false);
Servo_St_Work = true;

поменяй
ServoInit(true);

Это значит быстрое перемещение сервы к положению парковки. За 1 раз. Без захода в цикл loop
Посмотри как все работает остальное.

в цикле loop убери комментарий со строки
// ShowFPS();
оставь
ShowFPS();
и посмотри монитор порта, что будет написано. Количество выполнений цикла loop в секунду. должно быть больше 10к точно, в районе 15к
если тормозит, то работать буде плохо , в т.ч. энкодер
Далее отключая по очереди функции из loop можно понять что тормозит. Примерная очередность отключения :

1) MusicTick();
2) time_out_tick();
3) Place_tick();
4) Motors_tick2();
5) ServoTick();

отключение остального скажется на отоборажении на дисплее. Но думаю до этого не дойдет.
 

brabec86

✩✩✩✩✩✩✩
12 Ноя 2019
6
1
проблема была при подключении RX_MP3_PIN 11, отпаял провод от 11 пина ардуино и все заработало. Как теперь наладить тосты?
 
  • Лойс +1
Реакции: Алексей Затеев

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

★★★★★★★
14 Авг 2019
4,319
1,319
Москва
Возможно перепутаны RX и TX мп3 плеера.
Для начала запустите пример из библиотеки DFPlayer, там вся информация выводиться в монитор порта, как только заработает, то и в наливаторе заработает.
На всякий случай спрошу: карточка стоит в плеере ?
Но странно, если инициация плеера проходит криво, он автоматом отключается и все должно работать без звука
 

Anatolyj

★✩✩✩✩✩✩
30 Янв 2020
134
16
Собирается все просто. К микро кнопке (такая же как стоит на ресете ардуино нано) подпаиваются 2 провода, кнопка вставляется в 1-ую деталь, вторая подпирает ее и изолирует от мотора. Носик надевается на вал двигателя. Его надо надежно закрепить так, что бы кнопка зажималась при вращении и он не мешал движению. Сверху носика еще будет достаточно места, что бы на валу закрепить что то.
Я напечатал 3 детали. Я понимаю так, что носик нажимает на микрокнопку и это будет нулевая позиция
 

Soni666

✩✩✩✩✩✩✩
30 Ноя 2019
27
4
Харьков
А как фоновую музыку и тосты добавлять?Пока жду ардуинку решил заморочиться поиском))
 

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

★★★★★★★
14 Авг 2019
4,319
1,319
Москва
У меня достаточно свободно, пластик PET-G, но внутренние размеры порой получаются меньше задуманных, отверстия разные. Я в настройках слайсера я поставил горизонтальное расширение -0.15 , это в ограждениях. На каждом принтере может быт индивидуально
 

Anatolyj

★✩✩✩✩✩✩
30 Янв 2020
134
16
У меня достаточно свободно, пластик PET-G, но внутренние размеры порой получаются меньше задуманных, отверстия разные. Я в настройках слайсера я поставил горизонтальное расширение -0.15 , это в ограждениях. На каждом принтере может быт индивидуально
Я печатаю PET-G и в куре ставлю масштаб 100,5%