what is wrong with this code I can't get it to work
#include <Arduino.h>
// Defineer de pinnen voor de shift registers
const int latchPin = 4; // Aanpassen aan je eigen configuratie (Links 74HC595)
const int clockPin = 7; // Aanpassen aan je eigen configuratie (Links 74HC595)
const int dataPin = 8; // Aanpassen aan je eigen configuratie (Links 74HC595)
// Pinnen voor het rechter shift register (Voer in waarde)
const int rightLatchPin = 5; // Aanpassen aan je eigen configuratie (Rechts 74HC595)
const int rightClockPin = 6; // Aanpassen aan je eigen configuratie (Rechts 74HC595)
const int rightDataPin = 9; // Aanpassen aan je eigen configuratie (Rechts 74HC595)
// Adressen voor de vier 7-segmenten
const int segment1 = 0xF1;
const int segment2 = 0xF2;
const int segment3 = 0xF4;
const int segment4 = 0xF8;
void setup() {
// Initialiseer de display
initDisplay();
}
void loop() {
// Toon het getal 1234 op de display
displayNumber(1234);
delay(2000); // Wacht 2 seconden
clearDisplay(); // Wis de display
delay(1000); // Wacht 1 seconde
}
void initDisplay() {
// Code voor initialisatie, zoals pininstellingen
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(rightLatchPin, OUTPUT);
pinMode(rightClockPin, OUTPUT);
pinMode(rightDataPin, OUTPUT);
}
void clearDisplay() {
// Code om alle segmenten op de display uit te schakelen
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, 0);
shiftOut(dataPin, clockPin, LSBFIRST, 0);
digitalWrite(latchPin, HIGH);
digitalWrite(rightLatchPin, LOW);
shiftOut(rightDataPin, rightClockPin, LSBFIRST, 0);
shiftOut(rightDataPin, rightClockPin, LSBFIRST, 0);
digitalWrite(rightLatchPin, HIGH);
}
void displayDigit(int digit, int segment) {
// Code om het cijfer op het opgegeven segment weer te geven
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, segment);
shiftOut(dataPin, clockPin, LSBFIRST, digit);
digitalWrite(latchPin, HIGH);
}
void displayNumber(int number) {
// Code om elk cijfer van het getal weer te geven op de juiste segmenten
int segmentArray[4] = {segment1, segment2, segment3, segment4};
for (int i = 3; i >= 0; i--) {
int digit = number / pow(10, i);
number %= int(pow(10, i));
// Stel het juiste segment in
digitalWrite(rightLatchPin, LOW);
shiftOut(rightDataPin, rightClockPin, LSBFIRST, digit);
digitalWrite(rightLatchPin, HIGH);
// Toon het cijfer op het opgegeven segment
displayDigit(1 << i, segmentArray[3 - i]);
delay(500); // Wacht 0.5 seconden tussen elk cijfer
}
}