সুচিপত্র:

ক্রিপটিক ওয়াল ক্লক: 27 টি ধাপ (ছবি সহ)
ক্রিপটিক ওয়াল ক্লক: 27 টি ধাপ (ছবি সহ)

ভিডিও: ক্রিপটিক ওয়াল ক্লক: 27 টি ধাপ (ছবি সহ)

ভিডিও: ক্রিপটিক ওয়াল ক্লক: 27 টি ধাপ (ছবি সহ)
ভিডিও: CRYPTIC FATE | Bhoboghure 2022 Official Video | ভবঘুরে ২০২২ 2024, নভেম্বর
Anonim
ক্রিপটিক ওয়াল ক্লক
ক্রিপটিক ওয়াল ক্লক

সময়ের সাথে সাথে এমন কিছু যা আমরা নিয়ন্ত্রণ করতে পারি না। এটি একই হারে ঘটে যদি আমরা ঘুমিয়ে থাকি, জেগে থাকি, বিরক্ত হই অথবা নিযুক্ত থাকি। বর্তমান ঘটনাগুলির সাথে, এটি মনে রাখা গুরুত্বপূর্ণ যে সময় কেটে যাবে। আমরা যখন সময় পার হওয়ার অপেক্ষায় থাকি, কেন এমন কিছু তৈরি করি না যা সময়কে উত্তরণের জন্য আরও আকর্ষণীয় করে তোলে।

এই ঘড়িটি জার্মানির বার্লিনে পাওয়া Mengenlehreuhr দ্বারা অনুপ্রাণিত হয়েছিল এবং একই পদ্ধতিতে পড়তে পারে। আসলটির মতো, এটি আলোকিত, রঙিন ক্ষেত্রগুলির মাধ্যমে সময় বলে।

এটি 96 LED এর বৈশিষ্ট্য যা 52 'ডিজিট' অঞ্চলকে আলোকিত করে। মূল থেকে ভিন্ন, এটি একটি বৃত্তাকার নকশা যা একটি অনুভূমিক বার বিন্যাসের পরিবর্তে একটি সেকেন্ড রিং অন্তর্ভুক্ত করে। বাইরের ব্যান্ড মাঝের বিন্দুর সাথে সেকেন্ড নির্দেশ করে, পরের দুটি ব্যান্ড মিনিট নির্দেশ করে, চূড়ান্ত ভিতরের ব্যান্ডগুলি ঘন্টা নির্দেশ করে।

যদি আপনার হাতে কিছু স্ক্র্যাপ সামগ্রী এবং অতিরিক্ত সময় থাকে, তাহলে কেন এই সময়টি এমন কিছু তৈরি করতে ব্যবহার করবেন না যা দেখাবে!

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

ছবি
ছবি

ধাপ 1: কিভাবে ঘড়ি পড়বেন

ঘড়িটি ভিতরের বৃত্ত থেকে বাইরের দিকে পড়া হয়। চারটি ক্ষেত্রের অভ্যন্তরীণ রিংটি পাঁচটি পূর্ণাঙ্গ ঘন্টা নির্দেশ করে, দ্বিতীয় রিংয়ের পাশাপাশি চারটি ক্ষেত্রও, যা প্রতিটি একটি পূর্ণ ঘন্টা নির্দেশ করে, যা 24 ঘন্টার বিন্যাসে ঘন্টার মান প্রদর্শন করে। তৃতীয় রিংটিতে এগারটি ক্ষেত্র রয়েছে, যা প্রতিটি পাঁচ মিনিট পূর্ণ করে, পরের রিংটিতে আরও চারটি ক্ষেত্র থাকে, যা প্রতিটি একটি পূর্ণ মিনিট চিহ্নিত করে। অবশেষে ২ fields টি ক্ষেত্রের বাইরের বলয়টি এমনকি সেকেন্ডকে নির্দেশ করে, কেন্দ্রে আলো জ্বলজ্বল করে বিজোড় (যখন প্রজ্বলিত) অথবা সমান-সংখ্যাযুক্ত (যখন আনলিট) সেকেন্ড বোঝায়।

ছবি
ছবি

উদাহরণস্বরূপ, উপরের ছবিতে পাঁচ ঘন্টার সংখ্যার মধ্যে 1, এক ঘন্টার সংখ্যার মধ্যে 3, পাঁচ মিনিটের সংখ্যার মধ্যে 8, এক মিনিটের সংখ্যার মধ্যে 4, এবং দুইটি দ্বিতীয় অঙ্কের 23 টি এবং মধ্য দ্বিতীয় সংখ্যাটি জ্বলছে।

1x5 + 3x1: 8x5 + 4x1: 23x2 + 1x1 = 8:44:47 = 8:44:47 AM

ছবি
ছবি

উপরে দেখানো সময় হল: 3x5 + 0x1: 3x5 + 2x1: 5x2 + 1x1 = 15:17:11 = 3:17:11 PM

ছবি
ছবি

উপরে দেখানো সময় হল: 3x5 + 2x1: 3x5 + 3x1: 16x2 + 1x1 = 17:18:33 = 5:18:33 PM

ধাপ 2: সরঞ্জাম এবং উপকরণ

সরঞ্জাম এবং উপকরণ
সরঞ্জাম এবং উপকরণ
সরঞ্জাম এবং উপকরণ
সরঞ্জাম এবং উপকরণ
সরঞ্জাম এবং উপকরণ
সরঞ্জাম এবং উপকরণ

ইলেকট্রনিক্স সামগ্রী:

  • আরডুইনো ন্যানো
  • রিয়েল টাইম ঘড়ি
  • ঠিকানাযোগ্য LEDs
  • বৈদুতিক প্লাগ
  • বৈদ্যুতিক তার
  • ইউএসবি পাওয়ার প্লাগ
  • হালকা নির্ভরশীল প্রতিরোধক এবং সুষম প্রতিরোধক (যদি আপনি চান এটি রাতের অন্ধকারে)
  • তারের

কাঠের উপকরণ:

  • 3/4 ইঞ্চি পাতলা পাতলা কাঠ
  • পাতলা পাতলা পাতলা কাঠ
  • স্ক্র্যাপ উড (আমি 2x4s ব্যবহার করেছি কিন্তু শক্ত কাঠও কাজ করবে)
  • পেইন্ট
  • এক্রাইলিক 30 x 36 ইঞ্চি শীট (স্থানীয় হোম ইমপ্রুভমেন্ট স্টোরে পাওয়া যায়)
  • উইন্ডো টিন্ট (স্থানীয়ভাবে উৎস করার চেষ্টা করুন
  • উইন্ডো টিন্ট অ্যাপ্লিকেশন ফ্লুইড (আমি স্প্রে বোতলে শিশুর শ্যাম্পু মেশানো পানি ব্যবহার করেছি)
  • উইন্ডেক্স
  • কসাই কাগজ
  • স্ক্রু
  • আঠালো স্প্রে
  • আঠা
  • আঠালো লাঠি

সরঞ্জাম:

  • শাসক
  • জ্যাকটো ছুরি
  • টেপ
  • ডবল পার্শ্বযুক্ত টেপ
  • কম্পাস
  • সার্কেল কাটিং জিগ
  • জিগস
  • ব্যান্ডসও
  • টাকু স্যান্ডার
  • পাম স্যান্ডার
  • ডিস্ক স্যান্ডার
  • রাউটার টেবিল
  • আউল
  • ড্রিল এবং ড্রিল বিট/ড্রাইভার
  • বাতা
  • তাতাল
  • ঝাল
  • তারের স্ট্রিপার

ধাপ 3: টেমপ্লেটগুলি একত্রিত করুন

টেমপ্লেট একত্রিত করুন
টেমপ্লেট একত্রিত করুন
টেমপ্লেট একত্রিত করুন
টেমপ্লেট একত্রিত করুন

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

প্রয়োজনীয় সমস্ত টেমপ্লেট এবং ফাইল ধাপ 26 এ পাওয়া যায়।

ধাপ 4: রুক্ষ কাট বৃত্ত

রুক্ষ কাট বৃত্ত
রুক্ষ কাট বৃত্ত
রুক্ষ কাট বৃত্ত
রুক্ষ কাট বৃত্ত

দুটি টেমপ্লেট 3/4 ইঞ্চি পাতলা পাতলা পাতায় রাখা, একটি কম্পাসের সাহায্যে প্রয়োজনের চেয়ে একটু বড় বৃত্ত আঁকুন। একটি জিগস ব্যবহার করে, রুক্ষ আকৃতিটি কেটে ফেলুন।

ধাপ 5: আকারে কাটা

কাট টু সাইজ
কাট টু সাইজ
কাট টু সাইজ
কাট টু সাইজ

ব্যান্ডসোতে একটি বৃত্ত কাটার জিগ ব্যবহার করে চেনাশোনাগুলিকে চূড়ান্ত আকারে কাটুন।

ধাপ 6: টেমপ্লেট প্রয়োগ করুন

টেমপ্লেট প্রয়োগ করুন
টেমপ্লেট প্রয়োগ করুন
টেমপ্লেট প্রয়োগ করুন
টেমপ্লেট প্রয়োগ করুন
টেমপ্লেট প্রয়োগ করুন
টেমপ্লেট প্রয়োগ করুন

স্প্রে আঠালো ব্যবহার করে, প্রতিটি টেমপ্লেট একটি বৃত্তে প্রয়োগ করুন। টেমপ্লেটের কেন্দ্রে একটি পেরেক ertোকান যাতে এটি বৃত্তে থাকে।

ধাপ 7: টেমপ্লেট কাটা

টেমপ্লেট কাটা
টেমপ্লেট কাটা
টেমপ্লেট কাটা
টেমপ্লেট কাটা
টেমপ্লেট কাটা
টেমপ্লেট কাটা

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

ধাপ 8: স্যান্ডিং

স্যান্ডিং
স্যান্ডিং
স্যান্ডিং
স্যান্ডিং
স্যান্ডিং
স্যান্ডিং

একটি স্টিক, একটি স্পিন্ডেল স্যান্ডার, এবং পাম স্যান্ডার, বালি প্রয়োগ করা স্যান্ডপেপার ব্যবহার করে এবং জিগসের রেখে যাওয়া রুক্ষ কাটা মসৃণ করুন।

ধাপ 9: LEDs জন্য ড্রিল হোল্ড

LEDs জন্য ড্রিল হোল্ড
LEDs জন্য ড্রিল হোল্ড
LEDs জন্য ড্রিল হোল্ড
LEDs জন্য ড্রিল হোল্ড
LEDs জন্য ড্রিল হোল্ড
LEDs জন্য ড্রিল হোল্ড
LEDs জন্য ড্রিল হোল্ড
LEDs জন্য ড্রিল হোল্ড

প্রতিটি গর্তের মাঝখানে একটি এল এবং এলইডিগুলির জন্য ড্রিল ক্লিয়ারেন্স হোল দিয়ে চিহ্নিত করুন। আমি আমার ওয়ার্কপিসে ড্রিলকে লম্বালম্বি রাখতে সাহায্য করার জন্য একটি গাইড ব্যবহার করেছি এবং পিছনে কাঠ ফুঁকতে না রাখার জন্য একটি ব্যাক বোর্ড।

ধাপ 10: বোর্ডগুলি একত্রিত করুন

কম্বাইন বোর্ড
কম্বাইন বোর্ড
কম্বাইন বোর্ড
কম্বাইন বোর্ড
কম্বাইন বোর্ড
কম্বাইন বোর্ড

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

আরো তথ্যের জন্য ইমেজ নোট দেখুন।

ধাপ 11: LEDs োকান

LEDs োকান
LEDs োকান
LEDs োকান
LEDs োকান

LED বোর্ডের পিছন দিয়ে LEDs টিপুন। ছিদ্রগুলি যথেষ্ট পরিমাণে ফাঁক করা উচিত যাতে আপনার একটি বৃত্ত থেকে অন্য বৃত্তে যাওয়া ছাড়া কোন তারের কাটা প্রয়োজন হবে না।

পিছন থেকে, এলইডিগুলি কেন্দ্রে শুরু হয় এবং তারপরে ঘড়ির কাঁটার বিপরীতে তারপর পরবর্তী রিং পর্যন্ত চলে।

ধাপ 12: সেগমেন্ট 1 সংযুক্ত করুন

সেগমেন্ট 1 সংযুক্ত করুন
সেগমেন্ট 1 সংযুক্ত করুন
সেগমেন্ট 1 সংযুক্ত করুন
সেগমেন্ট 1 সংযুক্ত করুন
সেগমেন্ট 1 সংযুক্ত করুন
সেগমেন্ট 1 সংযুক্ত করুন

3/4 ইঞ্চি প্লাইউডে সংযুক্ত "সেগমেন্ট 1" টেমপ্লেট থেকে 9 টি অংশ কেটে নিন (ধাপ 26 এ পাওয়া যায়)। আঠালো এবং clamps সঙ্গে LED বোর্ড সংযুক্ত করুন। আপনি যদি অধৈর্য হন তবে আপনি এটিকে নখ ব্যবহার করতে পারেন।

একবার শুকিয়ে গেলে, একটি ডিস্ক স্যান্ডার দিয়ে প্রান্তটি ফ্লাশ করুন।

ধাপ 13: পেইন্ট

পেইন্ট
পেইন্ট
পেইন্ট
পেইন্ট
পেইন্ট
পেইন্ট
পেইন্ট
পেইন্ট

LED বোর্ড এবং ফ্রেম উভয়ই স্প্রে পেইন্ট করুন। যদি আমি এটি আবার তৈরি করতাম, তবে আমি কালো রঙের পরিবর্তে সাদা রঙ ব্যবহার করতে পছন্দ করতাম কারণ এটি লেন্সের মাধ্যমে আরও প্রতিফলিত হবে।

ধাপ 14: সেগমেন্ট 2

সেগমেন্ট 2
সেগমেন্ট 2
সেগমেন্ট 2
সেগমেন্ট 2
সেগমেন্ট 2
সেগমেন্ট 2

কাঠের বাইরে সংযুক্ত "সেগমেন্ট 2" টেমপ্লেট থেকে 9 টি অংশ কেটে নিন যা 3/8 ইঞ্চি পুরু (26 ধাপে পাওয়া যায়)। আমি দোকানের আশেপাশের কিছু স্ক্র্যাপ 2x4 ব্যবহার করেছি। বিভাগগুলিকে শুকনো করুন এবং এটি একটি ব্যান্ড ক্ল্যাম্পের সাথে ভালভাবে ফিট করে তা নিশ্চিত করুন। যদি সবকিছু পরীক্ষা করে দেখা যায়, তাহলে আঠালোকে আটকে রাখার জন্য পেইন্টার টেপ দিয়ে বাইরে coverেকে রাখুন এবং পরবর্তী ধাপে যাওয়ার আগে কমপক্ষে এক ঘন্টার জন্য শুকিয়ে দিন।

ধাপ 15: সেগমেন্ট 3

সেগমেন্ট 3
সেগমেন্ট 3
সেগমেন্ট 3
সেগমেন্ট 3
সেগমেন্ট 3
সেগমেন্ট 3

"সেগমেন্ট 3" টেমপ্লেট থেকে 3/8 ইঞ্চির বাইরে 9 টি অংশ কেটে নিন। পুরু স্ক্র্যাপউড (ধাপ 26 এ পাওয়া যায়) তাদের আঠালো করুন যাতে সেগমেন্ট 2 থেকে সিমগুলি প্রতিটি সেগমেন্ট 3 এর মাঝখানে থাকে। এটি রিংকে শক্তিশালী করবে।

ধাপ 16: মসৃণ রিং এবং পেইন্ট

মসৃণ রিং এবং পেইন্ট
মসৃণ রিং এবং পেইন্ট
মসৃণ রিং এবং পেইন্ট
মসৃণ রিং এবং পেইন্ট

আমি বড় রিংয়ের অফকুট টুকরো থেকে একটি কাস্টম স্যান্ডিং ব্লক তৈরি করেছি। আংটির ভিতরে এবং বাইরে বালি এবং আঠালো প্রক্রিয়া চলাকালীন যে ফাটল দেখা দিতে পারে তা পূরণ করুন।

মসৃণ হয়ে গেলে, কালো রঙের কয়েকটি কোট এবং পরিষ্কার কোট প্রয়োগ করুন।

ধাপ 17: এক্রাইলিক কাটা

এক্রাইলিক কাটা
এক্রাইলিক কাটা
এক্রাইলিক কাটা
এক্রাইলিক কাটা
এক্রাইলিক কাটা
এক্রাইলিক কাটা
এক্রাইলিক কাটা
এক্রাইলিক কাটা

এক্রাইলিককে 30 x 30 ইঞ্চির একটি বর্গক্ষেত্রের মধ্যে কাটুন এবং কেন্দ্রটি চিহ্নিত করুন। ডাবল পার্শ্বযুক্ত টেপ দিয়ে এক্রাইলিক সংযুক্ত করুন। একটি ফ্লাশ ট্রিম রাউটার বিট ব্যবহার করে, অতিরিক্ত এক্রাইলিক সরান

ধাপ 18: উইন্ডো টিন্ট প্রয়োগ করুন

উইন্ডো টিন্ট প্রয়োগ করুন
উইন্ডো টিন্ট প্রয়োগ করুন
উইন্ডো টিন্ট প্রয়োগ করুন
উইন্ডো টিন্ট প্রয়োগ করুন
উইন্ডো টিন্ট প্রয়োগ করুন
উইন্ডো টিন্ট প্রয়োগ করুন

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

ধাপ 19: ডিফিউজার সংযুক্ত করুন

ডিফিউজার সংযুক্ত করুন
ডিফিউজার সংযুক্ত করুন
ডিফিউজার সংযুক্ত করুন
ডিফিউজার সংযুক্ত করুন

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

ধাপ 20: অন্তরণ প্রয়োগ করুন

অন্তরণ প্রয়োগ করুন
অন্তরণ প্রয়োগ করুন

বিদ্যুৎ এবং ডেটা লাইন আলাদা রাখার জন্য আমি বৈদ্যুতিক টেপ ব্যবহার করেছি।

ধাপ 21: একত্রিত করুন

একত্রিত করা
একত্রিত করা
একত্রিত করা
একত্রিত করা
একত্রিত করা
একত্রিত করা

এক্রাইলিক থেকে অন্যান্য প্রতিরক্ষামূলক স্তর সরান। রিংয়ের ভিতরে এক্রাইলিক রাখুন জানালার রঙের পাশে। ঘড়ির বাকি অংশটি রিংয়ে স্লাইড করুন। হালকা চাপ প্রয়োগ করতে একটি বাতা ব্যবহার করুন যখন রিং দিয়ে এবং LED বোর্ডে একটি গর্ত ড্রিল করা হয়। এটি পিছন থেকে মোটামুটি 1 1/8 ইঞ্চি হওয়া উচিত। একটি LED মধ্যে ড্রিল না সতর্কতা অবলম্বন করুন। একটি ট্রাস মাথা স্ক্রু গর্ত মধ্যে স্ক্রু। ঘড়ির ঘেরের চারপাশে মোট আটটি স্ক্রুর জন্য পুনরাবৃত্তি করুন।

ধাপ 22: নোঙ্গর পয়েন্ট সংযুক্ত করুন

অ্যাঙ্কর পয়েন্ট সংযুক্ত করুন
অ্যাঙ্কর পয়েন্ট সংযুক্ত করুন

আঠালো নোঙ্গরটি ঘড়ির পিছনের দিকে নির্দেশ করে যাতে পিছনের কভারটি সংযুক্ত থাকে। এগুলি 3/4 ইঞ্চি পুরু এবং প্রায় 2 ইঞ্চি লম্বা।

ধাপ 23: ড্রিল পাওয়ার এবং এলডিআর সেন্সর হোল

ড্রিল পাওয়ার এবং এলডিআর সেন্সর হোল
ড্রিল পাওয়ার এবং এলডিআর সেন্সর হোল

পাওয়ার প্লাগের জন্য ঘড়ির নিচ দিয়ে একটি পাওয়ার হোল ড্রিল করুন এবং লাইট ডিপেন্ডেন্ট রেজিস্টর (LDR) সেন্সরের জন্য উপরের দিকে একটি গর্ত করুন।

ধাপ 24: ইলেকট্রনিক্স হোল্ডার ইনস্টল করুন

ইলেকট্রনিক্স হোল্ডার ইনস্টল করুন
ইলেকট্রনিক্স হোল্ডার ইনস্টল করুন
ইলেকট্রনিক্স হোল্ডার ইনস্টল করুন
ইলেকট্রনিক্স হোল্ডার ইনস্টল করুন

RTC এবং Arduino Nano এর জন্য 3D মুদ্রিত ধারক ইনস্টল করুন। পরিকল্পিতভাবে দেখানো সমস্ত ইলেকট্রনিক্স সংযুক্ত করুন।

ধাপ 25: পিছনের কভার

পিছনের ঢাকনা
পিছনের ঢাকনা
পিছনের ঢাকনা
পিছনের ঢাকনা
পিছনের ঢাকনা
পিছনের ঢাকনা
পিছনের ঢাকনা
পিছনের ঢাকনা

পাতলা পাতলা পাতলা কাঠ থেকে পিছনের কভারটি ঘড়ির বাইরের চেয়ে ছোট করে কাটুন। নোঙ্গর পয়েন্টগুলিতে গর্তগুলি ড্রিল করুন। পিছনের কেন্দ্রটি সন্ধান করুন এবং কীহোল কাটার জন্য উভয় দিক থেকে 8 ইঞ্চি পরিমাপ করুন (মার্কিন যুক্তরাষ্ট্রে স্টাডগুলির জন্য মান 16)। আমি যে স্ক্রুগুলি ব্যবহার করতে যাচ্ছি তার চেয়ে বড় গর্তটি ড্রিল করেছি এবং গর্তটি এক দিকে বড় করে দায়ের করেছি। কালো রং করুন এবং কভারটি জায়গায় সংযুক্ত করুন।

ধাপ 26: কোড এবং ফাইল

আবার, আমি এখানে ব্যবহৃত অনেক Arduino লাইব্রেরি ব্যবহার করার জন্য মোটামুটি নতুন তাই আমি নিশ্চিত যে তাদের ব্যবহার করার আরও ভাল উপায় আছে।

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

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

আপনি রঙের মাধ্যমে ঘড়িটি চক্রের জন্য সেট করতে পারেন বা একের পর এক স্থির থাকতে পারেন। আপনি সূচকের অঙ্কটি হাইলাইট করতে পারেন যাতে ভূমিকাতে দেখানো হয়েছে।

আপনার ইচ্ছামত কোডটি সম্পাদনা এবং পরিবর্তন করতে বিনা দ্বিধায়।

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

#অন্তর্ভুক্ত #ডিফাইন NUM_LEDS 96 #ডিফাইন ডেটা_পিন 3 #ডিফাইন এলডিআর A0 RTC_DS1307 rtc; বুলিয়ান সময় পরিবর্তন = মিথ্যা; বুলিয়ান প্রিন্টটাইম = মিথ্যা; // যদি আপনি কনসোলে আউটপুট দেখতে চান তবে সত্য সেট করুন। ডিবাগ করার জন্য সহায়ক। বুলিয়ান রেডডাউন = সত্য; বুলিয়ান গ্রিনডাউন = মিথ্যা; বুলিয়ান ব্লুডাউন = মিথ্যা; বুলিয়ান চক্র = মিথ্যা; // যদি আপনি ঘড়ির রং চক্র বুলিয়ান হাইলাইট করতে চান তবে সত্য সেট করুন = সত্য; // 'শেষ অঙ্ক' হাইলাইট করার জন্য সত্য সেট করুন। // সময়ের প্রতিটি গোষ্ঠীর শুরু এবং শেষের অবস্থান const int SECOND_1_LOCATION = 0; const int HOUR_2_START_LOCATION = 1; const int HOUR_2_END_LOCATION = 8; const int HOUR_1_START_LOCATION = 9; const int HOUR_1_END_LOCATION = 20; const int MINUTE_2_START_LOCATION = 21; const int MINUTE_2_END_LOCATION = 42; const int MINUTE_1_START_LOCATION = 43; const int MINUTE_1_END_LOCATION = 66; const int SECOND_2_START_LOCATION = 67; const int SECOND_2_END_LOCATION = 95; const int LEDS_PER_HOUR_1 = 3; const int LEDS_PER_HOUR_2 = 2; const int LEDS_PER_MINUTE_1 = 6; const int LEDS_PER_MINUTE_2 = 2; // মাল্টিপ্লায়ার টাইম কনস্ট int MULTIPLIER_FIVE = 5 ভাগ করতে ব্যবহৃত হয়; const int MULTIPLIER_TWO = 2; const int START_UP_DELAY = 1; // স্টার্টআপ অ্যানিমেশন const int CYCLE_SPEED = 1 গতি বা ধীর করতে এটি পরিবর্তন করুন; // রঙ পরিবর্তন চক্রের জন্য এখানে হার পরিবর্তন করুন (অবশ্যই 1 এর উপরে হতে হবে) // ভেরিয়েবলগুলি int lastSecond = 0 ঘোষণা করুন; int currentHour = 0; int currentMinute = 0; int currentSecond = 0; int hour1 = 0; int hour2 = 0; int minute1 = 0; int minute2 = 0; int second1 = 0; int second2 = 0; int cycleCount = 1; ভাসমান fadeValue = 255; ভাসমান fadeCheck = 255; uint8_t উজ্জ্বল = 255; int numberOfAnimations = 5; int randomness = 0; // সেট রং uint8_t লাল = 0; uint8_t সবুজ = 0; uint8_t নীল = 255; uint8_t highlight_red = 60; uint8_t highlight_green = 60; uint8_t highlight_blue = 255; // সিআরজিবি এলইডি [NUM_LEDS] এর অ্যারে সংজ্ঞায়িত করুন; অকার্যকর সেটআপ () {Serial.begin (19200); FastLED.addLeds (leds, NUM_LEDS); LEDS.setBrightness (উজ্জ্বল); FastLED.clear (); rtc.begin (); // সময় নির্ধারণ করার জন্য নীচের অসম্পূর্ণ লাইন। // rtc.adjust (তারিখ সময় (2020, 2, 19, 23, 59, 50)); // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // স্টার্টআপ অ্যানিমেশন অ্যানিমেট (এলোমেলোতা); } void loop () {// Get TimeTime Now = rtc.now (); currentHour = now.hour (); currentMinute = now.minute (); currentSecond = now.second (); সময় পরিবর্তন = মিথ্যা; // আরটিসি ছাড়া ম্যানুয়ালি সময় নির্ধারণ করতে এগুলি ব্যবহার করুন। ডিবাগিংয়ের জন্য সহায়ক // currentHour = 5; // currentMinute = 30; // currentSecond = 30; // (int i = SECOND_1_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {leds = CRGB:: Black; } // সেট ঘন্টা // সেট ঘন্টা 1 ঘন্টা 1 = (currentHour % MULTIPLIER_FIVE) * LEDS_PER_HOUR_1; // এটি সময় ইউনিটের মোট LEDs গণনা করবে (int i = HOUR_1_START_LOCATION; i 0) // && hour1 <12) {for (int i = (HOUR_1_START_LOCATION + hour1 - 1); i> = (HOUR_1_START_LOCATION + hour1-LEDS_PER_HOUR_1); i--) {leds = CRGB (highlight_red, highlight_green, highlight_blue); }} // সেট ঘন্টা 2 hour2 = (currentHour / MULTIPLIER_FIVE) * LEDS_PER_HOUR_2; // এটি সময় ইউনিটের মোট LEDs গণনা করবে (int i = HOUR_2_START_LOCATION; i 0) // && hour2 <8) {for (int i = (HOUR_2_START_LOCATION + hour2 - 1); i> = (HOUR_2_START_LOCATION + hour2-LEDS_PER_HOUR_2); i--) {leds = CRGB (highlight_red, highlight_green, highlight_blue); }} // সেট মিনিট // সেট মিনিট 1 মিনিট 1 = (currentMinute % MULTIPLIER_FIVE) * LEDS_PER_MINUTE_1; // এটি সময় ইউনিটের মোট LED গুলি গণনা করবে (int i = MINUTE_1_START_LOCATION; i 0) // && minute1 <24) {for (int i = (MINUTE_1_START_LOCATION + minute1 - 1); i> = (MINUTE_1_START_LOCATION + মিনিট 1-LEDS_PER_MINUTE_1); i--) {leds = CRGB (highlight_red, highlight_green, highlight_blue); }} // সেট মিনিট 2 মিনিট 2 = (currentMinute / MULTIPLIER_FIVE) * LEDS_PER_MINUTE_2; // এটি সময় ইউনিটের মোট LED গুলি গণনা করবে (int i = MINUTE_2_START_LOCATION; i 0) // && minute2 <22) {for (int i = (MINUTE_2_START_LOCATION + minute2 - 1); i> = (MINUTE_2_START_LOCATION + minute2-LEDS_PER_MINUTE_2); i--) {leds = CRGB (highlight_red, highlight_green, highlight_blue); }} // সেট সেকেন্ড যদি (currentSecond! = LastSecond) {timeChange = true; } // সেকেন্ড 1 সেকেন্ড 1 = currentSecond % MULTIPLIER_TWO; যদি (second1 == 1) {leds [SECOND_1_LOCATION] = CRGB (লাল, সবুজ, নীল); } // সেকেন্ড 2 সেকেন্ড 2 = currentSecond / MULTIPLIER_TWO; জন্য (int i = SECOND_2_START_LOCATION; i 0) // && second2 <29) {for (int i = (SECOND_2_START_LOCATION + second2 - 1); i> = (SECOND_2_START_LOCATION + second2 - 1); i--) {leds = CRGB (highlight_red, highlight_green, highlight_blue); }} lastSecond = currentSecond; // প্রোগ্রামের চক্র গণনা করুন এবং LEDC এর রঙ পরিবর্তন করতে setColor ফাংশনে কল করুন CYCLE_SPEED চক্র। if (cycleCount উজ্জ্বল) // {// fadeValue = উজ্জ্বল; //} // অন্যথায় যদি (fadeValue <150) // {// fadeValue = 150; //} // LEDS.setBrightness (fadeValue); FastLED.show (); // কনসোলে বর্তমান সময় মুদ্রণ করুন যদি (timeChange == true && printTime == true) {printToConsole (); }} // অ্যানিমেশন ফাংশন এখানে আরো অ্যানিমেশন যোগ করুন যেমন আপনি শূন্য অ্যানিমেট (int select) {if (select == 0) {for (int i = SECOND_1_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {leds = CRGB (লাল, সবুজ, নীল); FastLED.show (); বিলম্ব (START_UP_DELAY); } এর জন্য (int i = SECOND_2_END_LOCATION; i> = SECOND_1_LOCATION; i--) {leds = CRGB:: কালো; FastLED.show (); বিলম্ব (START_UP_DELAY); }} অন্যথায় (নির্বাচন করুন == 1) {জন্য (int i = 0; i <250; i ++) {int light = random (95); leds [light] = CRGB (লাল, সবুজ, নীল); FastLED.show (); }} অন্যথায় যদি (== 2 নির্বাচন করুন) {leds [0] = CRGB (লাল, সবুজ, নীল); জন্য (int i = 0; i <= SECOND_2_END_LOCATION - SECOND_2_START_LOCATION; i ++) {leds [SECOND_2_START_LOCATION+i] = CRGB (লাল, সবুজ, নীল); যদি (i <= (MINUTE_1_END_LOCATION - MINUTE_1_START_LOCATION)) {leds [MINUTE_1_START_LOCATION + i] = CRGB (লাল, সবুজ, নীল); } যদি (i <= (MINUTE_2_END_LOCATION - MINUTE_2_START_LOCATION)) {leds [MINUTE_2_START_LOCATION + i] = CRGB (লাল, সবুজ, নীল); } যদি (i <= (HOUR_1_END_LOCATION - HOUR_1_START_LOCATION)) {leds [HOUR_1_START_LOCATION + i] = CRGB (লাল, সবুজ, নীল); } যদি (i <= (HOUR_2_END_LOCATION - HOUR_2_START_LOCATION)) {leds [HOUR_2_START_LOCATION + i] = CRGB (লাল, সবুজ, নীল); } বিলম্ব (34); FastLED.show (); }} অন্যথায় যদি (== 3 নির্বাচন করুন) {leds [0] = CRGB (লাল, সবুজ, নীল); জন্য (int i = 0; i <= SECOND_2_END_LOCATION - SECOND_2_START_LOCATION; i ++) {leds [SECOND_2_END_LOCATION - i] = CRGB (লাল, সবুজ, নীল); যদি (i <= (MINUTE_1_END_LOCATION - MINUTE_1_START_LOCATION)) {leds [MINUTE_1_END_LOCATION - i] = CRGB (লাল, সবুজ, নীল); } যদি (i <= (MINUTE_2_END_LOCATION - MINUTE_2_START_LOCATION)) {leds [MINUTE_2_END_LOCATION - i] = CRGB (লাল, সবুজ, নীল); } যদি (i <= (HOUR_1_END_LOCATION - HOUR_1_START_LOCATION)) {leds [HOUR_1_END_LOCATION - i] = CRGB (লাল, সবুজ, নীল); } যদি (i <= (HOUR_2_END_LOCATION - HOUR_2_START_LOCATION)) {leds [HOUR_2_END_LOCATION - i] = CRGB (লাল, সবুজ,নীল); } বিলম্ব (34); FastLED.show (); }} অন্যথায় (নির্বাচন == 4) {জন্য (int i = SECOND_2_END_LOCATION; i> = SECOND_1_LOCATION; i--) {leds = CRGB:: কালো; } FastLED.show (); বিলম্ব (200); জন্য (int i = SECOND_1_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {leds = CRGB (লাল, সবুজ, নীল); } FastLED.show (); বিলম্ব (200); জন্য (int i = SECOND_2_END_LOCATION; i> = SECOND_1_LOCATION; i--) {leds = CRGB:: কালো; } FastLED.show (); বিলম্ব (200); জন্য (int i = SECOND_1_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {leds = CRGB (লাল, সবুজ, নীল); } FastLED.show (); বিলম্ব (200); জন্য (int i = SECOND_2_END_LOCATION; i> = SECOND_1_LOCATION; i--) {leds = CRGB:: কালো; } FastLED.show (); বিলম্ব (200); }} // কালার সাইক্লিং ফাংশন অকার্যকর setColor (বুলিয়ান সাইকেল কালার) {if (cycleColors == true) {if (redDown == true && greenDown == false) {red ++; সবুজ-; যদি (সবুজ <= 0) {লাল = 255; রেডডাউন = মিথ্যা; greenDown = সত্য; }} অন্যথায় যদি (greenDown == true && blueDown == false) {green ++; নীল-; যদি (নীল <= 0) {সবুজ = 255; greenDown = মিথ্যা; blueDown = সত্য; }} অন্যথায় যদি (blueDown == true && redDown == false) {blue ++; লাল-; যদি (লাল <= 0) {নীল = 255; blueDown = মিথ্যা; রেডডাউন = সত্য; }}} অন্য {লাল = 0; সবুজ = 0; নীল = 255; }} // প্রিন্ট টু সিরিয়াল মনিটর ফাংশন void printToConsole () {Serial.print ("Current Time:"); Serial.print (currentHour); সিরিয়াল.প্রিন্ট (":"); Serial.print (currentMinute); সিরিয়াল.প্রিন্ট (":"); Serial.println (currentSecond); Serial.println (""); জন্য (int i = HOUR_2_START_LOCATION; i <= HOUR_2_END_LOCATION; i ++) {Serial.print (leds ); যদি (i % 2 == 0) {Serial.print (""); }} Serial.println (""); জন্য (int i = HOUR_1_START_LOCATION; i <= HOUR_1_END_LOCATION; i ++) {Serial.print (leds ); যদি (((i - HOUR_1_START_LOCATION + 1) % 3) == 0) {Serial.print (""); }} Serial.println (""); জন্য (int i = MINUTE_2_START_LOCATION; i <= MINUTE_2_END_LOCATION; i ++) {Serial.print (leds ); যদি (((i - MINUTE_2_START_LOCATION) + 1) % 2 == 0) {Serial.print (""); }} Serial.println (""); জন্য (int i = MINUTE_1_START_LOCATION; i <= MINUTE_1_END_LOCATION; i ++) {Serial.print (leds ); যদি (((i - MINUTE_1_START_LOCATION) + 1) % 6 == 0) {Serial.print (""); }} Serial.println (""); জন্য (int i = SECOND_2_START_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {Serial.print (leds ); সিরিয়াল.প্রিন্ট (""); } Serial.println (""); Serial.println (leds [SECOND_1_LOCATION]); Serial.println (); জন্য (int i = 0; i <NUM_LEDS; i ++) {Serial.print (leds ); } Serial.println (); Serial.println (); }

ধাপ 27: উপভোগ করুন

ছবি
ছবি

উপসংহারে, এই ঘড়িটি দেখতে অসাধারণ এবং একবার আপনি এটিকে ঝুলিয়ে রাখলে এটি পড়তে তুলনামূলকভাবে সহজ। আপনি যদি আপনার নিজের ঘড়ি প্রকল্প তৈরি করেন, আমাকে জানান!

প্রস্তাবিত: