Připojení k Arduinu
Pin HDSP-6415 | Název pinu HDSP-6415 | Pin Arduino |
---|---|---|
1 | NC | – |
2 | CATHODE 1 | 9 (přes odpor 220ohm) |
3 | D | 5 |
4 | CATHODE 4 | 12 (přes odpor 220ohm) |
5 | E | 6 |
6 | Dp | A0 |
7 | CATHODE 6 | A2 (přes odpor 220ohm) |
8 | C | 4 |
9 | CATHODE 8 | A4 (přes odpor 220ohm) |
10 | CATHODE 7 | A3 (přes odpor 220ohm) |
11 | NC | 5 |
12 | A | 2 |
13 | CATHODE 5 | A1 (přes odpor 220ohm) |
14 | B | 3 |
15 | G | 8 |
16 | CATHODE 3 | 11 (přes odpor 220ohm) |
17 | F | 7 |
18 | CATHODE 1 | A5 (přes odpor 220ohm) |
Zdrojový kód pro Arduino
Pro správné fungování je nutno změnit v souboru SevSeg.h hodnotu MAXNUMDIGITS na 8 nebo vyšší!
#include "SevSeg.h" SevSeg sevseg; byte numDigits = 8; byte digitPins[] = {9, 10, 11, 12, A1, A2, A3, A4}; byte segmentPins[] = {2, 3, 4, 5, 6, 7, 8, A0}; bool resistorsOnSegments = false; byte hardwareConfig = COMMON_CATHODE; bool updateWithDelays = true; bool leadingZeros = true; void setup() { sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments, updateWithDelays, leadingZeros); sevseg.setBrightness(90); } void loop() { static unsigned long timer = millis(); static int deciSeconds = 0; static byte deciPoint = 0; if (millis() - timer >= 100) { timer += 100; deciSeconds++; deciPoint++; if (deciPoint == numDigits) { deciPoint = 0; } if (deciSeconds == pow(10, numDigits)) { deciSeconds = 0; } sevseg.setNumber(deciSeconds, deciPoint); } sevseg.refreshDisplay(); }