Пристрій, який у вас є, є звичайним анодним дисплеєм. Це означає, що аноди (+ ve термінали) всіх світлодіодів підключені до одного загального штифта (ну, фактично 2 штиря, штирі 3 і 8 з'єднані внутрішньо). Їх катоди (-ve термінали) є тим, що складають залишилися шпильки. Тепер, щоб засвітити будь-який світлодіод, вам потрібно 5 В на своєму аноді і GND на його катоді. Ви підключили 5 V до контакту 3, що означає загальний анод кожного світлодіода, так що все, що залишилося для будь-якого світлодіода включити, це для вас, щоб підключити GND до відповідного катода. Таким чином, коли ви зробили всі залишилися шпильки (катоди) OUTPUT, за замовчуванням Nano встановлює ці шпильки на логічне значення LOW (або GND), тому всі світлодіоди засвітилися. Кожен світлодіод тепер має 5 - 0 = 5 V
через свої термінали і є упередженим.
Однак, коли ви пишете HIGH на будь-якому катоді, різниця потенціалів у відповідних LED/сегменті тепер дорівнює нулю, тому що світлодіод має 5 V на своєму аноді (штифт 3/8) і 5 V на своєму катоді (в результаті запису) HIGH), і 5 - 5 = 0 V
, так що це зворотне зміщення (принаймні 2 В або близько того, щоб червоний світлодіод став передньо-упередженим) і тому сегмент вимикається. І це, як ви контролюєте, який сегмент у будь-який час: Ви пишете LOW на катод, щоб включити відповідний сегмент, і напишіть HIGH, щоб вимкнути його. Це звучить контр-інтуїтивно, але випливає, якщо ви думаєте про це. Що стосується вашого питання, то нічого не завдають шкоди; мінімальна напруга на світлодіоді - 0 В (значно нижче його максимальної зворотної напруги), тоді як максимальна напруга на світлодіоді становить близько 2 В, якщо ви використовуєте рекомендовані струмообмежувальні резистори (220)/330 Ом добре) послідовно між кожним катодом і його цифровим PIN-кодом Arduino.
Без будь-яких резисторів, ви будете малювати багато струму через кожен контакт, в цілому, набагато більше, ніж Nano може безпечно постачання. Використовуйте резистори, які обмежують струм через кожен світлодіод до 10-20mA.