Почему 4-значный 7-сегментный катодный дисплей, подключенный к Arduino, не нужно заземлять?
Как новичок в схемах я думал, что для того, чтобы цепь проводила ток, она должна быть заземлена.
@Eric, 👍1
Обсуждение2 ответа
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
Необходимы резисторы ограничения тока, по одному на каждый сегмент (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
- Как использовать SPI на Arduino?
- Как решить проблему «avrdude: stk500_recv(): programmer is not responding»?
- Как создать несколько запущенных потоков?
- Как подключиться к Arduino с помощью WiFi?
- avrdude ser_open() can't set com-state
- Как узнать частоту дискретизации?
- Что такое Serial.begin(9600)?
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
Кто сказал, что он не заземлен? https://majko.co.uk/blog/what-exactly-gpio-pin, @Majenko
Внутри Arduino есть транзисторы, которые соединяют вывод с землей при вызове
dititalWrite(<pinNr>, LOW)
., @Gerben