Ни о чём →
Arduino в кофейном автомате
Немного абстрагируясь от простого заваривания чая, покажу пример одного своего проекта на Arduino. До этого у меня был опыт Hello World на этой платформе, ну и техническое образование в купе с АСУ.
И так. В неком сферическом вакууме есть кофейный автомат. Достаточно старая модель, но очень надёжная. Готовит кофе, разные вариации кофе+сливки+шоколад+сахар. Автомат в виду своего возраста имеет достаточно мало функций для владельца, оставляя все свои силы только для покупателей. Автомат умеет:
— брать деньги
— готовить выбранный напиток
— выдавать сдачу
Конечно, как и любой автомат он умеет брать деньги и ничего не давать в замен. Это зависит от настроения, положения Луны на звёздном небе, ну и конечно от скачков напряжения.
Меня, как владельца автомата, не устраивали его остальные функции. После первого месяца владения появились следующие желания:
— удаленное оповещение об остановке автомата;
— статистика продаж каждого напитка;
— функции бесплатных продаж «для своих»;
— функция автоматической промывки.
Начну по порядку.
Автомат умеет отслеживать некоторые нештатные ситуации (переполнение сливного бака, отсутствие чистой воды, замятие купюры, застревание монет в монетоприемнике). Одной из перечисленных причин достаточно, чтобы автомат полностью прекратил продажи и ушел в астрал (до решения этих проблем владельцем автомата).
Если к автомату подходить каждый день (за бесплатным кофе:), и проверять все возможные причины будущей остановки, то этого достаточно. Но мы же целим Arduino на это место!
Первая часть — Arduino должна считывать состояния статусных светодиодов автомата. По их значениям отправлять SMS на заданный номер с описанием возникшей проблемы. Помимо этого отправлять SMS о перезагрузке автомата (при пропадании электричества) — так, чтобы быть в курсе.
Arduino + MAX232-адаптер + Serial GSM модем + оптрон
Модемом можно управлять обычными AT-командами через com-порт. В Arduino есть только один com-порт, который используется для программирования (завязан на USB-адаптер). Что бы процесс прошивки был удобным и без лишних движений — не будет трогать этот порт. Решение достаточно простое — Software Serial — это возможность создать порт на любых двух цифровых ногах ардуины. Вместе с переходником на микросхеме MAX232 получается полноценный порт, к которому можно подключать внешние устройства.
Оптрон нужен для гальванической развязки схемы автомата и чувствительных мозгов нашей ардуины. Не будем вдаваться в физику, скажу что это самое простое и надежное решение подключения к незнакомой цепи. С учетом того, что у нас даже нет принципиальной схемы автомата. Все нужные выходы автомата пробиваются мультимером и находятся нужные провода диодов.
В автомате 11 кнопок на каждый отдельный вариант напитка. Хочется знать какой напиток пользуется популярностью. Ну и сколько мы заработали за сутки :) Собственно последнее очень интересное!!!
У каждой кнопки есть светодиодный индикатор. При выборе напитка этот индикатор горит в процессе приготовления. На все 11 индикаторов вешаем оптроны и заводим их на входы в Arduino. Использовались как аналоговые входы, так и цифровые (достаточно отслеживать появление питания на них). Конечно, можно усложнить схему (сдвиговые регистры), но это наш первый проект.
И так. В неком сферическом вакууме есть кофейный автомат. Достаточно старая модель, но очень надёжная. Готовит кофе, разные вариации кофе+сливки+шоколад+сахар. Автомат в виду своего возраста имеет достаточно мало функций для владельца, оставляя все свои силы только для покупателей. Автомат умеет:
— брать деньги
— готовить выбранный напиток
— выдавать сдачу
Конечно, как и любой автомат он умеет брать деньги и ничего не давать в замен. Это зависит от настроения, положения Луны на звёздном небе, ну и конечно от скачков напряжения.
Меня, как владельца автомата, не устраивали его остальные функции. После первого месяца владения появились следующие желания:
— удаленное оповещение об остановке автомата;
— статистика продаж каждого напитка;
— функции бесплатных продаж «для своих»;
— функция автоматической промывки.
Начну по порядку.
1. Удаленное оповещение об остановке автомата
Автомат умеет отслеживать некоторые нештатные ситуации (переполнение сливного бака, отсутствие чистой воды, замятие купюры, застревание монет в монетоприемнике). Одной из перечисленных причин достаточно, чтобы автомат полностью прекратил продажи и ушел в астрал (до решения этих проблем владельцем автомата).
Если к автомату подходить каждый день (за бесплатным кофе:), и проверять все возможные причины будущей остановки, то этого достаточно. Но мы же целим Arduino на это место!
Первая часть — Arduino должна считывать состояния статусных светодиодов автомата. По их значениям отправлять SMS на заданный номер с описанием возникшей проблемы. Помимо этого отправлять SMS о перезагрузке автомата (при пропадании электричества) — так, чтобы быть в курсе.
Техническая часть этого решения
Arduino + MAX232-адаптер + Serial GSM модем + оптрон
Модемом можно управлять обычными AT-командами через com-порт. В Arduino есть только один com-порт, который используется для программирования (завязан на USB-адаптер). Что бы процесс прошивки был удобным и без лишних движений — не будет трогать этот порт. Решение достаточно простое — Software Serial — это возможность создать порт на любых двух цифровых ногах ардуины. Вместе с переходником на микросхеме MAX232 получается полноценный порт, к которому можно подключать внешние устройства.
Оптрон нужен для гальванической развязки схемы автомата и чувствительных мозгов нашей ардуины. Не будем вдаваться в физику, скажу что это самое простое и надежное решение подключения к незнакомой цепи. С учетом того, что у нас даже нет принципиальной схемы автомата. Все нужные выходы автомата пробиваются мультимером и находятся нужные провода диодов.
2. статистика продаж каждого напитка
В автомате 11 кнопок на каждый отдельный вариант напитка. Хочется знать какой напиток пользуется популярностью. Ну и сколько мы заработали за сутки :) Собственно последнее очень интересное!!!
У каждой кнопки есть светодиодный индикатор. При выборе напитка этот индикатор горит в процессе приготовления. На все 11 индикаторов вешаем оптроны и заводим их на входы в Arduino. Использовались как аналоговые входы, так и цифровые (достаточно отслеживать появление питания на них). Конечно, можно усложнить схему (сдвиговые регистры), но это наш первый проект.
15.01.2012 19:59+0400