Беспроводные кнопки для викторин типа «Брейн-ринг» на микроконтроллере Arduino Nano: от идеи до реализации

Задачу мне поставил знакомый шоумен, проводящий разного рода викторины. В качестве исходника он мне предоставил созданный некими умельцами прототип с кнопками на проводах и щелкающими внутри реле. Был он огромным и тяжелым.

Мелькнувшая было мысль о том, что надо приобрести три комплекта радиоуправления для моделек и просто заменить провода тремя каналами радиосвязи на 27 или 433 МГц, была быстро забракована: чем модифицировать этого древнего монстра, лучше было просто создать всё с нуля, чем я и занялся.

И в качестве основного требования от заказчика была выделена вандалозащищенность, ибо распалившиеся в процессе игры подвыпившие взрослые люди долбят по кнопкам со всей своей немыслимой силой, что приводит к мгновенному выходу из строя дешевых пластмассовых радиокнопок с Алиэкспресс.

Исходный проект был взят отсюда: https://github.com/don41382/arduino-nrf24l01-buzzer

Заказал с Алиэкспресс необходимые детали: платы Arduino Nano и радиомодули nRF24L01 с платами питания. Получив посылку, подключил один контроллер к компьютеру, установил среду разработки, залил прошивку из примера, которая мигает встроенным светодиодиком, и на время успокоился.

Но мигания мало, надо было браться за дело!

Конструкция механической части предельно проста: корпус из толстой фанеры с кнопкой-грибком для станка. Но есть изъян: оказалось, что разгоряченные игроки, ударив по кнопке немного под углом, легко ее ломают, и с этим нужно что-то делать.

В качестве защиты кнопок заказал кольца из оргстекла. Размещенная в таком прозрачном колодце кнопка выглядела эстетично и была избавлена от риска перекоса, к тому же, по внутренней части нижнего кольца очень удачно разместилась RGB светодиодная лента для индикации режима работы.

 В общем, коробочки получились красивые, дело было за малым – изготовить электронную начинку.

Первая версия кнопок была собрана на картонках и термоклее и выглядела вот так:

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

В итоге код кнопок был переписан практически полностью, потому что это было для меня проще, чем досконально понять логику автора.

Алгоритм работы беспроводных кнопок

Кому интересен принцип работы кнопок, кратко описываю алгоритм.

  1. Кнопки инициализируют радиоканал и слушают эфир.
  2. Если кнопка нажата, она переключается на передачу и посылает в эфир свой номер, после чего опять начинает слушать эфир.
  3. Главная кнопка запоминает номер кнопки, пришедший ей первым, и начинает транслировать его в эфир. Либо транслирует свой номер, если она была нажата первой.
  4. Теперь все кнопки получили номер победителя.
  5. Каждая кнопка сравнивает этот номер со своим. Если они совпали – это победа, включается зеленый свет. Если нет – проигрыш, включается красный свет.

Компоновка и сборка беспроводных кнопок

Теперь дело за малым: разместить все детали внутри коробочки и соединить (не забыв просверлить дырочки под разъемы и выключатели).

Чтобы не париться с батарейками запитал каждую кнопку от аккумулятора 18650 с платой для PowerBank. Учитывая очень малое энергопотребление, возможно, не стоило с этим заморачиваться. От одних новых алкалиновых батареек эти кнопки могли бы проработать сотни часов. И лишнее отверстие под зарядку от micro-USB не пришлось бы сверлить.

Осталось только закрыть

Беспроводные кнопки: результат

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

Заказчик получил кнопки и опробовал их в деле, я получил немного денег и огромнейший опыт в создании устройств на микроконтроллерах.

Видео работы беспроводных кнопок (способ сброса может быть настроен, например, с главной кнопки)

Шоу «Бородатая наука»

В самом начале, после встречи детей с профессором Бородой, выяснилось, что Злой Ректор запер на кодовый замок все дипломы и подарки и не скажет код, пока дети не выполнят его каверзные, но очень интересные задания по физике и химии.

Читать далее «Шоу «Бородатая наука»»

Две финальные научные елки сезона

Отличная программа, насыщенная интересными экспериментами, но при этом очень динамичная и без затягов. Дети от 5 до 12 в восторге.

Как очень удачную повторили ее 2 раза без изменений.


Цирковой Дед Мороз: семейная фотосессия

Иногда дедушку вызывают в качестве реквизита для фотосъемки. Получаются неожиданные фотки, а детей удается дольше продержать в тонусе, чтобы под конец нудной фотосессии не начались слезы.

Читать далее «Цирковой Дед Мороз: семейная фотосессия»

Добро пожаловать в редактор Gutenberg

Книга гор и морей

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

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

… как этот, который выровнен по правому краю.

Заголовки также являются отдельными блоками, что помогает с организацией вашего содержимого статьи.

Одна картинка стоит тысячи слов

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

Прекрасный пейзаж
Если ваша тема поддерживает режим «на всю ширину», вы увидите кнопку «на всю ширину» на панели инструментов. Попробуйте.

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

Инструмент вставки

Представьте, что все, что может сделать WordPress, доступно вам быстро и из одного места. Нет необходимости определять HTML-теги, классы или помнить сложный синтаксис шорткодов. Кнопка (+), которую вы увидите около редактора, позволяет просматривать все доступные блоки контента и добавлять их в свою запись. Плагины и темы могут регистрировать свои собственные блоки, открывая все возможности для редактирования и публикации ваших статей.

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

  • Текст и заголовки
  • Изображения и видео
  • Галереи
  • Вставки, видео с YouTube, твиты или другие записи WordPress.
  • Блоки макетов, кнопки, изображения, разделители и т.д.
  • И списки, как эти, конечно 🙂

Визуальное редактирование

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

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

Мэтт Мулленвег, 2017

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

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

Вы можете изменить количество столбцов в своих галереях, перетащив ползунок в инспекторе блоков на боковой панели.

Медиа

Если объединить новые выравнивания по ширине содержимого и на всю ширину с галереями, вы можете создать очень богатый медиа-макет очень быстро:

Конечно, полномасштабное изображение может быть довольно большим. Но иногда это стоит того.

Выше была галерея с двумя изображениями. Это более простой способ создания визуально привлекательных макетов. Вы также можете легко преобразовать галерею обратно в отдельные изображения, используя блок-переключатель.

Любой блок может быть выровнен. Встраиваемый блок имеет их также выравнивается и является адаптивным по умолчанию:

Вы можете построить любой интересующий вас блок, статический или динамический, декоративный или простой. Вот блок Выдержка:

Код — это поэзия.

Сообщество WordPress

Если вы хотите узнать больше о том, как создавать дополнительные блоки, или если вы хотите помочь в развитии проекта, заходите в репозиторий GitHub.


Спасибо за тестирование Gutenberg!

👋

Пиратская вечеринка в кафе «Форт Гранд»

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

Читать далее «Пиратская вечеринка в кафе «Форт Гранд»»