HDSP-6415 (Hewlett Packard)


Připojení k Arduinu

Pin HDSP-6415Název pinu HDSP-6415Pin Arduino
1NC
2CATHODE 19 (přes odpor 220ohm)
3D5
4CATHODE 412 (přes odpor 220ohm)
5E6
6DpA0
7CATHODE 6A2 (přes odpor 220ohm)
8C4
9CATHODE 8A4 (přes odpor 220ohm)
10CATHODE 7A3 (přes odpor 220ohm)
11NC5
12A2
13CATHODE 5A1 (přes odpor 220ohm)
14B3
15G8
16CATHODE 311 (přes odpor 220ohm)
17F7
18CATHODE 1A5 (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();
}


Demo video

Leave a Reply