Я хочу построить интерактивный светодиодный стол. Каковы мои варианты контроллера?

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

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

Вот о чем я подумал:
Матрица светодиодов 9х5 (синие) с матрицей датчиков 8х4 (фоторезисторы):введите описание изображения здесь

У меня есть пара микроконтроллеров PIC с 36 контактами ввода-вывода, а также несколько других, меньших по размеру. Раньше я не использовал PIC MC, поэтому я подумал, что это может быть хорошим проектом для их использования.

Есть ли у вас какие-либо рекомендации по конструкции контроллера? Может быть, я мог бы использовать 2 MC, один для светодиодов и один для датчиков? Может быть, просто использовать один MC и использовать демультиплексоры для переключения множества датчиков?

Положите это на меня, ребята!

Какие PIC у вас есть?
У меня есть 2 PIC16F1519 и 2 меньших 8-контактных.. я не помню часть #
Светодиоды также можно использовать в качестве датчиков света.
Интересно, что светодиоды можно использовать и как фотодатчики: blog.makezine.com/archive/2009/08/…
Шубхам, не могли бы вы поделиться своей принципиальной схемой, если вы закончили со своей таблицей, потому что я планирую сделать светодиодный интерактивный пол, но я не совсем уверен, как это сделать. Спасибо

Ответы (2)

Многое зависит от имеющихся у вас PIC, особенно от того, сколько и какой тип ввода-вывода они имеют, подумайте об аналоговом мультиплексированном АЦП.

Совместное использование строк или столбцов между датчиками и светодиодами, как предлагает Крис, часто выполняется, если датчики являются цифровыми, как ввод-вывод светодиодов, например, для матрицы кнопок. Это не так очевидно для смешивания аналогового (фоторезисторы) и цифрового (светодиоды). То, чем вы могли бы поделиться, - это входы / выходы, управляющие (де) мультиплексорами, если они вам понадобятся.

Наличие отдельного контроллера для датчиков и светодиодов, как вы предлагаете, может быть хорошей идеей, поскольку дополнительные входы/выходы могут сделать некоторые мультиплексоры ненужными. Вам также понадобится несколько линий на каждом для связи между ними. Насколько я понимаю, вы захотите начать с простого «действия!». сигнал, но когда взаимодействие станет более продвинутым, вы можете передать координаты кружки другому контроллеру, чтобы его действия могли зависеть от этих координат. Подойдет простой UART, но все равно потребуется 2 входа/выхода на каждом контроллере (даже если у вас есть связь только в одном направлении).

Для датчиков я думаю о двух мультиплексорах CD4051, один для строк, другой для столбцов матрицы. Если ваш PIC имеет аналоговый мультиплексор для своего АЦП, вы можете обойтись только одним CD4051, но при этом потребуется несколько дополнительных операций ввода-вывода.
Выберите один из фоторезисторов, чтобы включить его последовательно с постоянным резистором, чтобы получился делитель напряжения, чтобы можно было определить номинал фоторезистора с помощью АЦП.

Для управления светодиодами вы можете использовать демультиплексор 74HC138 для выбора одной строки и использовать активный выход низкого уровня для управления транзистором PNP, который будет источником тока для управления столбцом. Для управления колонками вы можете напрямую использовать порт ввода-вывода PIC.
Как я уже сказал, вы можете разделить линии управления для одного из аналоговых мультиплексоров с линиями 74HC138. Просто экономит 3 линии ввода/вывода.

У меня 2 PIC16F1519. Я тоже хотел спросить об АЦП: на сайте Microchips о MC написано, что у него 28-канальный АЦП, что это значит? Означает ли это, что 28 контактов ввода-вывода могут считывать аналоговый сигнал? microchip.com/wwwproducts/Devices.aspx?dDocName=en549053
Кроме того, что касается питания, у меня есть старое зарядное устройство для телефона, которое я использую в качестве источника питания: 5,9 В при 350 мА. Конечно, я отрегулирую это до 5 В, но будет ли этого достаточно для питания 2 микроконтроллеров: что, если я включу 36 из 72 контактов, которые выдают 5 В при 25 мА (я почти уверен)? Будет ли это потреблять слишком много тока или затемнять светодиоды?
@Shubham - Да, у вас может быть столько аналоговых входов. Конечно, если вы настроите их все как аналоговые входы, у вас останется очень мало (если они вообще будут) цифровых входов/выходов. Я бы предложил объединить несколько контактов, настроенных как аналоговые, с аналоговым мультиплексором, как я объяснил в своем ответе.
@Shubham - 45 светодиодов x 25 мА = 1,125 А, поэтому зарядное устройство не сможет управлять светодиодами. При мультиплексировании вы обычно запускаете их в течение коротких периодов времени с более высокими токами, но в среднем это все равно будет 25 мА.
Не могли бы вы опубликовать принципиальную схему или схему этого проекта с учетом различных вариантов, которые вы упомянули ?? Спасибо :)

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

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

Ваши светодиоды могут быть матричными до такой степени, что вы готовы управлять ими импульсами, а не непрерывно (что довольно часто).

Возможно, вы сможете разделить один набор (строку или столбец) линий между датчиками и светодиодами.

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