Skip to main content
deleted 31 characters in body
Source Link
Martynas
  • 538
  • 3
  • 10

Have you ever made it working? Try this link Arduino and CD4543

Try this code for oneeach segment and then try for other segments, could be faulty segment too :)

Have you ever made it working? Try this link Arduino and CD4543

Try this code for one segment and then try for other segments:

Try this link Arduino and CD4543

Try this code for each segment, could be faulty segment too :)

Source Link
Martynas
  • 538
  • 3
  • 10

Have you ever made it working? Try this link Arduino and CD4543

To control a common cathode seven segment display using CD4543

PH ( Pin 6 ) should be set LOW.
LD ( Pin 1 ) should be set HIGH.
BL ( Pin 7 ) should be set LOW.

enter image description here

Try this code for one segment and then try for other segments:

int Ph  = 6;      //arduino pin connected to the Ph pin of 4543
int BL  = 5;     //arduino pin connected to the BL pin of 4543
int LD  = 11;   //arduino pin connected to the LD pin of 4543


int A   = 7;
int B   = 9;
int C   = 10;
int D   = 8;

void setup()
{     
    // Declare all the pins as OUTPUT pins
  
  pinMode(Ph,  OUTPUT);
  pinMode(BL,  OUTPUT);
  pinMode(LD, OUTPUT);

  pinMode(A , OUTPUT);
  pinMode(B  , OUTPUT);
  pinMode(C  , OUTPUT); 
  pinMode(D, OUTPUT);

}

void loop()
{

    // Display 0

  digitalWrite(Ph,  LOW); 
  digitalWrite(BL,  LOW);   
  digitalWrite(LD,  HIGH); 

  digitalWrite(A , LOW); 
  digitalWrite(B , LOW);   
  digitalWrite(C , LOW);
  digitalWrite(D , LOW);

  delay(1000);

    // Display 1

  digitalWrite(A , HIGH); 
  digitalWrite(B , LOW);   
  digitalWrite(C , LOW);
  digitalWrite(D , LOW);

  delay(1000);

    // Display 2

  digitalWrite(A , LOW); 
  digitalWrite(B , HIGH);   
  digitalWrite(C , LOW);
  digitalWrite(D , LOW);

  delay(1000);

    // Display 3

  digitalWrite(A , HIGH); 
  digitalWrite(B , HIGH);   
  digitalWrite(C , LOW);
  digitalWrite(D , LOW);

  delay(1000);

    // Display 4

  digitalWrite(A , LOW); 
  digitalWrite(B , LOW);   
  digitalWrite(C , HIGH);
  digitalWrite(D , LOW);

  delay(1000); 
}