Яндекс.Метрика

    Ни о чём

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

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

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

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

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

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



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

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

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

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

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

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

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



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

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