Пользователь
0,0
рейтинг
15 января 2012 в 18:59

Arduino в кофейном автомате

Немного абстрагируясь от простого заваривания чая, покажу пример одного своего проекта на Arduino. До этого у меня был опыт Hello World на этой платформе, ну и техническое образование в купе с АСУ.



И так. В неком сферическом вакууме есть кофейный автомат. Достаточно старая модель, но очень надёжная. Готовит растворимые кофейные напитки (ореховое, ванильное), разные вариации кофе+сливки+шоколад+сахар, растворимый чай. Автомат в виду своего возраста имеет достаточно мало функций для владельца, оставляя все свои силы только для покупателей. Автомат умеет:
— брать деньги;
— готовить выбранный напиток;
— выдавать сдачу;
— заботиться о себе (кипятить воду, поддерживать её уровень).

Конечно, как и любой автомат он умеет брать деньги и ничего не давать в замен. Это зависит от настроения, положения Луны на звёздном небе, ну и от скачков напряжения.

Меня, как владельца автомата, не устраивали его остальные функции, точнее их отсутствие. После первого месяца владения появились следующие желания:
— удаленное оповещение об остановке автомата;
— статистика продаж каждого напитка;
— функции бесплатных продаж «для своих»;
— функция автоматической промывки;
— фишки.

Начну по порядку.

Техническая часть этого решения


Arduino Nano (freeduino nano) + MAX232-адаптер + Serial GSM модем + оптроны + мелочевка
Модемом можно управлять обычными AT-командами через com-порт. В Arduino есть только один com-порт, который используется для программирования (завязан на USB-адаптер). Что бы процесс прошивки был удобным и без лишних движений — не будет трогать этот порт. Решение достаточно простое — Software Serial — это возможность создать порт на любых двух цифровых ногах ардуины. Вместе с переходником на микросхеме MAX232 получается полноценный порт, к которому можно подключать внешние устройства.
Вся схема собрана на макетной плате с обычной спайкой на обратной стороне. Технологии лазерного утюга ещё не применял, так как это первый проект и по ходу менялись назначения ног и выходов.



1. Удаленное оповещение об остановке автомата


Сам автомат умеет отслеживать некоторые нештатные ситуации (переполнение сливного бака, отсутствие чистой воды, замятие купюры, застревание монет в монетоприемнике). Одной из перечисленных причин достаточно, чтобы автомат полностью прекратил продажи и ушел в астрал (до решения этих проблем владельцем автомата).

Если к автомату подходить каждый день (за бесплатным кофе:), и проверять все возможные причины будущей остановки, то этого достаточно. Но мы же целим Arduino на это место!

Первая часть — Arduino должна считывать состояния статусных светодиодов автомата. По их значениям отправлять SMS на заданный номер с описанием возникшей проблемы. Помимо этого отправлять SMS о перезагрузке автомата (при пропадании электричества) — так, чтобы быть в курсе.

Для этого подключаемся через оптрон. Он нужен для гальванической развязки схемы автомата и чувствительных мозгов нашей ардуины. Не будем вдаваться в физику, скажу что это самое простое и надежное решение подключения к незнакомой цепи. С учетом того, что у нас даже нет принципиальной схемы автомата. Все нужные выходы автомата пробиваются мультимером и находятся нужные провода диодов.

2. статистика продаж каждого напитка


В автомате 11 кнопок на каждый отдельный вариант напитка. Хочется знать какой напиток пользуется популярностью. Ну и сколько мы заработали за сутки :) Собственно последнее очень интересно для владельца автомата :) Не будем брать в расчет налоговую, поэтому учет ведем в простом Excel+формулы.

У каждой кнопки есть светодиодный индикатор. При приготовлении напитка этот индикатор горит в процессе приготовления. На все 11 индикаторов вешаем оптроны и заводим их на входы в Arduino. Помимо этого есть индикатор готовности напитка (пока он горит — напиток готовится и вынимать стаканчик не рекомендуется :). Использовались как аналоговые входы, так и цифровые (достаточно отслеживать появление питания на них). Конечно, можно усложнить схему (сдвиговые регистры), но это наш первый проект.

Как снимается статистика: в любое время звоним на автомат с ранее забитого в прошивку номера. При поступлении звонка, автомат сбрасывает вызов и в ответ присылает смс-ку с количеством продаж каждой кнопки. Длина сообщений дает возможность писать только в виде: 1=10,2=3,3=1..., да и для вбивки в историю продаж так удобней чем названиями напитков.

3. бесплатные продажи «для своих»


Автомат стоит в дружественном помещении и аренда не платится, зато в замен предоставляются бесплатные напитки. К сожалению, свободные ноги Ардуины кончились раньше этой идеи, и до конца её довести не удалось. Поэтому выдача производится вскрытием автомата ключом и нажатием на заветную кнопку бесплатной продажи (стандартная функция автомата — активируются все кнопки выбора напитка на одну попытку). Но есть отличная идея сделать выдачу напитков по абонементам и разовым талонам — через сканер штрих-кодов (обычная модель на com-порту). Хотя на Хабре была отличная статья — использовать в качестве считывателя мозги обычной оптической мышки. Один из этих вариантов попробую реализовать во второй версии Автомата.

Ещё одна идея — небольшая вариация снятия статистики — при поступлении звонка с определенного номера — включать бесплатную продажу. Но уже не в этой версии…

4. автоматическая промывка


Как и любая посуда — автомат требует внимания и периодической чистки (засохшее кофе с сахаром — ещё тот клей). К сожалению, появляться каждый день (и снимать деньги:) удается не всегда, пришлось заложить автоматическую функцию промывки. В автомате такая функция есть, однако запускается нажатием специальной кнопки на пульте. Поэтому мы подключились к пульту и через реле нажимаем кнопку когда надо. У меня стоит автоматическая промывка каждый вечер после сбора статистики. Раньше промывка стояла через час простоя после последней продажи, однако вода быстро кончалась и пришлось отказаться от такой частоты.

5. фишки


Хотелось добавить автомату интерактивности. Например, сигнал о готовности напитка. Пьезо-элемент из стартового набора Ардуинщика отлично подходит для этой идеи — сказано, сделано! Планирую добавить ещё подсветку окна выдачи напитка после готовности.

Первая версия готова!


Так как проект чисто любительский и для себя, выкладывать исходники не вижу смысла. Многие предлагали поставить производство на поток, но это лишь хобби — и отрываться от основной работы пока не намерен.

Уже сейчас готовлюсь ко второй версии автомата — а точнее к полной замене стандартных мозгов на Arduino+компьютер — как для больших функций, так и для удобства (онлайн статистика, мониторинг наличности, веб-камера, смс-оплата). Подобная реализация уже проведена на соседнем снековом автомате (чипсы-батончики-кола), буквально через пару дней опубликую описание и этого проекта.

Попутный вопрос читателям — хотели ли бы вы видеть интерактивный автомат, который после готовности напитка спросил бы у вас — «как вам кофе?» и по желанию выкладывал бы фото в фан-клуб вконтакт/facebook/twitter? Реализация простая — голосовое проигрывание звукового файла через компьютер, кнопка «ФОТО» на панели автомата и веб-камера.

и на десерт — ммм кофе


Алексей / lehha @lehha
карма
13,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (41)

  • +1
    Только вошл во вкус и конец статьи :( Вы точно не запостили её раньше времени?
    Последних 2-х пунктов не хватает.
    • 0
      Хабр Торт — опубликовал топик при сохранении в черновики. Исправился и дописал статью!
  • +1
    — функции бесплатных продаж «для своих»;


    Звучит забавно:) Удобно, правда главное чтобы «свои» сильно не налегали)
    • +4
      Достаточно интересно можно ограничивать — запоминать время последней продажи и «не давать» чаще чем раз в 2 часа. Это спасёт от спонсорской раздачи напитков всем желающим 6)
      • 0
        раздать всем уникальные штрихкоды — сможете контролировать кто раздает напитки. Правда не уверен что людям это будет удобно. Но халява такое дело — привыкнут ;)
        • +3
          При наличии интернет-доступа блокировать коды можно очень быстро.

          Ещё одна фишка штрих-кодов — скидки на следующие покупки! К каждому стаканчику клеятся штрих-коды (уникальные). Собери 5 кодов и получил любой напиток бесплатно — отличная идея, тем более аудитория помещения достаточно постоянная.
  • 0
    Хотелось добавить автомату интерактивности. Например, сигнал о готовности напитка.

    Какого года у вас автомат?
    • 0
      Вроде 2005, сейчас точно не помню.
    • 0
      Постоянно пользуюсь автоматоми с кофе. Уже много лет. Последний писк моды это сенсорные кнопки, большие плазмы на автомате и т.д.
      А ну еще можно ПэйПасом с карточки рассчитываться. Это когда прислоняешь кредитку и готово. Микротранзакция.

      Так вот к чему это. Чем новее автомат тем чаще он есть деньги и плохо считает. А еще чем новее тем хуже кофе :)

      Вот такой вот парадокс.

      • 0
        Не поверите, но технологии конкретно в этом автомате просты до безумия — налить воды, насыпать, размешать.

        80% вкуса — это правильное соотношение ингредиентов. Остальное — их качество и производитель. Поэтому любой автомат может налить бурду (кончилось кофе, нальем-ка только сливок с водой).
        • +2
          Да я знаю как они работают :) Просто говорю как оно по вкусу получается. Ведь это очень простая математика. Чем дороже автомат, тем больше нужно чтобы он окупился. Цену не поднимешь (падают продажи), значит на ингридиентах экономим.

          Я же всю поднаготную понимаю, просто гвоорю какой выхлоп :)
  • +1
    Отличный тюнинг кофейного автомата =)))) Интересно, сколько такой автомат может давать отдачи хозяину.
    Интерактивность, думаю, будет интересна. Но посчитайте для начала стартовые затраты и обслуживание.
    А еще вандалы всякие…
    • 0
      Затраты — более-менее минимальные, тем более на энтузиазме.

      От вандалов спасает размещение автомата (охрана+видеонаблюдение)

      Вот думаю при наличии фишек, которые будут развлекать и радовать покупателей — последних станет больше :)
      • +1
        Главное не переборщить и не напугать их. А то может получиться «Что-ли кофейку попить… А ну его, опять надо будет в крестики-нолики с этим аппаратом играть» =)
        • +1
          Выиграешь — получишь бесплатное кофе))
          • 0
            Ага, и школоло будет на автомате играться ради бесплатного кофе, отгоняя денежных покупателей!
  • +1
    хотелось бы увидеть больше подробностей об используемых компонентах, принципиальная схема тоже хорошо, ну и исходники — это самое главное.
    А Ардуино мы уже видели и не раз.
    • –1
      Компоненты очень простые — описаны в одном абзаце. Самое главное считаю — гальваническую развязку на оптронах. Вкратце — это как реле — подаете питание и на другой паре ног замыкается контакт.

      Исходники очень специфичны для этой версии. Думаю не открою Америки чтением ног, складыванием значений в EEPROM и писаниной в com-порт. Завести такой исходник на обычной ардуине — вполне возможно, но понять принцип работы будет сложно (например, не будет считать нажатия клавиш, если нет сигнала готовности напитка).
      • +1
        что такое оптрон — это понятно, но когда приходишь на рынок и хочешь купить оптрон, надо знать конкретную модель. А если не знаешь номенклатуры это не так просто, да и как потом подключать? Это для профессионала мелочи, а для новичка — китайская грамота.

        Публиковать исходники — ваша воля. Но с моей точки зрения, все-таки это очень логично для этого блога.
        Дьявол он всегда в деталях.
        • 0
          Оптрон на половину состоит из светодиода. Поэтому поджигать светодиод из розетки 220В будет не разумно :) Мне на этом пути помог блог Robocraft (в качестве начальных примеров), и консультанты в магазинах радиодеталей (вплоть до получасового размышления подключения GSM-модема через конвертеры или напрямую).
        • 0
          А с оптронами и прочими неизвестными деталями делается простой фокус. Идете на чип-дип.ру, выискиваете, например, оптроны, сливаете даташиты, смотрите по ним, подходит ли для требуемой задачи и как его подключать. Наименования подходящих в список и вперед по местным радиолавкам. Ассортимент на ширпотреб везде одинаков обычно.
  • +1
    если не планируете ставить такой тюнинг на поток и делать из этого деньги, есть смысл исходники хотя-бы показать, а еще лучше закинуть на github или еще куда, где есть инфраструктура для конструктивной обратной связи.

    Может быть, кто-то другой, тоже в качестве хобби, чего дельное подскажет/реализует.
  • +1
    Следующим уровнем развития может быть встраивание компа к камере и распознавалки на него:
    — Здравствуйте, Виолетта, вы сегодня прекрасно выглядите! Вам, как обычно?
    • +1
      И по кивку головы начинать процедуру заваривания?
      • 0
        Нет) надо до заваривания кофе деньги взять (на мой взгляд):
        — С Вас, с учетом персональной скидки, ХХ рублей (и др. маркетинговые тексты побуждающие расстаться с деньгами).
        • 0
          В соседнем автомате стоит датчик движения и комп, осталось записать фразы-приставалки (купи кофе, кофе не желаете? купил кофе — купи и чипсы!, etc)
  • +1
    > 1=10,2=3,3=1
    так как вариантов всего 11, то 1= 2= 3=...11=, лучше заменить на 1 2 3 4 5 6 7 8 9 A B — экономия от 1 до 2 символов, имхо актуально для СМС, а если и цифры так же запаковать, то получаем еще больше места в смс + применить регистр A a — разные значения
    • +1
      Или даже просто в csv формате 10,3,1,
  • 0
    Интерактивности? Насколько я знаю, многие gsm модемы понимают dtmf команды — при звонке с номера набирается код нужной функции и автомат отвечает смской или как-либо иначе…
  • +1
    Вопрос, если эти агрегаты для Вас хобби — во сколько обошлась покупка??? Одно дело — когда народ целенаправленно бизнес делает с десятками автоматов, а другое — штучные и как хобби…
    • 0
      Тоже интересно… Во сколько обошлась стоимость автомата и какие у вас выходят траты в месяц? Ну и какой в итоге профит ;)
      • 0
        Ингредиенты — полный набор на 2.5 месяца — около 10к рублей (покупаю коробками у производителя). Хотя можно брать и в Ашане/Ленте — но не всегда бывает в наличии и в нужном количестве.

        Думаю владельцы целых сетей автоматов берут контейнерами :)
    • 0
      Автомат обошелся в 50к рублей. Ардуинка +мелочь — 1000 рублей. За полгода автомат уже окупил вложения, дальше только прибыль (без учета ингредиентов)
  • 0
    У нас на работе порция такого кофе обойдется в пятьдесят рублей, еще сдачу может не выдать, не тот кофе налить.
  • 0
    Arduino использовать в кофейном аппарате — незаслуженно дорого.
    • 0
      Ардуинка и комплектующие — 1000 рублей, вполне разумно (даже в розничном магазине). GSM модем — 2300 рублей.
      Подобные модули для автоматов стоят от 5к рублей.
      • 0
        На поток ставить — слишком дорого. Дешевле заказать печатки и распаять.
    • +1
      Вообще подозреваю что там родные мозги на чем-то подобном собраны (PIC/AVR), я ожидал что автор полностью переделает внутреннюю электронику с учетом собственных пожеланий и прикрутит к ней аппаратные части в виде монетоприемника и.т.п
      • +1
        К сожалению идентифицировать родные мозги сложновато, но что-то похожее на PIC.

        Следующая версия проекта под этот автомат — полностью замена мозгов на свои (Arduino+комп+платёжка). Соседний автомат так уже переделан — в следующей статье опишу его внутренности.
    • 0
      вот, например, промышленный модуль подобного типа www.cranems.com/currenzanavigator.cfm
      работает только в Америке и стоит немало, насколько я знаю.
      • 0
        Ну, некоторые извращенцы вообще накупят поделки NI, соберут из них конструктор, стоимостью в пару десятков килобаксов (хотя самому такое можно было бы сделать за столько же, но в рублях), да еще и управляют железом при помощи дорогущего LabView.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.