0 to 9 counter using arduino nano

In this tutorial, we are going to make a 0 to 9 counter using arduino nano and a 7 segment display. The display will count the numbers from 0 – 9 in a loop mode.

Components required

The hardware requirements for this project are –

  1. Arduino nano
  2. 7 segment display (common cathode)
  3. Bread board
  4. Arduino nano cable
  5. 220 Ohm resister
  6. M to M jumper wires

7 segment display

A 7 segment display is made up of 7 led’s named as a, b, c, d, e, f & g. These led’s can be operated individually to display any numeric values between 0 – 9. The pin diagram is show in the picture below –

7 segment display

Circuit connection

The circuit connection should be made as discussed below-

nano pins

Display pins

   

D2

A

D3

B

D4

C
D5

D

D6

E

D7

F

D8

G

GND

GND

   

Connect the following pins of Arduino nano with display as mentioned in the above table.

Arduino code

The Arduino code for 0 to 9 counter using arduino nano.

int dt=1000;   // for chnging delay of programint segmentA=2;int segmentB=3;int segmentC=4;int segmentD=5;int segmentE=6;int segmentF=7;int segmentG=8;
void setup(){pinMode (segmentA,OUTPUT); //sets pin 2 in output modepinMode (segmentB,OUTPUT); //sets pin 3 in output modepinMode (segmentC,OUTPUT); //sets pin 4 in output modepinMode (segmentD,OUTPUT); //sets pin 5 in output modepinMode (segmentE,OUTPUT); //sets pin 6 in output modepinMode (segmentF,OUTPUT); //sets pin 8 in output modepinMode (segmentG,OUTPUT); //sets pin 8 in output mode
}
void loop(){  //print0  digitalWrite(segmentA,HIGH);  digitalWrite(segmentB,HIGH);  digitalWrite(segmentC,HIGH);  digitalWrite(segmentD,HIGH);  digitalWrite(segmentE,HIGH);  digitalWrite(segmentF,HIGH);  digitalWrite(segmentG,LOW);
  delay(dt);//print1  digitalWrite(segmentA,LOW);  digitalWrite(segmentB,HIGH);  digitalWrite(segmentC,HIGH);  digitalWrite(segmentD,LOW);  digitalWrite(segmentE,LOW);  digitalWrite(segmentF,LOW);  digitalWrite(segmentG,LOW);
  delay(dt);//print2  digitalWrite(segmentA,HIGH);  digitalWrite(segmentB,HIGH);  digitalWrite(segmentC,LOW);  digitalWrite(segmentD,HIGH);  digitalWrite(segmentE,HIGH);  digitalWrite(segmentF,LOW);  digitalWrite(segmentG,HIGH);
delay(dt);//print3  digitalWrite(segmentA,HIGH);  digitalWrite(segmentB,HIGH);  digitalWrite(segmentC,HIGH);  digitalWrite(segmentD,HIGH);  digitalWrite(segmentE,LOW);  digitalWrite(segmentF,LOW);  digitalWrite(segmentG,HIGH);
delay(dt);//print4  digitalWrite(segmentA,LOW);  digitalWrite(segmentB,HIGH);  digitalWrite(segmentC,HIGH);  digitalWrite(segmentD,LOW);  digitalWrite(segmentE,LOW);  digitalWrite(segmentF,HIGH);  digitalWrite(segmentG,HIGH);
delay(dt);//print5  digitalWrite(segmentA,HIGH);  digitalWrite(segmentB,LOW);  digitalWrite(segmentC,HIGH);  digitalWrite(segmentD,HIGH);  digitalWrite(segmentE,LOW);  digitalWrite(segmentF,HIGH);  digitalWrite(segmentG,HIGH);
delay(dt);//print6  digitalWrite(segmentA,HIGH);  digitalWrite(segmentB,LOW);  digitalWrite(segmentC,HIGH);  digitalWrite(segmentD,HIGH);  digitalWrite(segmentE,HIGH);  digitalWrite(segmentF,HIGH);  digitalWrite(segmentG,HIGH);
delay(dt);//print7  digitalWrite(segmentA,HIGH);  digitalWrite(segmentB,HIGH);  digitalWrite(segmentC,HIGH);  digitalWrite(segmentD,LOW);  digitalWrite(segmentE,LOW);  digitalWrite(segmentF,LOW);  digitalWrite(segmentG,LOW);
  delay(dt);//print8  digitalWrite(segmentA,HIGH);  digitalWrite(segmentB,HIGH);  digitalWrite(segmentC,HIGH);  digitalWrite(segmentD,HIGH);  digitalWrite(segmentE,HIGH);  digitalWrite(segmentF,HIGH);  digitalWrite(segmentG,HIGH);
delay(dt);//print9  digitalWrite(segmentA,HIGH);  digitalWrite(segmentB,HIGH);  digitalWrite(segmentC,HIGH);  digitalWrite(segmentD,HIGH);  digitalWrite(segmentE,LOW);  digitalWrite(segmentF,HIGH);  digitalWrite(segmentG,HIGH);
delay(dt);}

To understand why the pins are set high or low to print specific number, go through BCD to 7 segment decoder.


Download Code

Project video



Visit YouTube

Author

Akash Sharma

Share This Post

Leave a Comment