Header Ads

Header ADS

RTC Clock Bangla Tutorial | Easily Make Real-Time Clock with Arduino and DS3231 RTC Module

Easily Make Real-Time Clock with Arduino and DS3231 RTC Module | RTC Clock Bangla Tutorial


📌JLCPCB $2 for 5 pcs 2layer pcb prototype/ 4 layer pcb prototype : https://jlcpcb.com

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.


In this blog, I am going to share with you How to make an RTC Digital Clock using Atmega328p IC or Arduino Uno Board.


The Major Topics Covered in This Video: ------------------------------------------------------------------ 🔥 How do I make an Arduino digital clock? 🔥 How do you make a digital clock? 🔥 What is the Arduino clock? 🔥 Does Arduino have a built-in clock?




Arduino Programming 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);

       }

}  

----------------------------------------------------------------------------------------------------------


🇧🇩 🔥🔥Visit My Programming Tutorial Channel: https://youtube.com/channel/UCeVGeehSnnf-X_FpAsIF3OQ Please subscribe to my channel. Subscription link here: https://goo.gl/JDjNeq 🔥 All Documents Download Link: https://drive.google.com/drive/folders/1znhORU69oAL1jmnRtnVFKBXxo9uijdo8?usp=sharing All social link Facebook: https://bit.ly/2SAbptO Instagram: https://bit.ly/2MWRobw Estiak Khan Jhuman Facebook Link: https://bit.ly/2MVL1oM Youtube Link: https://bit.ly/2US5spz


1 comment:

Theme images by Bim. Powered by Blogger.