Arduino для автоматизации кофейного автомата


стаканчик кофе
Потенциал Arduino для малой автоматизации поистине огромен. В качестве примера можно рассмотреть, автоматизацию старого автомата по продаже кофе.

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

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

Все эти возможности легко реализуются при помощи Arduino:
Arduino для автоматизации кофейного автомата
Автору проекта (lehha) потребовались:
* Arduino Nano
* MAX232-адаптер
* Serial GSM-модем
* оптроны
* мелочевка

GSM-модемом можно управлять обычными AT-командами через COM-порт.
На обычной Arduino, в отличие от Arduino MEGA, есть только один COM-порт, который используется для программирования (завязан на USB-адаптер), который лучше не трогать чтобы сохранить возможность простой прошивки через этот порт.

В принцие, это не обязательное условие, т.к. МК всегда можно прошить через SPI-интерфейс

Решение простое — Software Serial — библиотека, позволяющая эмулировать последовательный порт на любых двух цифровых ногах ардуины (со скоростью работы 4800 или 9600 бод).
Вместе с переходником на микросхеме MAX232, получается полноценный последовательный порт, к которому можно подключать внешние устройства.

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

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

Разумеется, можно усложнить схему и использовать сдвиговые регистры.

Статистику можно снимать при помощи тех же SMS-сообщений.
Например, можно позвонить на автомат с ранее забитого в прошивку номера. При поступлении звонка, контроллер сбрасывает вызов и в ответ присылает смс-ку с количеством продаж каждой кнопки:

1=10,2=3,3=1...

Как видим, полный простор для фантазии!
Если захочется большей автоматизации, то контроллер Arduino можно дополнить каким-нибудь Ethernet-шилдом или одноплатным компьютером

вместо одноплатника можно использовать Wi-Fi-роутер (например, D-Link DIR-320) с Linux-ом на борту

и тогда возможности автомата можно будет наращивать до бесконечности:
* онлайн статистика
* мониторинг наличности
* веб-камера
* смс-оплата
* twitter
* и многое многое другое 🙂
Главное тут не переусердствовать, чтобы не получилось, что автомат будет отпугивать посетителей своими кофейно-автоматными шуточками 🙂

автор проекта: lehha
Полное авторское описание на хабре:
Arduino в кофейном автомате

По теме
Arduino как фреймворк
Ардуино что это и зачем?
Arduino, термины, начало работы
Разновидности плат Arduino, а также про клоны, оригиналы и совместимость
КМБ для начинающих ардуинщиков


0 комментариев на «“Arduino для автоматизации кофейного автомата”»

  1. Как автор проекта, могу отвечать на комментарии и здесь 🙂

    PS: следующий выпуск про соседний автомат с полным контролем Ардуинкой оплаты-выдачи-учета-etc

    • Спасибо! отличная работа!
      взял смелость разместить описание Вашего проекта 🙂

    • я не против! в хабре не у всех есть аккаунт, а тут могут обсудить вполне любые желающие!

    • обычный GSM-gprs-модем на com-порту. Сейчас точно модель не сообщу, но такой же аналог для соседнего автомата — называется Zenith.

    • Да, кофейного «робота» дома не хватает, соглашусь! Самое главное в автомате — это миксер. Возьмите обычный миксер на батарейках и размешайте обычное кофе — получится обалденная пенка!

    • может быть возможна сборка полностью торгового автомата на основе платы ардуино?

    • по-сути там ничего сложного — главное наладить прием/выдачу денег, плюс управление всем оборудованием (насос воды, клапаны подачи воды, кипятильник, миксеры, кнопки и тд). Самое правильное — исследовать работу уже действующего автомата и принять его алгоритмы в качестве основы.

  2. Где-то пол года назад наткнулся на эту статью. Идея мне понравилась, потихоньку разобрался и повторил вашу разработку. Около месяца тестов показали большую нестабильность срабатывания оптронов и как следствие расхождение статистики. Дело в том, что при загорании диода на кнопке, напряжение на нем 0.3В. Этого мало для срабатывания оптрона. Я использовал оптроны PC817B, но экспериментировал с несколькими. Были ли у вас подобные проблемы и как вы их решали? Буду признателен за любую помощь.

Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна конкурс манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение