Připojení k Arduinu
Pin NSA 1198 | Název pinu NSA 1198 | Pin Arduino |
---|---|---|
1 | NC | – |
2 | CATHODE 1 | 9 (přes odpor 220ohm) |
3 | C | 4 |
4 | CATHODE 2 | 10 (přes odpor 220ohm) |
5 | DP | A1 |
6 | CATHODE 3 | 11 (přes odpor 220ohm) |
7 | A | 2 |
8 | CATHODE 4 | 12 (přes odpor 220ohm) |
9 | E | 6 |
10 | CATHODE 5 | A0 (přes odpor 220ohm) |
11 | D | 5 |
12 | CATHODE 6 | A2 (přes odpor 220ohm) |
13 | G | 8 |
14 | CATHODE 7 | A3 (přes odpor 220ohm) |
15 | B | 3 |
16 | CATHODE 8 | A4 (přes odpor 220ohm) |
17 | F | 7 |
18 | CATHODE 9 | 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 9 nebo vyšší!
// !!! YOU MUST change in file SevSeg.h #define MAXNUMDIGITS 8 to 9 or higher value!!! /// #include "SevSeg.h" SevSeg sevseg; byte numDigits = 9; byte digitPins[] = {9, 10, 11, 12, A0, A2, A3, A4, A5}; byte segmentPins[] = {2, 3, 4, 5, 6, 7, 8, A1}; bool resistorsOnSegments = false; byte hardwareConfig = COMMON_CATHODE; bool updateWithDelays = false; 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 long deciSeconds = 0; static byte deciPoint = 0; if (millis() - timer >= 300) { timer += 300; deciSeconds++; deciPoint++; if (deciPoint == numDigits) { deciPoint = 0; } if (deciSeconds == pow(10, numDigits)) { deciSeconds = 0; } sevseg.setNumber(deciSeconds, deciPoint); } sevseg.refreshDisplay(); }