Бесполезная коробка стала умнее благодаря микроконтроллеру ESP8266 на плате Wemos D1 Mini и датчику приближения APDS-9960, чтобы давать более забавные ответы.
Бесполезные машины не новы, существует множество версий. Вы можете создать простой, используя рычажный переключатель, однако он всегда будет реагировать одинаково. Используя программируемый микроконтроллер, вы можете создавать забавные, неожиданные реакции , а добавив датчик приближения, вы сможете удивить пользователя действиями еще до того, как он успеет включить выключатель !
Это программируемая бесполезная коробочка, поэтому у вас есть возможность реализовать дополнительные реакции , если вы захотите еще больше улучшить эту забавную игрушку. Более того, используемая плата контроллера имеет подключение к Wi-Fi, поэтому вы можете подключить ее к другим онлайн-сервисам (например, IFTTT) или интеллектуальным помощникам (Alexa, Cortana и т. д.).
Нажмите на изображение ниже, чтобы увидеть это поле в действии:
Для сборки этого проекта необходимы следующие аппаратные компоненты:
Проводка предназначена для создания специального экрана для платы на базе микроконтроллера Wemos D1 Mini ESP8266 вместо пайки кабелей непосредственно к плате. Таким образом, вы сможете легко собрать детали или даже повторно использовать их в будущем.
Плата была разработана с помощью Fritzing, и вы можете загрузить исходный файл для дальнейшей настройки в соответствии с вашими потребностями.
Вы также можете загрузить файлы Gerber, которые можно использовать для заказа печатной платы у предпочитаемого вами производителя печатной платы. (Примечание: я создал свой прототип вручную, а затем задокументировал его в Fritzing, поэтому я еще не тестировал эту плату.)
Исходный код в этом репозитории создан с помощью Visual Studio Code с использованием плагина Arduino от Microsoft, но он также должен работать с Arduino IDE.
Код в этом репозитории предварительно сконфигурирован с расположением контактов, показанным на схеме подключения выше, но если вы решите соединить детали с разными контактами, вам придется обновить значения в файле config.h
.
После завершения настройки контактов (или использования конфигурации по умолчанию) просто загрузите код на плату Wemos D1 Mini.
Реакции коробки реализованы в файле useless-box.ino
, а функция run()
отвечает за выбор и выполнение реакции на нажатие переключателя или на сигнал датчика. Не стесняйтесь добавлять в этой функции новую логику или удалять любую существующую реакцию, которая вам не нравится.
Для этого проекта я разработал специальную коробку, которую можно распечатать на 3D-принтере или даже настроить. Вы можете скачать модель с Thingiverse или MyMiniFactory.
Удачной печати! :)
Этот проект поддерживается Дьердь Баласси.