Arduino

নিজেই ডিজিটাল ঘড়ি তৈরি করা শিখুন । How to make a Digital clock at Home

আমরা অনেকেই ডিজিটাল ঘড়ি-digital clock তৈরি করতে চাই । কিন্তু এটা কিভাবে তৈরি করবেন অনেকেই কিন্তু এটা জানেন না যে একটা ডিজিটাল ঘড়ি কিভাবে তৈরি করা যায় । আজকে আমি আপনাদের সম্পন্ন একটা ডিজিটাল ক্লক তৈরি করা শেখাবো। এই পোস্টে আমরা আরডুইনো ব্যবহার করে কীভাবে 4 ডিজিট – 7 বিভাগের প্রদর্শন ডিজিটাল ঘড়ি তৈরি করতে শিখতে চলেছি,
আমরা দুটি ডিজিটাল ঘড়ি তৈরি করব, একটি আরটিসি এবং একটি আরটিসি মডিউল ছাড়াই।

 

Digital clock

এখানে আমরা পর্যায়ক্রমে শিখব যে একটা ডিজিটাল ঘড়ি-Digital clock কিভাবে তৈরি করা যায় ।প্রথমে আমরা জেনে নেব এই পোস্ট থেকে আমরা কি কি শিখতে পারব…

 

  • ডিজিটাল ঘড়ি তৈরি করার কম্পনেন্ট।
  • সার্কিট ডায়াগ্রাম ।
  • আরডুইনো কোডিং ।
  • ডিজিটাল ঘড়ির টাইম সেট । ইত্যাদি

ডিজিটাল ঘড়ি তৈরি করার কম্পনেন্টঃ

আমরা এখন জেনে নিব ডিজিটাল ঘড়ি তৈরি করার জন্য কি কি কম্পোনেন্ট লাগবে …..

  1. Arduino Uno R3 Board.
  2. Atmega 328 Microcontroller.
  3. Red Led-2 pcs.
  4. 16 MHZ crystal.
  5. Push button- 2 pcs.
  6. 7 Segment Display Common Anode / Common Cathode.
  7. 22 pf Capacitor – 2pcs.
  8. Green Connector-2pcs.
  9. Pcb Board.
  10. Ds3231 RTC Module/Ds1307 RTC Mdule.
  11. connecting wire.

সার্কিট ডায়াগ্রাম: 

   প্রথমে আমরা সেভেন সেগমেন্ট ডিসপ্লে ইন্টারনাল ডায়াগ্রাম একটু ভাল করে বুঝবো যে এর কানেকশন কিভাবে দিতে হবে

Digital clock

উপরে আমি আপনাদের দেখিয়েছি 7 Segment Display Common Anode/ Common Cathode এর ইন্টার্নাল ডায়াগ্রাম কেমন হয় । যদি আপনি ডিজিটাল ঘড়ি তৈরি করার জন্য Common Anode 7 Segment Display  ব্যবহার করেন, তাহলে +5v/VCC  পিনকে কমন ধরতে হবে । আর যদি  Common Cathode 7 Segment Display  ব্যবহার করেন, তাহলে GND  পিনকে কমন ধরতে হবে । আশা করি ব্যাপারটা বুঝতে পেরেছেন । যেহেতু ডিজিটাল ঘড়ি তৈরি করার জন্য 4 Digit 7 segment Display প্রয়োজন সেজন্য আমি সিঙ্গেল ডিজিট এর চারটি 7 Segment Display নিব ।এখানে Common Anode/Common Cathode  যেকোনো 7 segment ডিসপ্লে আপনি নিতে পারেন । শুধুমাত্র কোডিং এর ভিতর কিছুটা পরিবর্তন করতে হবে সেটা আমি আপনাদের একটু পরে বলে দিব। এখন চারটি 4-digit 7 সেগমেন্ট ডিসপ্লে আপনারা কিভাবে সংযোগ করবেন সেটা আপনাদের একটু দেখিয়ে দিচ্ছি ।

Digital clock

চারটি 4-digit 7 সেগমেন্ট ডিসপ্লে ঠিক এভাবেই আপনার সংযোগ করবেন। সেভেন সেগমেন্ট ডিসপ্লে এভাবে সংযোগ করা হলে তারপর Arduino  সাথে বিভিন্ন কম্পোনেন্ট এর এভাবে সংযোগ করে ডিজিটাল ঘড়ি তৈরি করতে হবে । নিচের ডিজিটাল ঘড়ির কানেকশন ডায়াগ্রাম আপনাদের দেখাচ্ছি  ।এখন আপনি যদি চান এখানে আরডিওনো ইউজ না করে শুধুমাত্র এটি ATmega328 এই মাইক্রোকন্ট্রোলার টি ইউজ করে এই ডিজিটাল ঘড়ি টা তৈরি করবেন তাহলে, তাহলে নিচের এই ডায়াগ্রামটি আপনাকে ফলো করতে হবে । এই ডায়াগ্রাম টা ফলো করে এভাবে কানেকশন করলে আপনি আরডিওনো ছাড়া অল্প খরচে ডিজিটাল ঘড়ি টা তৈরি করতে পারবেন ।

Digital clock

এই কানেকশন ডায়াগ্রাম অনুযায়ী আপনি পুরো কানেকশনটা করে ফেলবেন সতর্কতার সাথে ।

আরডুইনো কোডিংঃ

এই ডিজিটাল ক্লক এর কোডিং টা আমি নিচে দিয়ে দিলাম…..

 

 

#include "SevSeg.h"
 SevSeg Display;  
 const unsigned long period = 1000;  
 const unsigned long led_period = 500;  
 unsigned long startMillis;  
 unsigned long led_startMillis;  
 unsigned long currentMillis;  
 unsigned long led_currentMillis;  
 const int hrs_btn = A0;  
 const int min_btn = A1;  
 const int ledPin = A2;  
 int Hrs = 12;  
 int Min = 0;  
 int Sec = 0;  
 int Time;  
 int ledState = LOW;  
 void setup()  
 {  
 pinMode(hrs_btn, INPUT_PULLUP);  
 pinMode(min_btn, INPUT_PULLUP);  
 pinMode(ledPin, OUTPUT);  
 byte numDigits = 4;  
 byte digitPins[] = {10, 11, 12, 13};  
 byte segmentPins[] = {2, 3, 4, 5, 6, 7, 8, 9};  
 bool resistorsOnSegments = true;  
 bool updateWithDelaysIn = true;  
 //byte hardwareConfig = COMMON_CATHODE;  
 byte hardwareConfig = COMMON_CATHODE;  
 Display.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments);  
 Display.setBrightness(100);  
 }  
 void loop()  
 {  
 currentMillis = millis();  
 if (currentMillis - startMillis >= period)  
 {  
 Sec = Sec + 1;  
 startMillis = currentMillis;  
 }  
 led_currentMillis = millis();  
 if (led_currentMillis - led_startMillis >= led_period)  
 {  
 led_startMillis = led_currentMillis;  
 if (ledState == LOW)  
 {  
 ledState = HIGH;  
 if (digitalRead(hrs_btn) == LOW)  
 {  
 Hrs = Hrs + 1;  
 }  
 if (digitalRead(min_btn) == LOW)  
 {  
 Min = Min + 1;  
 Sec = 0;  
 }  
 }  
 else  
 {  
 ledState = LOW;  
 }  
 digitalWrite(ledPin, ledState);  
 }  
 if (Sec == 60)  
 {  
 Sec = 0;  
 Min = Min + 1;  
 }  
 if (Min == 60)  
 {  
 Min = 0;  
 Hrs = Hrs + 1;  
 }  
 if (Hrs == 13)  
 {  
 Hrs = 1;  
 }  
 Time = Hrs * 100 + Min;  
 Display.setNumber(Time);  
 Display.refreshDisplay();  
 }  

 

 

লাইব্রেরি ফাইলটা এখান থেকে ডাউনলোড করুনঃ SevSeg.h CLICKHERE

উপরের কানেকশন ডায়াগ্রাম অনুযায়ী কানেকশন করে এই কোডিং টা আপলোড করলে আপনার ডিজিটাল ঘড়ি-digital clock কিন্তু তৈরি হয়ে যাবে ।

 

 

 

Friendtechbd Desk

View Comments

Recent Posts

A street hawker paragraph 8-10, SSC, HSC and all students 100-500 words

A street hawker paragraph for Class 6, 7, 8, 9, 10, 11 and 12, 8-10,…

7 months ago

Water pollution paragraph 8-10, SSC, HSC and all students 100-500 words

Water pollution paragraph for Class 6, 7, 8, 9, 10, 11 and 12, 8-10, SSC,…

7 months ago

Our national flag paragraph 8-10, SSC, HSC and all students 100-500 words

Our national flag paragraph for Class 6, 7, 8, 9, 10, 11 and 12, 8-10,…

7 months ago

A mobile phone paragraph 8-10, SSC, HSC and all students 100-500 words

A mobile phone paragraph for Class 6, 7, 8, 9, 10, 11 and 12, 8-10,…

7 months ago

A tea stall paragraph 8-10, SSC, HSC and all students 100-500 words

A tea stall paragraph for Class 6, 7, 8, 9, 10, 11 and 12, 8-10,…

7 months ago

International Mother Language Day paragraph 8-10, SSC, HSC and all students 100-500 words

International Mother Language Day paragraph for Class 6, 7, 8, 9, 10, 11 and 12,…

7 months ago