সুচিপত্র:

চুম্বকীয় প্রাচীর ঘড়ি: 24 ধাপ (ছবি সহ)
চুম্বকীয় প্রাচীর ঘড়ি: 24 ধাপ (ছবি সহ)

ভিডিও: চুম্বকীয় প্রাচীর ঘড়ি: 24 ধাপ (ছবি সহ)

ভিডিও: চুম্বকীয় প্রাচীর ঘড়ি: 24 ধাপ (ছবি সহ)
ভিডিও: এমন টয়লেট যা দেখে আপনিও লজ্জায় পড়ে যাবেন ! এসব টয়লেট দেখতেও কপাল লাগে। 2024, জুলাই
Anonim
চিত্তাকর্ষক চৌম্বক প্রাচীর ঘড়ি
চিত্তাকর্ষক চৌম্বক প্রাচীর ঘড়ি
চিত্তাকর্ষক চৌম্বক প্রাচীর ঘড়ি
চিত্তাকর্ষক চৌম্বক প্রাচীর ঘড়ি

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

এই ন্যূনতম প্রাচীর ঘড়িটি সস্তা স্টিপার মোটর দ্বারা চালিত 3D মুদ্রিত রিং গিয়ারগুলির একটি জোড়া লুকিয়ে রাখে যা একটি ক্লাসিক আখরোট ব্যহ্যাবরণের পিছনে চুম্বক ঘুরিয়ে দেয়।

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

ছবি
ছবি

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

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

উপকরণ:

  • 13 x 13 x 2 ইঞ্চি।
  • 13 x 13 ইঞ্চি হার্ডবোর্ড
  • আরডুইনো ন্যানো
  • রিয়েল টাইম ঘড়ি
  • স্টেপার মোটরস এবং ড্রাইভার
  • হল ইফেক্ট সেন্সর
  • চুম্বক
  • বৈদ্যুতিক তার
  • এসি অ্যাডাপ্টারের
  • প্লাগ
  • মিশ্র মেশিন স্ক্রু
  • বিভিন্ন কাঠের স্ক্রু
  • 3D মুদ্রিত অংশ (শেষ ধাপ)
  • ব্যহ্যাবরণ (12 x 12 ইঞ্চি - মুখ, 40 ইঞ্চি লম্বা ফালা)
  • স্প্রে ল্যাকার
  • ব্ল্যাক স্প্রে পেইন্ট

সরঞ্জাম:

  • 3D প্রিন্টার
  • কম্পাস
  • এক্স-অ্যাক্টো ছুরি
  • আঠা
  • বাতা
  • সার্কেল কাটিং জিগ
  • হ্যাক দেখেছি
  • ডিস্ক স্যান্ডার
  • র্যাচেট ক্ল্যাম্প
  • চিসেল
  • শাসক
  • স্যান্ডার
  • ড্রিলস
  • স্ক্রু ড্রাইভার
  • তাতাল
  • গরম আঠা বন্দুক

ধাপ 2: একসঙ্গে কাঠের ফ্রেম আঠালো

একসঙ্গে আঠালো কাঠের ফ্রেম
একসঙ্গে আঠালো কাঠের ফ্রেম
একসঙ্গে আঠালো কাঠের ফ্রেম
একসঙ্গে আঠালো কাঠের ফ্রেম
একসঙ্গে আঠালো কাঠের ফ্রেম
একসঙ্গে আঠালো কাঠের ফ্রেম
একসঙ্গে আঠালো কাঠের ফ্রেম
একসঙ্গে আঠালো কাঠের ফ্রেম

কাঠের তিনটি টুকরা একসাথে আঠালো যা ঘড়ির ফ্রেম তৈরি করবে। আমি একটি পুরানো বিছানার ফ্রেম থেকে পুনরুদ্ধারকৃত কণা বোর্ড ব্যবহার করেছি।

ধাপ 3: সার্কেল কাটিং জিগ ব্যবহার করে ফ্রেম কাটুন

সার্কেল কাটিং জিগ ব্যবহার করে ফ্রেম কাটুন
সার্কেল কাটিং জিগ ব্যবহার করে ফ্রেম কাটুন
সার্কেল কাটিং জিগ ব্যবহার করে ফ্রেম কাটুন
সার্কেল কাটিং জিগ ব্যবহার করে ফ্রেম কাটুন
সার্কেল কাটিং জিগ ব্যবহার করে ফ্রেম কাটুন
সার্কেল কাটিং জিগ ব্যবহার করে ফ্রেম কাটুন
সার্কেল কাটিং জিগ ব্যবহার করে ফ্রেম কাটুন
সার্কেল কাটিং জিগ ব্যবহার করে ফ্রেম কাটুন

বোর্ডের কেন্দ্র চিহ্নিত করুন এবং একটি বৃত্ত কাটার জিগের উপর মাউন্ট করুন। নিম্নলিখিত ব্যাস সহ পাঁচটি বৃত্ত কাটা:

  • 12 ইঞ্চি
  • 11 1/4 ইঞ্চি
  • 9 1/4 ইঞ্চি
  • 7 1/4 ইঞ্চি
  • 5 3/8 ইঞ্চি

ধাপ 4: মুদ্রণ এবং গিয়ার্স একত্রিত করুন

গিয়ার্স মুদ্রণ এবং একত্রিত করুন
গিয়ার্স মুদ্রণ এবং একত্রিত করুন
গিয়ার্স মুদ্রণ এবং একত্রিত করুন
গিয়ার্স মুদ্রণ এবং একত্রিত করুন

রিং গিয়ারগুলিকে সেগমেন্টে বিভক্ত করা হয়েছে যাতে সেগুলিকে একটি ছোট প্রিন্টারে মুদ্রণ করা যায় এবং একসঙ্গে ছিঁড়ে ফেলা যায়। পরবর্তী ধাপে দেখানো ফিউজিং প্রক্রিয়ায় সহায়তা করার জন্য সমস্ত অংশ ABS এ মুদ্রিত হয়েছিল। অংশগুলির সমস্ত প্রান্ত এবং পৃষ্ঠতল বালি।

22 তম ধাপে পাওয়া অংশগুলির নিম্নলিখিত পরিমাণগুলি মুদ্রণ করুন:

  • 1 - ঘন্টা রিং গিয়ার সেগমেন্ট চুম্বক
  • 6 - ঘন্টা রিং গিয়ার সেগমেন্ট বেসিক
  • 1 - ঘন্টা ধরে রাখা রিং সেগমেন্ট স্টেপার মাউন্ট
  • 6 - ঘন্টা ধরে রাখার রিং সেগমেন্ট বেসিক
  • 1 - ঘন্টা হল প্রভাব সেন্সর ধারক
  • 1 - মিনিট রিং গিয়ার সেগমেন্ট চুম্বক
  • 7 - মিনিট রিং গিয়ার সেগমেন্ট বেসিক
  • 1 - মিনিট ধরে রাখা রিং সেগমেন্ট স্টেপার মাউন্ট
  • 6 - মিনিট ধরে রাখা রিং সেগমেন্ট বেসিক
  • 1 - মিনিট হল প্রভাব সেন্সর ধারক
  • 2 - স্পার গিয়ার
  • 1 - ইলেকট্রনিক্স মাউন্ট

ধাপ 5: একসঙ্গে "আঠালো" বিভাগ

ছবি
ছবি
ছবি
ছবি
ছবি
ছবি

কিছু এসিটোন সহ একটি কাচের বোতলে, পুরানো সাপোর্ট উপাদান ব্যর্থ প্রিন্ট দ্রবীভূত করুন, ইত্যাদি টুকরা একসঙ্গে ফিউজ করার জন্য প্রতিটি সিমের উপর এসিটোন মিশ্রণটি আঁকুন। একবার সেরে গেলে, প্রতিটি সিম সমতল বালি।

ধাপ 6: ফ্রেমে কাট ত্রাণ

ফ্রেম মধ্যে ত্রাণ কাটা
ফ্রেম মধ্যে ত্রাণ কাটা
ফ্রেম মধ্যে ত্রাণ কাটা
ফ্রেম মধ্যে ত্রাণ কাটা
ফ্রেম মধ্যে ত্রাণ কাটা
ফ্রেম মধ্যে ত্রাণ কাটা

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

ধাপ 7: হল ইফেক্ট সেন্সরের জন্য কাট ক্লিয়ারেন্স

হল ইফেক্ট সেন্সরের জন্য কাট ক্লিয়ারেন্স
হল ইফেক্ট সেন্সরের জন্য কাট ক্লিয়ারেন্স
হল ইফেক্ট সেন্সরের জন্য কাট ক্লিয়ারেন্স
হল ইফেক্ট সেন্সরের জন্য কাট ক্লিয়ারেন্স
হল ইফেক্ট সেন্সরের জন্য কাট ক্লিয়ারেন্স
হল ইফেক্ট সেন্সরের জন্য কাট ক্লিয়ারেন্স

মিনিটের হল ইফেক্ট সেন্সরের জন্য ভেতরের রিং দিয়ে ক্লিয়ারেন্স হোল এবং ঘন্টা হল ইফেক্ট সেন্সরের স্লট কেটে নিন। আমি এই ছাড়পত্র কাটার জন্য একটি ছন, ফাইল এবং ছোট হাতের করাত ব্যবহার করেছি।

ধাপ 8: আঠালো বাইরের রিং

আঠালো বাইরের রিং
আঠালো বাইরের রিং

আঠালো এবং টেপ বাইরের রিং মিনিট ধরে রাখার রিং আকার।

ধাপ 9: হল ইফেক্ট সেন্সর অ্যাডজাস্টমেন্ট স্ক্রু কাটুন

কাট হল ইফেক্ট সেন্সর অ্যাডজাস্টমেন্ট স্ক্রু
কাট হল ইফেক্ট সেন্সর অ্যাডজাস্টমেন্ট স্ক্রু

একটি হ্যাকের সাহায্যে মেশিনের স্ক্রুগুলি কাটুন যাতে সেগুলি বজায় রাখার রিং এবং হল ইফেক্ট সেন্সর ধারকের পুরুত্বের চেয়ে লম্বা হয়। থ্রেডে একটি স্লট কাটুন যাতে এটি থ্রেডেড প্রান্ত থেকে সমতল স্ক্রু ড্রাইভার দিয়ে সামঞ্জস্য করা যায়।

ধাপ 10: হার্ডবোর্ডে আঠালো রিং

হার্ডবোর্ডে আঠালো রিং
হার্ডবোর্ডে আঠালো রিং
হার্ডবোর্ডে আঠালো রিং
হার্ডবোর্ডে আঠালো রিং
হার্ডবোর্ডে আঠালো রিং
হার্ডবোর্ডে আঠালো রিং

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

হার্ডবোর্ডটি বাইরের রিংয়ের আকারে ট্রিম করতে একটি ডিস্ক স্যান্ডার ব্যবহার করুন।

ধাপ 11: আঠালো অভ্যন্তরীণ ডিস্ক

আঠালো অভ্যন্তরীণ ডিস্ক
আঠালো অভ্যন্তরীণ ডিস্ক
আঠালো অভ্যন্তরীণ ডিস্ক
আঠালো অভ্যন্তরীণ ডিস্ক

আভ্যন্তরীণ ডিস্কটি স্থাপন করার জন্য ঘন্টা ধরে রাখার রিং এবং রিং গিয়ার ব্যবহার করে অভ্যন্তরীণ ডিস্কটি আঠালো করুন।

ধাপ 12: ব্যহ্যাবরণ সংযুক্ত করুন

ব্যহ্যাবরণ সংযুক্ত করুন
ব্যহ্যাবরণ সংযুক্ত করুন
ব্যহ্যাবরণ সংযুক্ত করুন
ব্যহ্যাবরণ সংযুক্ত করুন
ব্যহ্যাবরণ সংযুক্ত করুন
ব্যহ্যাবরণ সংযুক্ত করুন
ব্যহ্যাবরণ সংযুক্ত করুন
ব্যহ্যাবরণ সংযুক্ত করুন

ঘড়ির চেয়ে বড় ব্যহ্যাবরণের একটি স্ট্রিপ কেটে দিন এবং ঘড়ির চারপাশে মোড়ানো যথেষ্ট লম্বা (ঘড়ির 3.14 * ব্যাস, প্রয়োজনীয় দৈর্ঘ্য ফিরিয়ে দেবে। আপনার যথেষ্ট আছে কিনা তা নিশ্চিত করার জন্য এক ইঞ্চি যোগ করুন।) ব্যহ্যাবরণে শুকনো ফিট করুন দৈর্ঘ্য কাটা। ব্যহ্যাবরণে যথেষ্ট পরিমাণে আঠা লাগানো এবং স্ট্র্যাপ ক্ল্যাম্প দিয়ে জায়গায় ক্ল্যাম্প করা। আনুগত্য নিশ্চিত করতে কয়েক ঘন্টা শুকিয়ে দিন।

ধাপ 13: ব্যহ্যাবরণ ছাঁটা

ছাঁটাই ব্যহ্যাবরণ
ছাঁটাই ব্যহ্যাবরণ

একটি তীক্ষ্ণ চিসেল ব্যবহার করে, ঘড়ির সামনে এবং পিছন থেকে অতিরিক্ত ব্যহ্যাবরণটি ছাঁটাই করুন।

ধাপ 14: ব্যহ্যাবরণ কাটা

ব্যহ্যাবরণ কাটা
ব্যহ্যাবরণ কাটা
ব্যহ্যাবরণ কাটা
ব্যহ্যাবরণ কাটা

আমার ব্যহ্যাবরণ এর মধ্যে কিছু ফাটল ছিল। এটির সাথে কাজ করা সহজ করার জন্য, আমি এটিকে একসঙ্গে ধরে রাখার জন্য পেইন্টার টেপ প্রয়োগ করেছি। একটি কম্পাসে একটি এক্স-অ্যাক্টো ছুরি ব্যবহার করে, ঘড়ির মুখের চেয়ে ব্যহ্যাবরণটি কেটে ফেলুন।

ধাপ 15: আঠালো ব্যহ্যাবরণ

আঠালো ব্যহ্যাবরণ
আঠালো ব্যহ্যাবরণ
আঠালো ব্যহ্যাবরণ
আঠালো ব্যহ্যাবরণ

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

আমি ঘড়ির মুখের পাশে কয়েকটি ফ্ল্যাট বোর্ড এবং পিছনে কিছু কুল ব্যবহার করেছি।

ধাপ 16: বালি এবং শেষ

বালি এবং শেষ
বালি এবং শেষ
বালি এবং শেষ
বালি এবং শেষ

স্যান্ডপেপার ব্যবহার করে, ঘড়ির মুখ থেকে অতিরিক্ত ব্যহ্যাবরণটি সাবধানে সরান এবং 220 গ্রিট থেকে শুরু করে 600 গ্রিট পর্যন্ত বালি।

বার্ণিশের 10 থেকে 20 কোটের মধ্যে প্রয়োগ করুন। এটি এমন পৃষ্ঠ তৈরি করবে যা বল বহন করবে। বাতাসে ধুলো এবং অন্যান্য কণার কারণে অনিবার্যভাবে, আমি মনে করি প্রতিটি বল বহন করার পথে লাইনগুলি উপস্থিত হবে। ফিনিসের আরও কোট প্রয়োগ করা যতটা সম্ভব বিলম্ব করা উচিত। এটি ভবিষ্যতে পুনর্নির্মাণকে আরও সহজ করে তুলবে। যদি আমার ঘড়িতে লাইনগুলি উপস্থিত হয় তবে আমি এই পদক্ষেপটি আপডেট করব।

ধাপ 17: পাওয়ার ইনস্টল করুন

পাওয়ার ইনস্টল করুন
পাওয়ার ইনস্টল করুন
পাওয়ার ইনস্টল করুন
পাওয়ার ইনস্টল করুন

একটি 27/64 ইঞ্চি ড্রিল বিট ব্যবহার করে, ঘড়ির নীচের অংশে একটি গর্ত ড্রিল করুন এবং পাওয়ার প্লাগটি জায়গায় স্ক্রু করুন।

ধাপ 18: ইলেকট্রনিক্স একত্রিত করুন

ইলেকট্রনিক্স একত্রিত করুন
ইলেকট্রনিক্স একত্রিত করুন
ইলেকট্রনিক্স একত্রিত করুন
ইলেকট্রনিক্স একত্রিত করুন
ইলেকট্রনিক্স একত্রিত করুন
ইলেকট্রনিক্স একত্রিত করুন
ইলেকট্রনিক্স একত্রিত করুন
ইলেকট্রনিক্স একত্রিত করুন

ইলেকট্রনিক বোর্ডে স্টেপার ড্রাইভার এবং রিয়েল টাইম ঘড়ি সংযুক্ত করুন। আমি Arduino সুরক্ষিত করার একটি উপায় খুঁজে বের করতে প্রয়োজন তাই গর্ত ড্রিল করা হয়েছিল এবং একটি জিপ টাইয়ের জন্য একটি স্লট কাটা হয়েছিল। 22 তম ধাপে পাওয়া ফাইলে এই বৈশিষ্ট্যগুলি যুক্ত করা হয়েছে।

ধাপ 19: সোল্ডার এবং ইলেকট্রনিক্স সংযোগ করুন

সোল্ডার এবং কানেক্ট ইলেকট্রনিক্স
সোল্ডার এবং কানেক্ট ইলেকট্রনিক্স
সোল্ডার এবং কানেক্ট ইলেকট্রনিক্স
সোল্ডার এবং কানেক্ট ইলেকট্রনিক্স
সোল্ডার এবং কানেক্ট ইলেকট্রনিক্স
সোল্ডার এবং কানেক্ট ইলেকট্রনিক্স

ব্লক ডায়াগ্রাম অনুসরণ করে, সব উপাদান একসঙ্গে ঝালাই। গরম আঠালো জায়গায় রিংগুলি এবং গরম আঠালো দিয়ে যে কোনও বিচ্যুত তারগুলি সুরক্ষিত করুন।

ছবি
ছবি

ধাপ 20: পিছনের প্লেট

পিছনের প্লেট
পিছনের প্লেট
পিছনের প্লেট
পিছনের প্লেট
পিছনের প্লেট
পিছনের প্লেট

ঘড়ির মুখের চেয়ে ১/২ ইঞ্চি বড় একটি বৃত্ত এবং ঘড়ির পিছনের অংশের ভেতরের ব্যাসের সমান একটি আংটি কেটে পিছনের প্লেট তৈরি করুন। কিছু বসন্ত clamps সঙ্গে রিং এবং বৃত্ত একসঙ্গে আঠালো।

একবার শুকিয়ে গেলে, ভিতরের রিংয়ের চেয়ে 1/8 ইঞ্চি বড় একটি লাইন লিখুন এবং ব্যান্ড স বা ডিস্ক স্যান্ডার ব্যবহার করে আকারে ছাঁটা করুন।

রাউটার বা ড্রিল বিট ব্যবহার করে পিছনের শীর্ষে 1 ইঞ্চি লম্বা 1/4 ইঞ্চি একটি স্লট কাটুন। ঘড়ির ফ্রেমে পিছনে সুরক্ষিত করতে কাউন্টারসিংক চারটি গর্ত।

কালো স্প্রে পেইন্ট প্রয়োগ করুন এবং শুকিয়ে গেলে ঘড়ির সাথে সংযুক্ত করুন।

ধাপ 21: Arduino কোড

Arduino কোডটি যতটা সম্ভব মন্তব্য করা হয়েছে। মনে রাখবেন যে আমি একজন প্রোগ্রামার নই, আমার ন্যূনতম আরডুইনো অভিজ্ঞতা আছে (সদয় হোন)। বর্তমান সময়টি "রিসেট টাইম" এর সাথে মেলে কিনা তা দেখার জন্য কোডটি ক্রমাগত পরীক্ষা করে চলেছে। যেহেতু আমি বর্তমান সময়কে ধাপে অনুবাদ করার একটি উপায় ভাবতে পারিনি, এটি কেবল দৈনিক একবার নিজেকে সংশোধন করে (ডিফল্টভাবে মধ্যরাত)। মধ্যরাতে গিয়ারগুলি মধ্যরাতের অবস্থানে ঘোরে তারপর 00:01 পর্যন্ত সেই সময় পর্যন্ত যাওয়ার জন্য অপেক্ষা করুন তারপর সেখান থেকে চলতে থাকে। যেহেতু এটি বর্তমানে বসে আছে, ঘড়িটি 24 ঘন্টার মধ্যে মাত্র 5 সেকেন্ড হারায়।

আপনি Stepper এবং RTClib লাইব্রেরি ইনস্টল প্রয়োজন হবে।

আমি জানি কোডটি আমার চেয়ে বেশি অভিজ্ঞ ব্যক্তির দ্বারা অপ্টিমাইজ করা যায়। আপনি যদি চ্যালেঞ্জের সম্মুখীন হন, অনুগ্রহ করে আপনার জন্য এই প্রকল্পটি পুনরায় তৈরি করুন এবং আপনার জ্ঞান ভাগ করুন।

#অন্তর্ভুক্ত

#অন্তর্ভুক্ত "RTClib.h" RTC_DS1307 rtc; #সংজ্ঞায়িত করুন একটি ঘূর্ণন 2038 // 28BYJ-48 স্টেপার মোটরের এক বিপ্লবের ধাপের সংখ্যা Stepper hourHand (oneRotation, 3, 5, 4, 6); স্টেপার মিনিটহ্যান্ড (ওয়ান রোটেশন, 7, 9, 8, 10); #সংজ্ঞা ঘন্টা স্টপসেন্সর 12 #ডিফাইন মিনিট স্টপসেন্সর 11 ইন্ট এন্ডস্টেপ = 0; // ঘড়ির গতির জন্য সময় বিলম্বিত। int setDelay1 = 168; int setDelay2 = 166; int setDelay3 = 5; // গণিত করার বর্তমান সময়। ভাসমান ঘন্টা = 0; ভাসা mn = 0; float sc = 0; // ঘড়ির রিসেট করার জন্য দিনের সময় সেট করুন (24 ঘন্টা ফরম্যাট)। int resetHour = 0; int resetMinute = 0; // স্টার্টআপ এবং রিসেট এ সঠিক সময় সেট করার জন্য ভেরিয়েবল। float setTimeStepHour = 0; float setTimeStepMinute = 0; ভাসমান হাত বিলম্ব = 0; float hourTest = 0; float minuteTest = 0; অকার্যকর সেটআপ () {Serial.begin (115200); // রিয়েল টাইম ক্লক সেট করুন এবং হল ইফেক্ট সেন্সর রিসেট করুন। pinMode (hourStopSensor, INPUT_PULLUP); pinMode (minuteStopSensor, INPUT_PULLUP); rtc.begin (); // সময় নির্ধারণ করার জন্য নীচের অসম্পূর্ণ লাইন। // rtc.adjust (তারিখ সময় (2020, 2, 19, 23, 40, 30)); // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // স্টেপার মোটরগুলির শীর্ষ গতি সেট করুন। hourHand.setSpeed (15); minuteHand.setSpeed (15); // লুপ মিনিট এবং ঘন্টা হাত দুপুর পর্যন্ত যখন (digitalRead (hourStopSensor) == LOW || digitalRead (minuteStopSensor) == LOW) {if (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); } অন্যথায় {বিলম্ব (3); } if (digitalRead (minuteStopSensor) == LOW) {minuteHand.step (3); } অন্যথায় {বিলম্ব (4); }} while (digitalRead (hourStopSensor)! = LOW || digitalRead (minuteStopSensor)! = LOW) {যদি (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } অন্যথায় {বিলম্ব (3); } if (digitalRead (minuteStopSensor)! = LOW) {minuteHand.step (3); } অন্যথায় {বিলম্ব (4); }} // বর্তমান সময় তারিখ এখনই পান = rtc.now (); ঘন্টা = এখন। ঘন্টা (); mn = now.minute (); sc = now.second (); // 12 ঘন্টার বিন্যাসে পরিবর্তন করুন যদি (hr> = 12) {hr = hr - 12; } // দেখুন কোন হাতটি পুরো মুখ জুড়ে ভ্রমণ করতে হবে এবং সেই দূরত্বটি ব্যবহার করুন // সে অনুযায়ী সময় নির্ধারণ করতে। ঘন্টা পরীক্ষা = ঘন্টা / 12; মিনিটটেস্ট = mn / 60; যদি (hourTest> minuteTest) {handDelay = hourTest; } অন্যথায় {handDelay = minuteTest; } // সেট বর্তমান ঘন্টা setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // সেট বর্তমান মিনিট setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // পরীক্ষা করুন কোন হাতের আরো ধাপের প্রয়োজন হবে এবং এটি লুপের জন্য দীর্ঘতম ধাপের গণনায় সেট করুন। যদি (setTimeStepHour> setTimeStepMinute) {endStep = setTimeStepHour; } অন্য {endStep = setTimeStepMinute; } এর জন্য (int i = 0; i <= endStep; i ++) {if (i <setTimeStepHour) {hourHand.step (2); } অন্যথায় {বিলম্ব (3); } if (i <setTimeStepMinute) {minuteHand.step (3); } অন্যথায় {বিলম্ব (4); }} // RPM hourHand.setSpeed (1) চলমান ঘড়ি সেট করুন; minuteHand.setSpeed (1); } অকার্যকর লুপ () {// ঘড়ি চলমান লুপ শুরু করুন। জন্য (int i = 0; i <22; i ++) {minuteHand.step (1); বিলম্ব (setDelay1); // রিসেট টাইমের জন্য পরীক্ষা করুন, রিসেট করার জন্য প্রস্তুত হলে বিরতি দিন। if (rtc.now ()। hour () == resetHour && rtc.now ()। minute () == resetMinute) {বিরতি; }} বিলম্ব (setDelay3); জন্য (int i = 0; i <38; i ++) {hourHand.step (1); বিলম্ব (setDelay1); // রিসেট টাইমের জন্য পরীক্ষা করুন, রিসেট করার জন্য প্রস্তুত হলে বিরতি দিন। if (rtc.now ()। hour () == resetHour && rtc.now ()। minute () == resetMinute) {বিরতি; } জন্য (int i = 0; i <20; i ++) {minuteHand.step (1); বিলম্ব (setDelay2); // রিসেট টাইমের জন্য পরীক্ষা করুন, রিসেট করার জন্য প্রস্তুত হলে বিরতি দিন। if (rtc.now ()। hour () == resetHour && rtc.now ()। minute () == resetMinute) {বিরতি; }}} // রিসেট সময় ঘড়ি রিসেট করুন যদি (rtc.now ()। Hour () == resetHour && rtc.now ()। Minute () == resetMinute) {// ঘড়ির গতি পরিবর্তন করুন hourHand.setSpeed (10); minuteHand.setSpeed (10); // মিনিট এবং ঘন্টা হাত দুপুর পর্যন্ত পৌঁছানোর লুপ। while (digitalRead (hourStopSensor) == LOW || digitalRead (minuteStopSensor) == LOW) {যদি (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); } অন্যথায় {বিলম্ব (3); } if (digitalRead (minuteStopSensor) == LOW) {minuteHand.step (3); } অন্যথায় {বিলম্ব (4); }} while (digitalRead (hourStopSensor)! = LOW || digitalRead (minuteStopSensor)! = LOW) {যদি (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } অন্যথায় {বিলম্ব (3); } if (digitalRead (minuteStopSensor)! = LOW) {minuteHand.step (3); } অন্যথায় {বিলম্ব (4); }} // রিসেট করার সময় পার না হওয়া পর্যন্ত এখানে অপেক্ষা করুন। while (rtc.now ()। minute () == resetMinute) {বিলম্ব (1000); } // বর্তমান সময় তারিখ এখনই পান = rtc.now (); ঘন্টা = এখন। ঘন্টা (); mn = now.minute (); sc = now.second (); // 12 ঘন্টার বিন্যাসে পরিবর্তন করুন যদি (hr> = 12) {hr = hr - 12; } // দেখুন কোন হাতটি পুরো মুখ জুড়ে ভ্রমণ করতে হবে এবং সেই দূরত্বটি ব্যবহার করুন // সে অনুযায়ী সময় নির্ধারণ করতে। ঘন্টা পরীক্ষা = ঘন্টা / 12; মিনিটটেস্ট = mn / 60; যদি (hourTest> minuteTest) {handDelay = hourTest; } অন্যথায় {handDelay = minuteTest; } // সেট বর্তমান ঘন্টা setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // সেট বর্তমান মিনিট setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // পরীক্ষা করুন কোন হাতের আরো পদক্ষেপের প্রয়োজন হবে এবং এটি লুপের জন্য দীর্ঘতম ধাপের গণনায় সেট করুন। যদি (setTimeStepHour> setTimeStepMinute) {endStep = setTimeStepHour; } অন্যথায় {endStep = setTimeStepMinute; } এর জন্য (int i = 0; i <= endStep; i ++) {if (i <setTimeStepHour) {hourHand.step (2); } অন্যথায় {বিলম্ব (3); } if (i <setTimeStepMinute) {minuteHand.step (3); } অন্যথায় {বিলম্ব (4); }} hourHand.setSpeed (1); minuteHand.setSpeed (1); }}

ধাপ 22: STL ফাইল

আপনাকে নিম্নলিখিত পরিমাণ ফাইলগুলি মুদ্রণ করতে হবে:

  • 1 - ঘন্টা রিং গিয়ার সেগমেন্ট চুম্বক
  • 6 - ঘন্টা রিং গিয়ার সেগমেন্ট বেসিক
  • 1 - ঘন্টা ধরে রাখা রিং সেগমেন্ট স্টেপার মাউন্ট
  • 6 - ঘন্টা ধরে রাখার রিং সেগমেন্ট বেসিক
  • 1 - ঘন্টা হল প্রভাব সেন্সর ধারক
  • 1 - মিনিট রিং গিয়ার সেগমেন্ট চুম্বক
  • 7 - মিনিট রিং গিয়ার সেগমেন্ট বেসিক
  • 1 - মিনিট ধরে রাখা রিং সেগমেন্ট স্টেপার মাউন্ট
  • 6 - মিনিট ধরে রাখা রিং সেগমেন্ট বেসিক
  • 1 - মিনিট হল প্রভাব সেন্সর ধারক
  • 2 - স্পার গিয়ার
  • 1 - ইলেকট্রনিক্স মাউন্ট

ধাপ 23: সলিডওয়ার্কস ফাইল

পূর্ববর্তী ধাপে পাওয়া এসটিএল তৈরি করতে ব্যবহৃত এগুলি হল মূল সলিডওয়ার্ক ফাইল। আপনি উপযুক্ত মনে করলে আমার ফাইলগুলি সম্পাদনা এবং পরিবর্তন করতে বিনা দ্বিধায়।

ধাপ 24: উপসংহার

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

প্রস্তাবিত: