«Красный свет — папа занят». Как собрать светофор для удаленки

94568362c9ef1e42209ed1b598bec0ce.jpg

Всю весну я пытался объяснить детям (3 и 6 лет), что «папа на работе» и «папа дома» — это фактически разные сущности, но на практике всё оказалось сложнее. На дворе осень, по городу катится вторая волна пандемии, а дети снова заперты дома. Как дать им понять, что папу трогать нельзя? Нам помогли цветовой код и геймификация.

Хроника событий

Чукча не писатель, чукча R&D продакт в Admitad и сидит на удаленке с марта. Первый месяц работы из дому был бесконечным квестом, как совместить работу и семью. Детям сложно объяснить, что сейчас ты занят. Они требуют твоего внимания, когда им этого хочется, а не когда у тебя есть на них окошко в расписании.

К слову, мой календарь на неделю выглядит примерно так:  

e218e2ead962e8d8476b85eba9c31953

А вот так выглядит моё рабочее место на весенне-летне-осенний период.

17adff848dd86c82c7c15a99f9a93b75

Летом мы всей семьей уехали в деревню, и там на улице было гораздо интереснее, чем сидеть дома, так что на пару месяцев вопрос отпал сам собой. Но вот на дворе осень, и дети снова заперты в четырех стенах. Проблема снова актуальна.

Решение первое: футболки

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

Но такая система немного приелась, и нам захотелось чего-то поинтереснее.

Решение второе: светофор

Нам нужен был индикатор того, можно ли идти к папе на балкон или нет. Самый логичный и наглядный индикатор —  это светофор. Так родилась идея сделать его управляемым.

Но есть загвоздка: ребенок не станет слушать бездушную машину, которая говорит ему, что делать. Зато он с радостью будет пользоваться устройством, которое сам помог собрать. Поэтому подключили детей к творчеству ?

22661baf9cd235b68b070605900e658e

Что понадобилось?

1) Есть светофор на 220 вольт, купленный на Авито. В него воткнуты китайские светодиодные лампочки, которыми управляет блок из двух реле. Зачем два реле, если одного достаточно, чтобы подавать фазу поочередно то на один цвет, то на другой? Затем, что в светофоре предусмотрен еще ночной режим, когда выключается весь свет, и потому проще повесить по независимому реле на каждую лампочку.

Первое тестовое включение в ручном режиме… работает!

e6000e72a33b881c2369a1b5e860b1a2.jpg

Как светофор понимает, когда и каким цветом ему светить?

Блоком реле управляет микроконтроллер esp8266, который цепляется к вайфаю и по https идет в интернет за статусом. А тем временем в этом самом интернете крутится небольшой php-скрипт, который через API Google Calendar собирает мой текущий статус занятости. А заодно проверяет, не наступила ли ночь (с 23:00 до 9:00).

Заливаем бэкенд, собираем прототип на скрутках и соплях, заливаем прошивку… работает! По крайней мере, с десятого раза;) Собираем поаккуратнее, фиксируем все на соплемёт.

28d13ab492f565cae924d16208e17c207b7dcb4f211e8f9e14e18fb60e744369.jpg

Основная сложность — несмотря на большой размер светофора, свободного места внутри не очень много. Перед лампой ничего ставить нельзя, так как будет видна тень от проводов, остается место только внизу и сзади от нее. Утрамбовываем все вокруг патрона в нижней части, собираем и получаем… та-да!

c77a8ac8a85e2080b4f2cb20e5ef6e8d

Решение, работающее для всех встреч, указанных в гугл-календаре. 

Внеплановые встречи

Во время тестовой эксплуатации возникли ситуации, когда встречи отменялись через 5 минут после начала, или же наоборот — кто-то решал позвонить по слаку, увидев окно в моем расписании. Под такие спонтанные встречи я собрал простенький интерфейс, принудительно выставляющий светофору статус на ближайшие 15 минут.

b6d9f7b99d470b0b8ceeefcec9383bd4

Со «свободен», «занят» и «ночь» всё понятно, а вот Party-mode включает и выключает рандомные цвета через случайные промежутки времени (от 200 мс до 2с). Чем не стильная замена новогодней гирлянде?

В тот день, когда я расшарил коллегам ссылку на интерфейс, мы с семьей как раз смотрели кино перед сном… и вдруг началась светомузыка! Было забавно :)

Результат

Профит есть. Сделали еще один интересный девайс вместе с детьми, заодно и повод еще немного попрограммировать.

Теперь если ребёнок всё же добрался до спальни, то прежде, чем зайти на балкон, он видит еще одно предупреждение, что делать этого сейчас не стоит. А если ему очень горит показать мне робота из лего, лучше это сделать, не врываясь на важный созвон ?

Поделитесь опытом, как это работает у вас? Как ваши дети понимают, что родители сейчас работают, и их нельзя отвлекать?

© Habrahabr.ru