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();
}