সুচিপত্র:

Arduino Nano এবং DS1307: 4 টি ধাপ ব্যবহার করে সহজ ডিজিটাল ঘড়ি
Arduino Nano এবং DS1307: 4 টি ধাপ ব্যবহার করে সহজ ডিজিটাল ঘড়ি
Anonim
Arduino Nano এবং DS1307 ব্যবহার করে সহজ ডিজিটাল ঘড়ি
Arduino Nano এবং DS1307 ব্যবহার করে সহজ ডিজিটাল ঘড়ি

এই নিবন্ধে আমি আপনাকে Arduino ব্যবহার করে একটি ডিজিটাল ঘড়ি তৈরির একটি টিউটোরিয়াল দেখাবো.. আমি যে Arduino বোর্ড ব্যবহার করি তা হল Arduino Nano V3, DS1307 টাইম ডেটা প্রদানকারী হিসেবে, MAX7219 7 সেগমেন্ট ওয়াচ ডিসপ্লে হিসেবে।

টিউটোরিয়ালে প্রবেশ করার আগে, আমি সুপারিশ করছি যে আপনি Arduino ডিভাইস এবং আনুষাঙ্গিক ব্যবহার করে পরিচিত। এটি আপনার দেখানো টিউটোরিয়াল অনুসরণ করা আপনার জন্য সহজ করে তুলবে।

আপনি যদি Arduino বোর্ড ব্যবহার করার সাথে পরিচিত না হন, তাহলে চিন্তা করবেন না।

আপনি উষ্ণ করার জন্য এই নিবন্ধটি পড়তে পারেন:

  • কিভাবে Arduino ন্যানো ব্যবহার করবেন
  • আরডুইনো ব্যবহার করে MAX7219 7-সেগমেন্ট
  • কিভাবে Arduino ব্যবহার করে DS1307 ব্যবহার করবেন

ধাপ 1: প্রয়োজনীয় উপাদান

প্রয়োজনীয় উপাদান
প্রয়োজনীয় উপাদান
প্রয়োজনীয় উপাদান
প্রয়োজনীয় উপাদান
প্রয়োজনীয় উপাদান
প্রয়োজনীয় উপাদান

ডিজিটাল ঘড়ি তৈরির জন্য এই উপাদানগুলি আমাদের প্রয়োজন:

  • Arduino Nano V3
  • RTC DS1307
  • MAX7210 7 বিভাগ
  • জাম্পার ওয়্যার
  • ইউএসবি মিনি
  • প্রকল্প বোর্ড

লাইব্রেরি প্রয়োজন:

  • তারের
  • LedControl
  • RTClib

ধাপ 2: সমস্ত উপাদান একত্রিত করুন

সমস্ত উপাদান একত্রিত করুন
সমস্ত উপাদান একত্রিত করুন

যদি সমস্ত উপাদান পাওয়া যায়, এখন এটি একত্রিত হওয়ার সময়।

নীচের বিবরণ দেখুন অথবা উপরের ছবিটি দেখুন:

আরডুইনো থেকে আরটিসি ডিএস 1307

GND => GND

+5V => ভিসিসি

A4 => SDA

A5 => এসসিএল

আরডুইনো থেকে MAX7219

+5V => ভিসিসি

GND => GND

D12 => DIN

D11 => CLK

D10 => CS

সমস্ত উপাদান ইনস্টল করার পরে, প্রোগ্রামিং বিভাগে যান।

ধাপ 3: প্রোগ্রামিং

এই স্কেচটি আপনার তৈরি করা স্কেচে কপি এবং পেস্ট করুন। এর পরে প্রোগ্রামটি অর্ডুনো বোর্ডে আপলোড করুন

#অন্তর্ভুক্ত #অন্তর্ভুক্ত "LedControl.h" #অন্তর্ভুক্ত "RTClib.h"

RTC_DS1307 rtc;

LedControl lc = LedControl (12, 11, 10, 1);

অকার্যকর সেটআপ() {

Serial.begin (57600); যদি (! rtc.begin ()) {Serial.println ("RTC খুঁজে পাওয়া যায়নি"); যখন (1); } যদি (! rtc.isrunning ()) {Serial.println ("RTC চলছে না!"); // নিম্নলিখিত লাইনটি RTC সেট করে তারিখ এবং সময় এই স্কেচ সংকলিত হয়েছিল // rtc.adjust (তারিখ সময় (F (_ DATE_), F (_ TIME_))); // এই লাইনটি একটি স্পষ্ট তারিখ ও সময় দিয়ে RTC সেট করে, উদাহরণস্বরূপ সেট করতে // জানুয়ারী 21, 2014 সকাল 3 টায় আপনি কল করবেন: // rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0)); } lc.shutdown (0, মিথ্যা); lc.setIntensity (0, 8); lc.clearDisplay (0); }

অকার্যকর লুপ () {

তারিখের সময় এখন = rtc.now (); যদি (now.second () 40) {lc.setDigit (0, 0, now.second ()%10, false); lc.setDigit (0, 1, now.second ()/10, false); lc.setChar (0, 2, '-', মিথ্যা); lc.setDigit (0, 3, now.minute ()%10, false); lc.setDigit (0, 4, now.minute ()/10, false); lc.setChar (0, 5, '-', মিথ্যা); lc.setDigit (0, 6, now.hour ()%10, false); lc.setDigit (0, 7, now.hour ()/10, false); }

if (now.second () == 30 || now.second () == 40)

{lc.clearDisplay (0); }

যদি (now.second ()> = 31 && now.second () <40) {lc.setDigit (0, 6, now.day ()%10, true); lc.setDigit (0, 7, now.day ()/10, false); lc.setDigit (0, 4, now.month ()%10, true); lc.setDigit (0, 5, now.month ()/10, false); lc.setDigit (0, 0, (now.year ()%1000)%10, false); lc.setDigit (0, 1, (now.year ()%1000)/10, মিথ্যা); lc.setDigit (0, 2, (now.year ()%1000)/100, মিথ্যা); lc.setDigit (0, 3, now.year ()/1000, false); }}

ধাপ 4: ফলাফল

সমস্ত পদক্ষেপ সফল হওয়ার পরে, এই ফলাফলটি আপনি দেখতে পাবেন: (ভিডিও দেখুন)

প্রতি 31 তম সেকেন্ড থেকে 40 তম সেকেন্ড। 7 সেগমেন্ট তারিখ প্রদর্শন করবে। সেকেন্ড বাদে, 7 সেগমেন্ট ঘড়ি প্রদর্শন করবে

প্রস্তাবিত: