সুচিপত্র:

মেকানিক্যাল সেভেন সেগমেন্ট ডিসপ্লে ক্লক: Ste টি ধাপ (ছবি সহ)
মেকানিক্যাল সেভেন সেগমেন্ট ডিসপ্লে ক্লক: Ste টি ধাপ (ছবি সহ)

ভিডিও: মেকানিক্যাল সেভেন সেগমেন্ট ডিসপ্লে ক্লক: Ste টি ধাপ (ছবি সহ)

ভিডিও: মেকানিক্যাল সেভেন সেগমেন্ট ডিসপ্লে ক্লক: Ste টি ধাপ (ছবি সহ)
ভিডিও: mechanical seven segment display clock 2024, নভেম্বর
Anonim
মেকানিক্যাল সেভেন সেগমেন্ট ডিসপ্লে ক্লক
মেকানিক্যাল সেভেন সেগমেন্ট ডিসপ্লে ক্লক
মেকানিক্যাল সেভেন সেগমেন্ট ডিসপ্লে ক্লক
মেকানিক্যাল সেভেন সেগমেন্ট ডিসপ্লে ক্লক

কয়েক মাস আগে আমি একটি দুই অঙ্কের যান্ত্রিক 7 সেগমেন্ট ডিসপ্লে তৈরি করেছি যা আমি কাউন্টডাউন টাইমারে পরিণত হয়েছিলাম। এটি বেশ ভালভাবে বেরিয়ে এসেছিল এবং বেশ কয়েকটি লোক ঘড়ির জন্য ডিসপ্লেতে দ্বিগুণ হওয়ার পরামর্শ দিয়েছিল। সমস্যাটি ছিল যে আমি ইতিমধ্যে আমার Arduino মেগাতে PWM IO এর বাইরে চলে যাচ্ছিলাম এবং দ্বিতীয় বা তৃতীয় সংখ্যাগুলির জন্য পর্যাপ্ত উপলব্ধ ছিল না। আমাকে তখন এই PCA9685 16 চ্যানেল PWM ড্রাইভারগুলির দিকে নির্দেশ করা হয়েছিল যা একটি I2C ইন্টারফেসের উপর কাজ করে। এটি একটি Arduino এ দুটি I2C পিন ব্যবহার করে আমার প্রয়োজনীয় 28 টি সার্ভিস চালানো সম্ভব করেছে। তাই আমি একটি ঘড়ি তৈরিতে কাজ করেছি যা এখন একটি DS1302 রিয়েল টাইম ক্লক মডিউল ব্যবহার করে সময় এবং দুটি 16 চ্যানেল সার্ভো ড্রাইভার ব্যবহার করে ডিসপ্লে তৈরিতে ব্যবহৃত 28 টি সার্ভস নিয়ন্ত্রণ করে, যা একটি Arduino Uno দ্বারা চালিত।

আপনি যদি এই নির্দেশযোগ্য উপভোগ করেন, দয়া করে ঘড়ি প্রতিযোগিতায় এটির জন্য ভোট দেওয়ার কথা বিবেচনা করুন

সরবরাহ:

আপনার ঘড়ি তৈরি করতে, কিছু মৌলিক সরঞ্জাম ছাড়াও আপনার নিম্নলিখিত সরবরাহগুলি প্রয়োজন হবে:

  • Arduino Uno - এখানে কিনুন
  • DS1302 ক্লক মডিউল - এখানে কিনুন
  • 2 x PCA9685 16Ch Servo ড্রাইভার - এখানে কিনুন
  • 28 x Micro Servos - এখানে কিনুন
  • ফিতা কেবল - এখানে কিনুন
  • পুরুষ পিন হেডার স্ট্রিপস - এখানে কিনুন
  • মহিলা পিন হেডার স্ট্রিপস - এখানে কিনুন
  • 3mm MDF - এখানে কিনুন
  • ব্ল্যাক স্প্রে পেইন্ট - এখানে কিনুন
  • 5V 5A ব্যাটারি এলিমিনেশন সার্কিট - এখানে কিনুন
  • 12V পাওয়ার সাপ্লাই - এখানে কিনুন

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

  • 3D প্রিন্টার ব্যবহৃত - এখানে কিনুন
  • ফিলামেন্ট - এখানে কিনুন

ধাপ 1: প্লাস্টিকের উপাদানগুলি 3D প্রিন্ট করুন

প্লাস্টিকের উপাদানগুলি 3D প্রিন্ট করুন
প্লাস্টিকের উপাদানগুলি 3D প্রিন্ট করুন
প্লাস্টিকের উপাদানগুলি 3D প্রিন্ট করুন
প্লাস্টিকের উপাদানগুলি 3D প্রিন্ট করুন
প্লাস্টিকের উপাদানগুলি 3D প্রিন্ট করুন
প্লাস্টিকের উপাদানগুলি 3D প্রিন্ট করুন

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

3D প্রিন্ট ফাইল ডাউনলোড করুন - মেকানিক্যাল 7 সেগমেন্ট ডিসপ্লে ক্লক 3D প্রিন্ট ফাইল

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

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

ধাপ 2: আপনার কন্ট্রোল বোর্ড এবং ওয়্যারিং প্রস্তুত করুন

আপনার কন্ট্রোল বোর্ড এবং ওয়্যারিং প্রস্তুত করুন
আপনার কন্ট্রোল বোর্ড এবং ওয়্যারিং প্রস্তুত করুন
আপনার কন্ট্রোল বোর্ড এবং ওয়্যারিং প্রস্তুত করুন
আপনার কন্ট্রোল বোর্ড এবং ওয়্যারিং প্রস্তুত করুন
আপনার কন্ট্রোল বোর্ড এবং ওয়্যারিং প্রস্তুত করুন
আপনার কন্ট্রোল বোর্ড এবং ওয়্যারিং প্রস্তুত করুন
আপনার কন্ট্রোল বোর্ড এবং ওয়্যারিং প্রস্তুত করুন
আপনার কন্ট্রোল বোর্ড এবং ওয়্যারিং প্রস্তুত করুন

আপনার 28 ঘড়ি সার্ভিস চালানোর জন্য আপনাকে দুটি PCA9685 16 চ্যানেল PWM ড্রাইভার ব্যবহার করতে হবে। আমি সার্ভিসগুলিকে ঘন্টা এবং মিনিটের অঙ্কে বিভক্ত করেছি, প্রতিটি জোড়া সংখ্যার সাথে একটি বোর্ড দ্বারা চালিত হচ্ছে। তাই আমার একটি বোর্ড দুই ঘন্টার সংখ্যার জন্য সার্ভোস নিয়ন্ত্রণ করছে এবং দ্বিতীয়টি দুই মিনিটের সংখ্যার জন্য সার্ভোস নিয়ন্ত্রণ করছে।

দুটিকে একসঙ্গে চেইন করার জন্য, আপনাকে একটি 6 তারের ফিতা কেবল সংযোগকারী তৈরি করতে হবে এবং প্রথম সার্ভো কন্ট্রোল বোর্ডের অন্য প্রান্তে একটি দ্বিতীয় হেডার স্ট্রিপ সোল্ডার করতে হবে। আপনাকে দ্বিতীয় বোর্ডে I2C ঠিকানা পরিবর্তন করতে হবে যাতে এটি প্রথম এবং স্বতন্ত্রভাবে সনাক্তযোগ্য হয়।

আপনার আরডুইনোতে তিনটি বোর্ড (দুটি সার্ভো বোর্ড এবং ঘড়ি মডিউল) সংযুক্ত করার জন্য আপনাকে তারের জোতা তৈরি করতে হবে। আপনার প্রতিটি বোর্ডে 5V এবং GND এর পাশাপাশি আপনার Arduino পিন A4 এবং A5 (Arduino Uno তে I2C), এবং ঘড়ির মডিউল পিন CLK, DAT এবং RST থেকে পিন 6, 7 এবং 8 পর্যন্ত আপনার Arduino এ I2C সংযোগের প্রয়োজন হবে। যথাক্রমে

12V পাওয়ার সাপ্লাই থেকে সরাসরি Arduino তে এবং 5V 5A BEC ব্যবহার করে সার্ভিসে বিদ্যুৎ সরবরাহ করা হয় যা PWM ড্রাইভারের উপরের দুটি টার্মিনালের সাথে সংযুক্ত থাকে। আপনার কেবলমাত্র একটি সার্ভো ড্রাইভারকে বিদ্যুতের সাথে সংযুক্ত করতে হবে এবং এটি 6 টি তারের ফিতা কেবল সংযোগের মাধ্যমে দ্বিতীয়টিকে শক্তি সরবরাহ করবে।

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

Servos একত্রিত করুন
Servos একত্রিত করুন
Servos একত্রিত করুন
Servos একত্রিত করুন
Servos একত্রিত করুন
Servos একত্রিত করুন

একবার আপনি আপনার বিভাগগুলি মুদ্রণ করার পরে আপনাকে পিছনে এবং পাশগুলি কালো স্প্রে করতে হবে যাতে তারা 90 ডিগ্রি বন্ধ অবস্থানে পরিণত হলে তারা কম দৃশ্যমান হয়।

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

আপনাকে প্রতিটি সার্ভোর নীচে একটি স্পেসার ব্লক আঠালো করতে হবে।

বিন্দুগুলির পিছনে এবং তারপর বেস ব্লকগুলিতে একটি ছোট ডোয়েল বা কাবাব স্টিক আঠালো করে বিন্দুগুলি একত্রিত করুন। আমি এই লাঠিগুলিকেও কালো স্প্রে করেছি যাতে কোন কোণ থেকে দেখলে সেগুলি কম দেখা যায়।

ধাপ 4: সেট আপ এবং পরীক্ষা

সেট আপ এবং পরীক্ষা
সেট আপ এবং পরীক্ষা
সেট আপ এবং পরীক্ষা
সেট আপ এবং পরীক্ষা

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

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

ধাপ 5: কোড আপলোড করা

কোড আপলোড করা হচ্ছে
কোড আপলোড করা হচ্ছে
কোড আপলোড করা হচ্ছে
কোড আপলোড করা হচ্ছে
কোড আপলোড করা হচ্ছে
কোড আপলোড করা হচ্ছে

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

এখানে কোডের সংক্ষিপ্ত বিবরণ, আরও বিস্তারিত ব্যাখ্যার জন্য সম্পূর্ণ গাইড এবং কোডটি ডাউনলোড করার জন্য একটি লিঙ্ক দেখুন - মেকানিক্যাল 7 সেগমেন্ট ডিসপ্লে ক্লক

আমরা ঘড়ি মডিউলের জন্য virtuabotixRTC.h এবং servo চালকদের জন্য Adafruit_PWMServoDriver.h নামে দুটি লাইব্রেরি আমদানি করে শুরু করি। আইডিইতে লাইব্রেরি ম্যানেজারের মাধ্যমে অ্যাডাফ্রুট লাইব্রেরি সরাসরি ডাউনলোড এবং ইনস্টল করা যায়।

তারপর আমরা প্রতিটি কন্ট্রোল বোর্ডের জন্য প্রাসঙ্গিক ঠিকানার জন্য একটি বস্তু তৈরি করি, একটি ঘণ্টার অঙ্কের জন্য এবং এক মিনিটের সংখ্যার জন্য।

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

একটি ডিজিট অ্যারে প্রতিটি অঙ্কের প্রদর্শনের জন্য প্রতিটি সেগমেন্টের অবস্থান সংরক্ষণ করে।

আমরা তারপর ঘড়ি মডিউল সেট আপ এবং বর্তমান এবং অতীতের পৃথক সংখ্যা সংরক্ষণ করার জন্য ভেরিয়েবল তৈরি।

সেটআপ ফাংশনে আমরা PWM কন্ট্রোল বোর্ডগুলি শুরু করি এবং সেট আপ করি এবং প্রয়োজনে ঘড়ির সময় আপডেট করি। তারপর আমরা 8 8: 8 8 তে ডিসপ্লে সেট করার জন্য একটি লুপ দিয়ে চালাই যাতে আমরা সমস্ত সার্ভসের শুরুর অবস্থান জানতে পারি। এটি সার্ভসগুলি সেট আপ করতেও ব্যবহৃত হয় যাতে তারা সকলেই উপরের দিকে সঠিকভাবে মুখোমুখি হয়।

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

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

ধাপ 6: পিছনের বোর্ডে ঘড়ি একত্রিত করা

পিছনের বোর্ডে ঘড়ি একত্রিত করা
পিছনের বোর্ডে ঘড়ি একত্রিত করা
পিছনের বোর্ডে ঘড়ি একত্রিত করা
পিছনের বোর্ডে ঘড়ি একত্রিত করা
পিছনের বোর্ডে ঘড়ি একত্রিত করা
পিছনের বোর্ডে ঘড়ি একত্রিত করা

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

সাদা এলাকা হল সামগ্রিক বোর্ড আকার, হালকা ধূসর হল প্রতিটি অঙ্কের চারপাশের এলাকা যেখানে সার্ভো অংশগুলি স্থানান্তরিত হয় এবং গা gray় ধূসর এলাকার রূপরেখা প্রতিটি সংখ্যার জন্য বাইরের 6 টি অংশের কেন্দ্র রেখা।

আমি বোর্ডটি কেটেছি, লেআউটটি চিহ্নিত করেছি এবং তারপরে ঘড়ির মুখ তৈরি করার জন্য সংখ্যাগুলিকে আঠালো করেছি।

আমি তারপর প্রতিটি servo কাছাকাছি গর্ত ড্রিল এবং বোর্ডের পিছনে তারের খাওয়ানো যাতে তারা কম দৃশ্যমান হয়।

আমি ডবল পার্শ্বযুক্ত টেপ দিয়ে ইলেকট্রনিক্সকে ঘড়ির পিছনে লাগিয়েছি।

ধাপ 7: চূড়ান্ত সেটআপ এবং অপারেশন

চূড়ান্ত সেটআপ এবং অপারেশন
চূড়ান্ত সেটআপ এবং অপারেশন
চূড়ান্ত সেটআপ এবং অপারেশন
চূড়ান্ত সেটআপ এবং অপারেশন
চূড়ান্ত সেটআপ এবং অপারেশন
চূড়ান্ত সেটআপ এবং অপারেশন
চূড়ান্ত সেটআপ এবং অপারেশন
চূড়ান্ত সেটআপ এবং অপারেশন

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

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

ঘড়িটি 12V পাওয়ার সাপ্লাই এবং এর সাথে সংযুক্ত 5V BEC ব্যবহার করে চালিত হতে পারে। যদি বিদ্যুৎ চলে যায়, আরটিসি মডিউলের ব্যাটারি সময় ধরে রাখবে যাতে যখন বিদ্যুৎ পুনরুদ্ধার করা হয়, ঘড়িটি স্বয়ংক্রিয়ভাবে সঠিক সময়ে পুনরায় সেট হয়।

আপনি যদি এই নির্দেশযোগ্য উপভোগ করেন, দয়া করে ঘড়ি প্রতিযোগিতায় এটির জন্য ভোট দিন এবং নীচের মন্তব্য বিভাগে আপনি যে কোন উন্নতি বা পরামর্শ নিয়ে আসতে পারেন তা আমাকে জানান।

ঘড়ি প্রতিযোগিতা
ঘড়ি প্রতিযোগিতা
ঘড়ি প্রতিযোগিতা
ঘড়ি প্রতিযোগিতা

ঘড়ি প্রতিযোগিতায় দ্বিতীয় পুরস্কার

প্রস্তাবিত: