আরডুইনোতে কীভাবে এবং কেন একটি রিয়েল টাইম ঘড়ি যুক্ত করবেন

আরডুইনোতে কীভাবে এবং কেন একটি রিয়েল টাইম ঘড়ি যুক্ত করবেন

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





আমার ল্যাপটপে আমার মাউস কাজ করবে না কেন?

আপনার Arduino এর চারপাশের বিশ্বের সাথে সামঞ্জস্য বজায় রাখার জন্য, আপনাকে যা প্রয়োজন তা বলা হবে 'রিয়েল টাইম ক্লক মডিউল'। এখানে কিভাবে একটি ব্যবহার করবেন।





একটি রিয়েল টাইম ক্লক (RTC) এর বিন্দু কি?

আপনার কম্পিউটার সম্ভবত তার সময়কে ইন্টারনেটের সাথে সিঙ্ক করে, কিন্তু এটিতে এখনও একটি অভ্যন্তরীণ ঘড়ি রয়েছে যা ইন্টারনেট সংযোগ ছাড়াই চলতে থাকে বা বিদ্যুৎ বন্ধ থাকে। যখন আপনি একটি কম্পিউটারে প্লাগ করা একটি Arduino ব্যবহার করেন, তখন এটি আপনার সিস্টেম ঘড়ির দ্বারা প্রদত্ত সঠিক সময়ে অ্যাক্সেস পায়। এটি বেশ দরকারী, তবে বেশিরভাগ আরডুইনো প্রকল্পগুলি কম্পিউটার থেকে দূরে ব্যবহারের জন্য ডিজাইন করা হয়েছে - যে সময়ে, যে কোনও সময় বিদ্যুৎ সংযোগ বিচ্ছিন্ন হয়ে যায়, বা আরডুইনো পুনরায় চালু হয়, এটি ঠিক কোন সময় তা সম্পর্কে কোন ধারণা নেই। অভ্যন্তরীণ ঘড়িটি পুনরায় সেট করা হবে এবং পরের বার যখন এটি চালিত হবে তখন শূন্য থেকে গণনা শুরু করবে।





যদি আপনার প্রকল্পের সময়ের প্রয়োজনের সাথে কিছু করার থাকে - যেমন আমার রাতের আলো এবং সূর্যোদয়ের অ্যালার্ম ঘড়ি - এটি স্পষ্টভাবে একটি সমস্যা হতে চলেছে। সেই প্রজেক্টে, আমরা প্রতি রাতে ম্যানুয়ালি সময়টাকে বরং অযৌক্তিক ভাবে সেট করে এই সমস্যাটি পেয়েছিলাম - ব্যবহারকারী বিছানায় যাওয়ার ঠিক আগে রিসেট বোতাম টিপতেন, একটি ম্যানুয়াল টাইম সিঙ্ক প্রদান করে। স্পষ্টতই এটি একটি আদর্শ দীর্ঘ সময়ের সমাধান নয়।

একটি RTC মডিউল হল একটি অতিরিক্ত বিট সার্কিটরি, যার জন্য একটি ছোট মুদ্রা সেল ব্যাটারি প্রয়োজন, যা আপনার Arduino বন্ধ থাকলেও সময় গণনা করতে থাকে। একবার সেট করার পরে - এটি ব্যাটারির জীবনের জন্য সেই সময়টি রাখবে, সাধারণত একটি ভাল বছর বা তারও বেশি।



TinyRTC

Arduino এর জন্য সবচেয়ে জনপ্রিয় RTC কে TinyRTC বলা হয় এবং ইবেতে প্রায় $ 5- $ 10 এর জন্য কেনা যায়। আপনাকে সম্ভবত আপনার নিজের ব্যাটারি সরবরাহ করতে হবে (বিদেশে এইগুলি অনেক জায়গায় পাঠানো অবৈধ), এবং কিছু শিরোনাম (পিনগুলি যা গর্তে স্লট করে, যা আপনাকে নিজের মধ্যে ঝালাই করতে হবে)।

এই মডিউল আমার আছে:





এটিতে একটি অন্তর্নির্মিত তাপমাত্রা সেন্সর রয়েছে, যদিও ব্যাটারিটি যদি আপনি এটি ব্যবহার না করেন তবে এটি দীর্ঘস্থায়ী হবে।

সেই জিনিসটির গর্তের সংখ্যা বেশ ভীতিকর লাগছে, তবে আপনার কেবল চারটি প্রয়োজন; জিএনডি, ভিসিসি, এসসিএল এবং এসডিএ - আপনি আরটিসি মডিউলের উভয় পাশে প্রাসঙ্গিক পিন ব্যবহার করতে পারেন। আপনি ঘড়ি ব্যবহার করে কথা বলেন I2C প্রোটোকল , যার অর্থ কেবল দুটি পিন ব্যবহার করা হয় - একটি 'ঘড়ির' (একটি সিরিয়াল যোগাযোগের ডেটা ঘড়ি, সময়ের সাথে কিছুই করার নেই) এবং একটি ডেটার জন্য। আসলে, আপনি একই দুটি পিনে 121 I2C ডিভাইস পর্যন্ত চেইন - চেক আউট এই Adafruit পাতা অন্যান্য I2C ডিভাইসের একটি নির্বাচনের জন্য আপনি যোগ করতে পারেন, কারণ অনেক আছে!





শুরু হচ্ছে

নীচের চিত্র অনুসারে আপনার TinyRTC মডিউলটি সংযুক্ত করুন - গোলাপী ডিএস লাইনের প্রয়োজন নেই, কারণ এটি তাপমাত্রা সেন্সরের জন্য।

পরবর্তী, ডাউনলোড করুন সময় এবং DS1307RTC লাইব্রেরি এবং আপনার মধ্যে ফলস্বরূপ ফোল্ডার রাখুন /লাইব্রেরি ফোল্ডার

লাইব্রেরি এবং উদাহরণ লোড করতে Arduino পরিবেশ থেকে প্রস্থান করুন এবং পুনরায় চালু করুন।

আপনি DS1307RTC মেনুতে দুটি উদাহরণ পাবেন: আপলোড করুন এবং চালান সেট সময় প্রথম উদাহরণ - এটি RTC কে সঠিক সময়ে সেট করবে। আসল কোডটি বিস্তারিতভাবে দেখার যোগ্য নয়, শুধু জেনে রাখুন যে প্রাথমিক সময় সিঙ্ক্রোনাইজেশন করার জন্য আপনাকে এটি একবার চালাতে হবে।

এর পরে, উদাহরণ ব্যবহারের সাথে দেখুন ReadTest

আমার ট্যাবলেট চালু হবে না কেন?

#include
#include
#include
void setup() {
Serial.begin(9600);
while (!Serial) ; // wait for serial
delay(200);
Serial.println('DS1307RTC Read Test');
Serial.println('-------------------');
}
void loop() {
tmElements_t tm;
if (RTC.read(tm)) {
Serial.print('Ok, Time = ');
print2digits(tm.Hour);
Serial.write(':');
print2digits(tm.Minute);
Serial.write(':');
print2digits(tm.Second);
Serial.print(', Date (D/M/Y) = ');
Serial.print(tm.Day);
Serial.write('/');
Serial.print(tm.Month);
Serial.write('/');
Serial.print(tmYearToCalendar(tm.Year));
Serial.println();
} else {
if (RTC.chipPresent()) {
Serial.println('The DS1307 is stopped. Please run the SetTime');
Serial.println('example to initialize the time and begin running.');
Serial.println();
} else {
Serial.println('DS1307 read error! Please check the circuitry.');
Serial.println();
}
delay(9000);
}
delay(1000);
}
void print2digits(int number) {
if (number >= 0 && number <10) {
Serial.write('0');
}
Serial.print(number);
}

মনে রাখবেন যে আমরা মূল অন্তর্ভুক্ত করেছি ওয়্যার.এইচ লাইব্রেরি - এটি Arduino এর সাথে আসে এবং I2C এর মাধ্যমে যোগাযোগের জন্য ব্যবহৃত হয়। কোডটি আপলোড করুন, 9600 বাউডে সিরিয়াল কনসোল খুলুন এবং দেখুন এবং আপনার আরডুইনো বর্তমান সময় প্রতি সেকেন্ডে আউটপুট করে। বিস্ময়কর!

উদাহরণে সবচেয়ে গুরুত্বপূর্ণ কোড হচ্ছে a tmElements_t tm - এটি একটি গঠন যে আমরা বর্তমান সময়ের সাথে জনসংখ্যা হবে; এবং RTC.read (tm) ফাংশন, যা RTC মডিউল থেকে বর্তমান সময় পায়, এটি আমাদের মধ্যে রাখে টিএম কাঠামো, এবং যদি সবকিছু ঠিক থাকে তবে সত্য ফিরে আসে। আপনার 'ডি' স্টেটমেন্টের মধ্যে আপনার ডিবাগ বা লজিক কোড যুক্ত করুন, যেমন সময় প্রিন্ট করা বা এতে প্রতিক্রিয়া জানানো।

কম্পিউটার থেকে কম্পিউটারে ডেটা স্থানান্তর

এখন যেহেতু আপনি জানেন কিভাবে আরডুইনো দিয়ে সঠিক সময় পেতে হয়, আপনি সূর্যোদয় অ্যালার্ম প্রকল্পটি পুনরায় লেখার চেষ্টা করতে পারেন বা একটি LED শব্দ ঘড়ি তৈরি করতে পারেন - সম্ভাবনাগুলি অফুরন্ত! আপনি কি তৈরি করবেন?

চিত্র ক্রেডিট: স্নুটল্যাব ফ্লিকার এর মাধ্যমে

শেয়ার করুন শেয়ার করুন টুইট ইমেইল আপনার উইন্ডোজ 10 ডেস্কটপের চেহারা এবং অনুভূতি কীভাবে পরিবর্তন করবেন

উইন্ডোজ 10 কে আরও সুন্দর করে তোলার জন্য জানতে চান? উইন্ডোজ 10 কে আপনার নিজের করার জন্য এই সাধারণ কাস্টমাইজেশনগুলি ব্যবহার করুন।

পরবর্তী পড়ুন
সম্পর্কিত বিষয়
  • DIY
  • আরডুইনো
লেখক সম্পর্কে জেমস ব্রুস(707 নিবন্ধ প্রকাশিত)

জেমসের কৃত্রিম বুদ্ধিমত্তায় বিএসসি আছে এবং কম্পটিআইএ এ+ এবং নেটওয়ার্ক+ প্রত্যয়িত। যখন তিনি হার্ডওয়্যার রিভিউ এডিটর হিসেবে ব্যস্ত থাকেন না, তখন তিনি লেগো, ভিআর এবং বোর্ড গেম উপভোগ করেন। মেক ইউসঅফে যোগদানের আগে তিনি ছিলেন একজন আলো প্রযুক্তিবিদ, ইংরেজি শিক্ষক এবং ডেটা সেন্টার ইঞ্জিনিয়ার।

জেমস ব্রুস থেকে আরো

আমাদের নিউজলেটার সদস্যতা

প্রযুক্তি টিপস, রিভিউ, ফ্রি ইবুক এবং এক্সক্লুসিভ ডিলের জন্য আমাদের নিউজলেটারে যোগ দিন!

সাবস্ক্রাইব করতে এখানে ক্লিক করুন
বিভাগ Diy