Slide 66
Slide 66 text
7 SEGMENT DISPLAYS
$loop->setInterval(
function () use (
$board, $latchPin, $clockPin, $dataPin, $numbers, $segments
) {
static $number = 0;
$digits = str_pad($number, $segments, 0, STR_PAD_LEFT);
$bytes = [];
for ($i = strlen($digits) - 1; $i >= 0; $i--) {
$bytes[] = 0xFF ^ (int)$numbers[$digits[$i]];
}
$latchPin->digital = FALSE;
$board->shiftOut(
$dataPin->pin, $clockPin->pin, $bytes
);
$latchPin->digital = TRUE;
if (++$number > (pow(10, $segments) - 1)) {
$number = 0;
}
},
100
);