7 Segment 4 Digit LED Display SMA420564 using Arduino

Parts Required:

  1. Arduino Board

Arduino-Mega-2560

  1. 220 Ohms resistor 4 Nos.

220ohm_resistors__06060_zoom

  1. SMA420564 7 segment , 4 Digit Display  ( 12 Pin, Common Cathode Type)

pic7segment

 

Step 1: Download the Seven segment display controller library for Arduino : https://github.com/DeanIsMe/SevSeg/archive/master.zip

After downloading place it inside the library folder of your arduino IDE.

folder

Make sure you will see content as follows.

 

folder2

 

Step2 : Please have a look at the pin diagram of 7 segment display – 4 digit (This is specific to the model i have mentioned above)

4x7LED2 7segment4digit_schema pin_diagram_SMA420564

Really hard to find these details in net.

Now make the circuit as below

Capturediagram

Note : Digit Pins

Pin 12 of 7 segment – D1 => pin 13 of arduino

Pin 9 of 7 segment –  D2 => 12 of arduino

Pin 8 of 7 segment -D3 => 11 of arduino

Pin 6 of 7 segment -D4 => 10 of arduino

Pin 11 of 7 segment -a => 2 of arduino

Pin 7 of 7 segment -b=> 3 of arduino

Pin 4 of 7 segment -c=> 4 of arduino

Pin 2 of 7 segment -d=> 5 of arduino

Pin 1 of 7 segment -e  => 6 of arduino

Pin 10 of 7 segment -f => 7 of arduino

Pin 5 of 7 segment -g => 8 of arduino

Pin 3 of 7 segment -p => 9 of arduino

Make sure to add 220 ohms of resistor for D1, d2, d3, d4 pins to regulate the current flow.

open arduino IDE and paste below code. If you need to know how to setup arduino IDE for first time , refer my previous post

/* SevSeg Counter Example
 Edited by Haneef Puttur to match SMA420564 (www.haneefputtur.com)
 Copyright 2014 Dean Reading
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at 
 http://www.apache.org/licenses/LICENSE-2.0
 
 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
 
 
 This example demonstrates a very simple use of the SevSeg library with a 4
 digit display. It displays a counter that counts up, showing 10 deci-seconds.
 */

#include "SevSeg.h"

SevSeg sevseg; //Instantiate a seven segment controller object

 void setup() {
 byte numDigits = 4; 
 byte digitPins[] = {10, 11, 12, 13};
 byte segmentPins[] = {2, 3, 4, 5, 6, 7, 8, 9};

sevseg.begin(COMMON_CATHODE, numDigits, digitPins, segmentPins); 
// If your display is common anode type, please edit comment above line and uncomment below line
// sevseg.begin(COMMON_ANODE, numDigits, digitPins, segmentPins);
sevseg.setBrightness(90);
}

void loop() {
 static unsigned long timer = millis();
 static int deciSeconds = 0;
 
 if (millis() >= timer) {
 deciSeconds++; // 1000 milliSeconds is equal to 10 deciSecond
 timer += 1000; 
 if (deciSeconds == 10000) { // Reset to 0 after counting for 1000 seconds.
 deciSeconds=0;
 }
 sevseg.setNumber(deciSeconds, 1);
 }

 sevseg.refreshDisplay(); // Must run repeatedly
}

/// END ///

Now compile and upload the program to arduino

upload

work2 working

work3.