Поскольку помещение фаблаба в ремонте, приходится заниматься цифровым творчеством на основном месте работы в свободное время.
К нам обратились организаторы медицинской олимпиады с международным участием для доработки устройств позволяющие проводить эти конкурсы.
Суть работы устройств в том, что ведущий показывает текст вопроса на экране и инициализирует устройство для ожидания ответа. Та команда, которая первая подготовила ответ нажимает на кнопку, на пульте загорается лампочка и другая команда уже не может нажать на кнопку. Кроме того, должна быть защита от преждевременного нажатия на кнопки.
Кто эти устройства сделал, почему именно так — мне не известно, но, как оказалось, работают они немного не так, как ожидалось организаторами:
Есть возможность нажать две кнопки одновременно, при фальшстарте с зажатыми двумя кнопками гореть всегда будет первая и т.д.
Вскрытие показало, что внутри прибора находится блок релюшек:
Быстрее всего работало по принципу замыкания контактов реле при нажатии кнопки на себя для постоянного удерживания уже независимо от кнопки в то время как размыкающая группа контактов отсекала остальные релюшки от питания… автор делал такое лет 30 назад… по этому устройству, так сказать в цифровую эру, добавили немного «цифровых мозгов»… :)
Было решено доработать (в первом варианте) с управлением на микроконтроллере:
использовалась китайская плата ардуино нано, для увеличения тока нагрузки применили транзисторы 2N819. К тому же релюшки оказались 12 вольтовыми и для управления ими все равно нужны были транзисторы…
Кроме этого добавлена кнопка «мягкий резет» и светодиод индикатора состояния.
После написания управляющей программы для ардуино получилось вот что:
- При инициализации контроллера срабатываю все блоки кнопок для индикации подключения кнопки к устройству.
- При нажатии кнопки «резет» — загораются все кнопки, гасится светодиод состояния, устройство переводится в режим ожидания нажатий, после отпускания кнопки «резет» — гаснут все светодиоды на кнопках и загорается светодиод состояния.
- При фальстарте, когда предварительно зажимается кнопка (одна или несколько) все предварительно нажатые кнопки начинают мигать, плюс мигает светодиод индикации состояния.
- Состояние после нажатия или при фальстарте сбрасывается кнопкой «резет».
Во второй версии полностью откажемся от реле и мощными светодиодами будут управлять транзисторы КТ815. Фото платы второй версии устройства показано ниже:
Вот такое получилось у нас смарт устройство! :)