Header Ads

Header ADS

Simple Digital Clock with Big Font on 16x2 LCD Using Arduino in Bangla

Simple Digital Clock with Big Font on 16x2 LCD Using Arduino in Bangla


 Hello Friends, In This Blog, I will show you How to Make a Simple Digital Clock with Big Font on a 16x2 LCD Using Arduino in Bangla. This project is suitable for School, college & university projects. I am using Arduino Uno & 16x2 LCD display. There was a new thing which is the BIG font on a 16x2 LCD Display.





The PCB board will be needed to make the trainer board like the picture above.  According to the above circuit, you can build a trainer on the Vero board.  I made my PCB board from http://www.jlcpcb.com.  

Gerber file is required to order on this website. 

 If you want to get the Gerber file of this PCB, enter this link 
https://youtu.be/tpIZDV5NqpI. 

 And if you want to design a PCB yourself, then go.  at http://easyeda.com.


 JLCPCB SMT Service from $2 and Get $24 Coupons Here: http://www.jlcpcb.com/cyt

 video Tutorial Link: https://youtu.be/nbAGIZmEP8Y



Full Code:



// include the library

#include <LiquidCrystal.h>

// initialize the interface pins

LiquidCrystal lcd(2,3,4,5,6,7);

int s,m,h,a,d,state,state1,state2,dg,cnt;


// the 8 arrays that form each segment of the custom numbers

byte bar1[8] = 

{

        B11100,

        B11110,

        B11110,

        B11110,

        B11110,

        B11110,

        B11110,

        B11100

};

byte bar2[8] =

{

        B00111,

        B01111,

        B01111,

        B01111,

        B01111,

        B01111,

        B01111,

        B00111

};

byte bar3[8] =

{

        B11111,

        B11111,

        B00000,

        B00000,

        B00000,

        B00000,

        B11111,

        B11111

};

byte bar4[8] =

{

        B11110,

        B11100,

        B00000,

        B00000,

        B00000,

        B00000,

        B11000,

        B11100

};

byte bar5[8] =

{

        B01111,

        B00111,

        B00000,

        B00000,

        B00000,

        B00000,

        B00011,

        B00111

};

byte bar6[8] =

{

        B00000,

        B00000,

        B00000,

        B00000,

        B00000,

        B00000,

        B11111,

        B11111

};

byte bar7[8] =

{

        B00000,

        B00000,

        B00000,

        B00000,

        B00000,

        B00000,

        B00111,

        B01111

};

byte bar8[8] =

{

        B11111,

        B11111,

        B00000,

        B00000,

        B00000,

        B00000,

        B00000,

        B00000

};




void setup()

{

  // assignes each segment a write number

  lcd.createChar(1,bar1);

  lcd.createChar(2,bar2);

  lcd.createChar(3,bar3);

  lcd.createChar(4,bar4);

  lcd.createChar(5,bar5);

  lcd.createChar(6,bar6);

  lcd.createChar(7,bar7);

  lcd.createChar(8,bar8);

  state=1;

  state1=1;

  state2=1;

  // sets the LCD's rows and colums:

  lcd.begin(16, 2);

  pinMode(8,INPUT_PULLUP);

    pinMode(9,INPUT_PULLUP);

      pinMode(10,INPUT_PULLUP);

  s=0;

  m=0;

   h=0;

a=0;

}


void custom0(int col)

{ // uses segments to build the number 0

  lcd.setCursor(col, 0); 

  lcd.write(2);  

  lcd.write(8); 

  lcd.write(1);

  lcd.setCursor(col, 1); 

  lcd.write(2);  

  lcd.write(6);  

  lcd.write(1);

}


void custom1(int col)

{

  lcd.setCursor(col,0);

  lcd.write(32);

  lcd.write(32);

  lcd.write(1);

  lcd.setCursor(col,1);

  lcd.write(32);

  lcd.write(32);

  lcd.write(1);

}


void custom2(int col)

{

  lcd.setCursor(col,0);

  lcd.write(5);

  lcd.write(3);

  lcd.write(1);

  lcd.setCursor(col, 1);

  lcd.write(2);

  lcd.write(6);

  lcd.write(6);

}


void custom3(int col)

{

  lcd.setCursor(col,0);

  lcd.write(5);

  lcd.write(3);

  lcd.write(1);

  lcd.setCursor(col, 1);

  lcd.write(7);

  lcd.write(6);

  lcd.write(1); 

}


void custom4(int col)

{

  lcd.setCursor(col,0);

  lcd.write(2);

  lcd.write(6);

  lcd.write(1);

  lcd.setCursor(col, 1);

  lcd.write(32);

  lcd.write(32);

  lcd.write(1);

}


void custom5(int col)

{

  lcd.setCursor(col,0);

  lcd.write(2);

  lcd.write(3);

  lcd.write(4);

  lcd.setCursor(col, 1);

  lcd.write(7);

  lcd.write(6);

  lcd.write(1);

}


void custom6(int col)

{

  lcd.setCursor(col,0);

  lcd.write(2);

  lcd.write(3);

  lcd.write(4);

  lcd.setCursor(col, 1);

  lcd.write(2);

  lcd.write(6);

  lcd.write(1);

}


void custom7(int col)

{

  lcd.setCursor(col,0);

  lcd.write(2);

  lcd.write(8);

  lcd.write(1);

  lcd.setCursor(col, 1);

  lcd.write(32);

  lcd.write(32);

  lcd.write(1);

}


void custom8(int col)

{

  lcd.setCursor(col, 0); 

  lcd.write(2);  

  lcd.write(3); 

  lcd.write(1);

  lcd.setCursor(col, 1); 

  lcd.write(2);  

  lcd.write(6);  

  lcd.write(1);

}


void custom9(int col)

{

  lcd.setCursor(col, 0); 

  lcd.write(2);  

  lcd.write(3); 

  lcd.write(1);

  lcd.setCursor(col, 1); 

  lcd.write(7);  

  lcd.write(6);  

  lcd.write(1);

}


void printNumber(int value, int col) {

  if (value == 0) {

    custom0(col);

  } if (value == 1) {

    custom1(col);

  } if (value == 2) {

    custom2(col);

  } if (value == 3) {

    custom3(col);

  } if (value == 4) {

    custom4(col);

  } if (value == 5) {

    custom5(col);

  } if (value == 6) {

    custom6(col);

  } if (value == 7) {

    custom7(col);

  } if (value == 8) {

    custom8(col);

  } if (value == 9) {

    custom9(col);

  }      

}  


void loop()


{

  if(!digitalRead(8)&state==1){

    cnt++;

    state=0;

    if(cnt>3){

      cnt=0;

      }

    }else if(digitalRead(8)&state==0){

    state=1;

    }


if(!digitalRead(9)&&state1==1){

    dg=1;

    state1=0;

     

    }else if(digitalRead(9)&state1==0){

    state1=1;

    }


if(!digitalRead(10)&&state2==1){

     dg=-1;

     state2=0;

    }else if(digitalRead(10)&state2==0){

    state2=1;

    }

    switch(cnt){

      case 1:

      m=m+dg;

      dg=0;  if(m>59){

    m=59;}

    if(m<0){

    m=0;}

      break;

     

      case 2:

      h=h+dg;

      dg=0;if(h>11){

    h=11;}

    if(h<0){

    h=0;}

      break;

          case 3:

     if(dg==1){

    a=1;

    dg=0;}

     if(dg==-1){

    a=0;

    dg=0;}

      break;

      }

  if(s>59){

    s=0;

    m++;

  

  if(m>59){

    m=0;

   h++;

  

  if(h>11){

    h=0;

    a=!a;

  } 

  }

  }

  d=h%10;

  printNumber(d, 3);

  d=h/10;

   printNumber(d, 0);


       d=m%10;

     printNumber(d, 10);

     d=m/10;

     printNumber(d, 7);

     lcd.setCursor(14, 0);

     if(a){

       lcd.print("AM");

      }else{

         lcd.print("PM");

        }

        if(cnt==0){

           s++;

          lcd.setCursor(6, 0);

      lcd.print(" ");

       lcd.setCursor(6, 1);

      lcd.print(" ");

      delay(500);

    lcd.setCursor(6, 0);

      lcd.print(".");

       lcd.setCursor(6, 1);

      lcd.print(".");

      delay(500);

       }

  

}  


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Circuit Diagram & Code URL: https://drive.google.com/drive/folders/1znhORU69oAL1jmnRtnVFKBXxo9uijdo8?usp=sharing

Video Tutorial:




No comments

Theme images by Bim. Powered by Blogger.