Контакты RX и TX в Arduino Uno

arduino-uno led rx-pin

У меня есть проект LED Cube, и я хочу активировать светодиод с помощью приложений My Android (Bluetooth). LED Cube использует контакты A0-A5 и D0-D13, а Bluetooth нужны RX и TX (D0, D1).

Где я могу разместить RX и TX (для Bluetooth HC-05), пока D0, D1 и все аналоговые и цифровые контакты используются светодиодом?

, 👍0

Обсуждение

купить Мега. возможно мини версию, @Juraj

нет ли другого выхода, кроме как купить новое устройство?, @Rifky

Вы не можете магическим образом наколдовать больше пинов из воздуха. Если вы использовали все свои пины, вы использовали все свои пины. Вы уже мультиплексируете, поэтому вы не можете использовать это для уменьшения использования пинов. Вы *может* сможете использовать charlieplexing, чтобы освободить некоторые пины. Нам нужно будет увидеть ваши схемы, чтобы узнать, что возможно. Или просто купите большую плату. Купите ту, которая будет мощнее, пока вы этим занимаетесь — и несколько UART, чтобы вы могли использовать аппаратный последовательный порт для Bluetooth *и* отлаживать через USB одновременно., @Majenko

мои схемы как у LED Cube 4x4 на youtube https://www.youtube.com/watch?v=4pzxR-ZhbJA&t=548s, @Rifky

4x4x4 — это 64 светодиода. Вы можете сделать это с 8x8, что составляет всего 16 контактов. Программное обеспечение должно быть изменено, но это было бы хорошим упражнением по программированию., @Jot


1 ответ


2

Нельзя из воздуха создать больше булавок.

Да, вы можете!

Вы можете иметь столько выходных (и даже входных) пинов, сколько захотите. Мне удалось построить светодиодный куб 8x8x8 с помощью ATTiny13 всего с 6 выходными пинами (используя только 5 из них)

Все, что нужно, — это немного дополнительного кодирования и «сдвиговых регистров». (Для расширения выходов используйте тот, что с «защелкой», но для светодиодов достаточно и обычного)

CD4094 Вид сверху

Вы можете использовать три (например, CD4094) 8-битных регистра сдвига. Вы подключаете три контакта Arduino к контакту "DATA" (он же SERIAL DATA INPUT) каждого регистра. Затем один контакт Arduino к трем контактам "CLOCK" и один контакт Arduino к трем контактам "OUTPUT ENABLE".

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

Таким образом, вы используете всего 5 контактов, и когда вы соединяете регистры вместе (последний контакт «Q8» одного регистра может быть подключен к контакту «DATA» второго), вы теоретически можете иметь столько выходов, сколько вам нужно, за счет скорости обновления выходов.

Таким образом вы сможете освободить большую часть контактов Arduino, включая TX и RX.

,

Использование сдвиговых регистров в качестве дополнительных деталей — это не «волшебство появления дополнительных выводов из воздуха», но тем не менее это обоснованный ответ на вопрос, как добиться желаемого результата., @chrisl

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