সুচিপত্র:

অবসর ঘড়ি / কাউন্ট আপ / ডিএন ক্লক: 4 টি ধাপ (ছবি সহ)
অবসর ঘড়ি / কাউন্ট আপ / ডিএন ক্লক: 4 টি ধাপ (ছবি সহ)

ভিডিও: অবসর ঘড়ি / কাউন্ট আপ / ডিএন ক্লক: 4 টি ধাপ (ছবি সহ)

ভিডিও: অবসর ঘড়ি / কাউন্ট আপ / ডিএন ক্লক: 4 টি ধাপ (ছবি সহ)
ভিডিও: ফেসবুকে পোস্ট করার সময় কোনটা সিলেক্ট করলে রিচ বেশী? Photo / Post? 2024, জুলাই
Anonim
অবসর ক্লক / কাউন্ট আপ / ডিএন ক্লক
অবসর ক্লক / কাউন্ট আপ / ডিএন ক্লক

আমার ড্রয়ারে এই 8x8 LED ডট-ম্যাট্রিক্স ডিসপ্লেগুলির মধ্যে কয়েকটি ছিল এবং সেগুলি নিয়ে কী করা উচিত তা নিয়ে ভাবছিলাম। অন্যান্য নির্দেশাবলী দ্বারা অনুপ্রাণিত, আমি একটি ভবিষ্যতের তারিখ/সময় গণনা করার জন্য একটি কাউন্ট ডাউন/আপ ডিসপ্লে তৈরি করার ধারণা পেয়েছি এবং যদি লক্ষ্য সময় পাস হয়, তাহলে এটি থেকে গণনা করুন। আমি এটা এখন আমার অবসর ঘড়ি তাক উপর বসা।

এটি একটি বোতল মধ্যে রাখা ধারণা একটি কেসিং সম্পর্কে চিন্তা করার সময় একটি দুর্ঘটনা আরো ছিল। অন্যরা একটি বোতলে জাহাজ ুকিয়ে দেয়, কেন একটি ঘড়ি নয়?

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

সরবরাহ

1. আরডুইনো ন্যানো

2. RTC (আমি সাধারণ DS3231 ব্যবহার করেছি যার একটি EEPROM আছে)

3. 12x 8x8 ডট ম্যাট্রিক্স মডিউল। (আমার চতুর্ভুজ মডিউল ছিল যা লাইন আপ করা সহজ)

4. ডিসপ্লের উজ্জ্বলতা সামঞ্জস্য করতে এলডিআর

5. প্রতিরোধক 10 kOhm

6. ক্যাপাসিটর 5x 100 uF ডিসপ্লে থেকে স্পাইক দমন করে

7. 8x8 মডিউলের বৈপরীত্য বাড়ানোর জন্য, আমি গা dark় রঙের "উইন্ডো ফিল্ম" ব্যবহার করেছি। ডিসপ্লে LED না দেখালে সাদা বিন্দু হিসেবে দেখায়। উইন্ডো ফিল্ম এটি একটি চকচকে কালো চেহারা পরিণত করে।

ধাপ 1: উপাদানগুলি সংযুক্ত করুন

উপাদানগুলি সংযুক্ত করুন
উপাদানগুলি সংযুক্ত করুন
উপাদানগুলি সংযুক্ত করুন
উপাদানগুলি সংযুক্ত করুন

ডিসপ্লে একত্রিত করার জন্য আমি তিনটি চতুর্ভুজ প্রদর্শন ব্যবহার করেছি। স্ল্যাশ সহ একটি তারিখ এবং কোলন সহ সময় দেখানোর জন্য, আমাদের 8 টি অক্ষরের জন্য স্থান প্রয়োজন। সাধারণ 5x7 ফন্ট ব্যবহার করে, আমাদের প্রতি সারিতে ছয় 8x8 ব্লকের প্রয়োজন হবে। আমি চতুর্ভুজ ব্লকগুলির একটি অর্ধেক কেটেছি এবং ব্রেডবোর্ডের পরিকল্পিতভাবে দেখানো হিসাবে এটিকে ছয়টি ব্লক দ্বারা দুটি সারি হিসাবে সাজিয়েছি।

ধাপ 2: 3D মুদ্রিত অংশ

3D মুদ্রিত যন্ত্রাংশ
3D মুদ্রিত যন্ত্রাংশ
3D মুদ্রিত যন্ত্রাংশ
3D মুদ্রিত যন্ত্রাংশ
3D মুদ্রিত যন্ত্রাংশ
3D মুদ্রিত যন্ত্রাংশ

ডিসপ্লের দুই সারি ধরে রাখতে এবং বোতলে এগুলো রাখার জন্য আমি ডিসপ্লে ফ্রেমের জন্য গোলাকার দূরত্বের রিং প্রিন্ট করেছি। আমি নীচে ব্যবহৃত ফাইলগুলি যুক্ত করেছি। সমর্থন ছাড়াই এগুলি মুদ্রণ করতে সক্ষম হওয়ার জন্য, সেগুলি অংশে বিভক্ত। স্ক্রিনশটটি ডিসপ্লে ফ্রেমে আঠালো দুটি রিং দেখায়। বোতল গলার কভারটি ডিসপ্লে মোড এবং বর্তমান সময় এবং টার্গেট সময় নির্ধারণের মধ্যে তিনটি বোতাম রয়েছে। টিপিইউতে আমি যে বোতল ঘাড়ের কভারটি মুদ্রিত করেছি তা সংযোগকারীগুলিকে না কেটে ইউএসবি কেবলকে কভারে স্লাইড করার অনুমতি দেয় এবং তারের কয়েকটি উইন্ডিং দিয়ে এটিকে বেঁধে দেয়। আমি উল্লেখ করতে ভুলে গেছি যে আমি ১.৫ এল ওয়াইন বোতল ব্যবহার করেছি যা আমি একেবারে নীচে কেটেছিলাম। মুদ্রণ করা সমস্ত অংশ 20x20 সেমি (8x8 ইঞ্চি) প্রিন্টার বিছানায় ফিটিং।

ধাপ 3: কোড

আরডুইনো কোড কয়েকটি সাধারণভাবে ব্যবহৃত লাইব্রেরি ব্যবহার করছে।

MD_MAX72xx

এসপিআই

তারের

RTClib

সময় অঞ্চল

টাইমলিব

INO ফাইলে কয়েকটি লাইন রয়েছে যা পরিবর্তনের প্রয়োজন হতে পারে:

লাইন 38: #HARDWARE_TYPE MD_MAX72XX:: FC16_HW <- 8x8 মডিউল এবং এর ওরিয়েন্টেশনের উপর নির্ভর করে

FC16_HW এর পরিবর্তে এটি হতে পারে:

- MD_MAX72XX:: PAROLA_HW

- MD_MAX72XX:: GENERIC_HW

- MD_MAX72XX:: ICSTATION_HW

- MD_MAX72XX:: FC16_HW

কোডটি ইউএস সেন্ট্রাল টাইমের জন্য সেটিংস ব্যবহার করছে এবং অন্যান্য সময় অঞ্চলের জন্য সমন্বয় প্রয়োজন:

লাইন 53/54:

TimeChangeRule myDST = {"CDT", Second, Sun, Mar, 2, -300}; // দিবালোকের সময় UTC -5TimeChangeRule mySTD = {"CST", First, Sun, Nov, 2, -360}; // প্রমিত সময় UTC -6

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

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

ধাপ 4: অপারেশন এবং সেটিংস

অপারেশন এবং সেটিংস
অপারেশন এবং সেটিংস
অপারেশন এবং সেটিংস
অপারেশন এবং সেটিংস
অপারেশন এবং সেটিংস
অপারেশন এবং সেটিংস

তিনটি বোতাম আছে

1. মেনু / সেটিংস

2. উপরে

3. নিচে

মেনু বোতামটি তিনটি ডিসপ্লে টাইপের মাধ্যমে সাইকেল চালানোর অনুমতি দেয়: বর্তমান সময়, লক্ষ্য সময়, ডেল্টা সময়। ব -দ্বীপ সময় বর্তমান সংখ্যা এবং টার্গেট সময়ের মধ্যে দিনের সংখ্যা, HH/MM/SS দেখায়। এটি t- দেখাবে এবং ভবিষ্যতে টার্গেট হলে গণনা করবে অথবা t+ এবং লক্ষ্য অতীতে থাকলে গণনা করবে।

বর্তমান বা লক্ষ্য সময় সমন্বয় করতে, বর্তমান সময় বা লক্ষ্য সময় প্রদর্শন নির্বাচন করুন। সময় পরিবর্তন করতে, মেনু বোতামটি 2 সেকেন্ড ধরে রাখুন এবং ছেড়ে দিন যা আপনাকে সেটিং মোডে নিয়ে আসবে। প্রতিবেশী "/" বা ":" "" এ পরিণত হবে আপনি কোন অঙ্কটি সমন্বয় করছেন তা নির্দেশ করে। পৃথক hh/mm/ss এবং mm/dd/yy সমন্বয় করতে আপ/ডাউন বোতাম ব্যবহার করুন। আমি mm/dd/yy এবং dd/mm/yy এর মধ্যে স্যুইচ করার জন্য একটি সেটিং যোগ করিনি, এটি কোড পরিবর্তন করতে হবে অথবা হয়তো কেউ এই বৈশিষ্ট্যটি যোগ করতে ইচ্ছুক।

আপনি লক্ষ্য করবেন যে আপনি যদি 59 এর উপরে বা 00 এর নীচে মিনিটগুলি ধাপে ধরেন, তাহলে ঘন্টার ডিসপ্লেটিও সামঞ্জস্য করবে। একই সংখ্যার সেকেন্ড, ঘন্টা এবং দিনগুলি পরবর্তী উচ্চ মান পরিবর্তন করে যদি এই সংখ্যার জন্য 0 এর নীচে বা সর্বাধিক অতিক্রম করে। পৃথক মাসের বিভিন্ন সীমা প্রোগ্রামিং এড়ানোর জন্য এবং ফেব্রুয়ারিতে যদি লিপ ইয়ারে 29 দিনের প্রয়োজন হয় তবে আমি এটি করেছি। সময় সামঞ্জস্য করা আসলে ইপোক-টাইমে করা হয়, জানুয়ারী 1-1970 থেকে সেকেন্ড।

আমি গণনা দেখানোর জন্য একটি সহজ ভিডিও যোগ করেছি। আমি এগুলোকে টার্নিং হুইল ডিসপ্লের মতো করতে চেয়েছিলাম। যদি আপনি পরিবর্তনের সময়কাল সামঞ্জস্য করতে চান, তাহলে INO তে লাইন 69 আপনাকে পরিবর্তনকে গতি বা ধীর করার কিছু বিকল্প দেয়। 120ms অঙ্কগুলিকে যথেষ্ট ধীর গতিতে তৈরি করবে কারণ এটি একটি ক্রমাগত চলমান চাকা হবে।

আমি আশা করি আপনি এই নির্দেশযোগ্য উপভোগ করেছেন।

প্যাট্রিক Geschwindner

প্রস্তাবিত: