Недавно узнал, что в одном только киевском офисе GlobalLogic ежегодно потребляется около 7 тонн кофе. В среднем 55 г ароматных зерен превращаются в литр напитка, что соответствует объему в 127 тыс литров за год! Да, мы пьем много кофе. Лично мне это помогает работать лучше.
Но вместе с бодрящим напитком расходуется и время, которое мы простаиваемвозле кофе-машины. Пока другие делают кофе, вы стоите в очереди. Пока другие набирают молоко, вы стоите в очереди. Пока другие наполняют автомат водой или чистят его, вы стоите в очереди. Или автомат водой наполняете вы :)
В среднем делать то или иное приходится каждые
И неважно, сколько стоит минута вашего времени. Неважно, кто и как это время считает. Я убежден, что за «бесплатный» офисный кофе все мы несколько переплачиваем.
Не так давно я посетил одну хорошую IT-конференцию, где прямо со сцены прозвучала фраза: «Если вы видите очередь, то подойдите через 5 минут, вам туда не нужно, не теряйте времени». И эти слова если не изменили всю мою жизнь, то уж точно исправили мои взаимоотношения с кофе-машиной.
Первые шаги
Если честно, раньше иметь дело с кофе-машинами мне не приходилось. Первое время я просто наблюдал за действиями опытных коллег. Ага, вот так происходит выбор напитка, вот так — чистка аппарата, а так в него заливается свежая вода. Потом я решил пойти дальше.
Частично разобранная кофе-машина оказалась не такой уж пугающей и сложной. Беглое изучение контейнера для воды показало, что для определения уровня используется поплавок с магнитом. Когда уровень воды в контейнере падает, поплавок опускается на дно и встречает встроенный в машину датчик магнитного поля — геркон. Ничего оригинального. Но, понимая принцип работы системы, можно узнать о падении уровня воды еще до того, как об этом догадается сама машина. Как это сделать? Да очень просто: разместив собственный датчик где-то между поплавком и дном контейнера.
Какое-то время я потратил на придумывание крепления для своего датчика. В первой версии я просто примотал его к стенкам контейнера скотчем :) Потом — нашел 3D-принтер, на котором создал более привлекательную конструкцию насадки на штатный контейнер (см. фото дальше).
Как это работает
Под новой крышкой кофе-машины — микроконтроллер Arduino, заточенный (весь код написан на С), по сути, делать одну простую вещь. Когда датчик воды фиксирует сильное падение уровня (вода уже на исходе, но сама кофе-машина об этом еще не знает), контроллер включает электрическую помпу и автоматически заполняет контейнер чистой водой из
Да, менять большую бутыль время от времени тоже необходимо. Но по сравнению с двухлитровым контейнером кофе-машины делать это нужно в 10 раз реже, и намного проще. Никаких тебе простоев в мучительной попытке наполнить контейнер тонкой струйкой воды из кулера. Будучи установленной на все кофе-машины офиса, эта штука позволяет экономить более 1000 часов времени в год!
К слову, более опытные товарищи намекают, что для решения задачи достаточно и более простого устройства. Но, испытывая опасения затопить кухню, я добавил в систему разные дополнительные проверки. А это требует программирования более сложной логики, что полностью оправдывает использование Arduino.
А что дальше?
Не хочу останавливаться и планирую дополнить систему мелкими, но полезными улучшениями. Например, функцией сбора статистики о количестве, времени и частоте употребления кофе. Это поможет прогнозировать потребление напитка, а также, вполне вероятно, приведет нас каким-то неожиданным открытиям — например, может оказаться, что все пьют крепкий эспрессо по понедельникам, а в среду предпочитают исключительно капучино :)
Также хочу сделать функцию наливания воды в чашку или чайник через отдельный кран. Для этого добавлю на панель кнопку «250 мл». Нажал четыре раза — налил литр, как в аптеке. Причем происходить всё это будет очень быстро.
В новой версии система будет отслеживать количество воды и в большой бутыли. А общаться к ней можно будет через wi-fi.
В моих ближайших планах — участие в корпоративном конкурсе Proof of Concept, который проходит в GlobalLogic уже второй год подряд. Хочу создать систему, отслеживающую текущее положение кабинок лифтов, загруженность душевых и туалетов. Но это уже совсем другая история :)