Почему 4-значный 7-сегментный катодный дисплей, подключенный к Arduino, не нужно заземлять?

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

, 👍1

Обсуждение

Кто сказал, что он не заземлен? https://majko.co.uk/blog/what-exactly-gpio-pin, @Majenko

Внутри Arduino есть транзисторы, которые соединяют вывод с землей при вызове dititalWrite(<pinNr>, LOW)., @Gerben


2 ответа


3

Uno заземлен. Ток течет в контакты AG и DP (то есть: D2, D3, D4, D5, D6, D6, D8 и D9 на Uno), когда один из этих контактов имеет значение LOW и на одном из цифровых выводов дисплея также низкий уровень.

Для каждой из 4 цифр, обозначенных на дисплее D1, D2, D3 и D4, имеется один общий контакт. Эти общие контакты подключены к анодам (положительный контакт) всех сегментов указанного разряда. Когда на базу транзистора подается напряжение 5 В, NPN-транзистор закрывается. Когда на базу NPN-транзистора подается напряжение 0 В, ток течет от источника 5 В через транзистор к аноду цифры.

Когда на выводе сегмента (AG, DP) установлено значение HIGH, на нем находится напряжение 5 В. Анод также находится под напряжением 5 В, поэтому ток не течет. Когда вывод сегмента находится в состоянии LOW, он находится под напряжением 0 В, и ток течет от анода к земле через вывод сегмента в Uno.

Этот вид отображения предназначен для мультиплексирования по цифрам. Чтобы зажечь первую цифру, включается транзистор D1, а загорающиеся сегменты устанавливаются в положение LOW. Все остальные транзисторы выключены. Затем транзистор первой цифры выключается и транзистор 2-й цифры включается, а выводы сегмента перенастраиваются так, чтобы отображался желаемый выходной сигнал на 2-й цифре. Каждая цифра включена только на долю секунды, но они чередуются со всеми четырьмя цифрами так быстро, что создается впечатление, что все четыре цифры включены одновременно, не требуя 8x4 = 32 контактов ввода-вывода. Мультиплексирование означает, что вам нужно всего 8+4=12 контактов ввода-вывода.

Для получения дополнительной информации выполните поиск по запросу «мультиплексный 7-сегментный дисплей с общим анодом».

,

Замечательный. Спасибо, что так подробно ответили на мой вопрос. Вы расширили мое понимание того, как 4-значный семисегментный дисплей взаимодействует с Arduino., @Eric


0

Необходимы резисторы ограничения тока, по одному на каждый сегмент (AG, DP), чтобы избежать перегорания светодиодов или контактов ввода-вывода uC:

(5V - Vce of transistor - Vf of the LED)/current = resistor value

Итак, сделаем некоторые предположения:

Vce = 0.7V in saturation (full on)

Vf = 2.5V (approx. for Red, check your datasheet)

10mA (so not blinding bright to start)

Тогда

(5V - 0.7V - 2.5V)/.01 = 180 ohm
,