Использование 4-значного 7-сегментного дисплея на Arduino Nano

Я хочу объединить два проекта: шляпу "Не трогай свое лицо" для Nano и 7-сегментный 4-значный дисплей для Uno. Я проверил оба независимо друг от друга, и они работают. Я добавил RGB-светодиод к первому, поэтому использую 6 цифровых контактов: 2 для ультразвукового датчика, 1 для зуммера и 3 для RGB-светодиода.

Проект Nano принимает 6 цифровых контактов и не имеет аналоговых контактов, оставляя 4 цифровых контакта и 8 аналоговых контактов. Arduino Uno принимает 12 цифровых контактов. Поэтому я полагаю, что можно заменить цифровые контакты Uno аналоговыми при нужном напряжении.

Даже без проекта Nano, претендующего на 6 цифровых контактов, Nano имеет только 11 цифровых контактов (D2-D12), что недостаточно для 7-сегментного 4-значного дисплея. Но я не мог найти учебник в Интернете о том, как это сделать.

Можно ли использовать 7-сегментный 4-значный дисплей на Arduino Nano?

, 👍1

Обсуждение

"Не прикасайтесь к шляпе лица" использует только три контакта ввода-вывода (D10-D12), а 7-сегментный скетч, по-видимому, использует 12 (D2-D13). A0-A7-это те же точные контакты, что и D14-D21, так что у вас есть много цифровых входов-выходов. Измените скетч заголовка, чтобы использовать D14-D16 вместо D10-12, снова протестируйте два отдельных скетча со всем оборудованием, затем попробуйте объединить код и опубликовать свою попытку кода., @Dave X

Uno и Nano имеют почти одинаковую распиновку. Оба имеют D0-D13 и A0-A5 (все они могут работать как цифровые контакты, так как аналоговая функция A0-A5-это просто дополнительная функциональность). Исключая последовательные контакты, мы имеем D2-D13 и A0-A5, так что 12+6=18 контактов. Я не вижу проекта hat (так как у меня там нет учетной записи), но если мы возьмем 3 пина, о которых упоминал DaveX, и 12 для 7-сегментного дисплея, то получим 15 пинов. У тебя достаточно контактов., @chrisl

@chrisl Я не могу найти D0, D1 и D13 на моем nano, какие они? Да, если A0-A5 могут служить цифровыми выводами, то это просто замена выводов. Код Uno компилируется и загружается в Nano, так что завтра я попробую эту простую замену., @miguelmorin

D0 и D1 помечены как TX и RX, так как они подключены к аппаратному последовательному порту. D13 находится на одной стороне с A0, прямо на одном конце заголовка рядом с выводом 3,3 В., @chrisl

Вы можете попробовать использовать сдвиговый регистр., @xyz

@DaveX Ваш комментарий работает отлично. Я переместил предыдущие контакты в D2-D7 и переместил 4-значные 7-сегментные контакты в D8-D12 и A0-A6. У меня все еще остались два контакта: D13 и A7. Я не могу использовать A7 с #define D1 21, но код работает на выводе D12 (с #define D1 12). Не могли бы вы подтвердить, что A7 должен работать так же хорошо? И не могли бы вы написать ответ, а я отредактирую его своим кодом?, @miguelmorin


1 ответ


1

Есть чипы, такие как MAX7219, предназначенные для управления 7-сегментными дисплеями с таких устройств, как Arduino, есть также некоторые хорошо зарекомендовавшие себя библиотеки, такие как LEDCONTROL, чтобы управлять ими. На самом деле MAX7219 не должен управлять дисплеями 7 seg, вы можете использовать его для управления любой коллекцией до 64 светодиодов, я использую один для простой рождественской елки с подсветкой. Вам понадобятся некоторые базовые навыки пайки, чтобы подключить чип к Arduino, но это очень просто.

Например, см.: https://www.maximintegrated.com/en/products/power/display-power-control/MAX7219.html

,