সুচিপত্র:

আলটিমেট বাইনারি ওয়াচ: 12 টি ধাপ (ছবি সহ)
আলটিমেট বাইনারি ওয়াচ: 12 টি ধাপ (ছবি সহ)

ভিডিও: আলটিমেট বাইনারি ওয়াচ: 12 টি ধাপ (ছবি সহ)

ভিডিও: আলটিমেট বাইনারি ওয়াচ: 12 টি ধাপ (ছবি সহ)
ভিডিও: PART 8 | PRIMARY INDEXING EXPLAINED WITH A NUMERICAL IN DBMS (BANGLA) 2024, ডিসেম্বর
Anonim
আলটিমেট বাইনারি ওয়াচ
আলটিমেট বাইনারি ওয়াচ
আলটিমেট বাইনারি ওয়াচ
আলটিমেট বাইনারি ওয়াচ
আলটিমেট বাইনারি ওয়াচ
আলটিমেট বাইনারি ওয়াচ

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

সরবরাহ

এই প্রকল্পের জন্য সমস্ত ফাইল:

আরডুইনো কোডের লাইব্রেরিগুলি এখানে গিটহাব থেকে ডাউনলোড করা যেতে পারে:

M41T62 RTC লাইব্রেরি

FastLED লাইব্রেরি

লো পাওয়ার লাইব্রেরি

ধাপ 1: আইডিয়া

আমি সম্প্রতি নিম্নলিখিত ভিডিও দেখে হোঁচট খেয়েছি:

DIY বাইনারি কব্জি ঘড়ি

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

প্রথম ধাপ ছিল আমার ডিজাইনের মানদণ্ড প্রতিষ্ঠা করা। এই আমি কি নিয়ে এসেছি:

  • বাইনারি আরজিবি ইন্টারফেস
  • সময় প্রদর্শন (খুব সঠিক টাইমকিপিং সহ)
  • তারিখ প্রদর্শন
  • স্টপওয়াচ কার্যকারিতা
  • অ্যালার্ম কার্যকারিতা
  • ব্যাটারির আয়ু কমপক্ষে 2 সপ্তাহ
  • ইউএসবি চার্জিং
  • ব্যবহারকারী সহজেই কাস্টমাইজযোগ্য সফ্টওয়্যার
  • একটি পরিষ্কার এবং সহজ নকশা

এই মানদণ্ড সমগ্র প্রকল্পের ভিত্তি হয়ে ওঠে। পরবর্তী ধাপটি ছিল কিভাবে আমি ঘড়িটি কাজ করতে চেয়েছিলাম!

ধাপ ২: কিছু বাইনারি-ওয়াচ থিওরি

কিছু বাইনারি-ওয়াচ থিওরি
কিছু বাইনারি-ওয়াচ থিওরি

পরিকল্পনা ছিল সহজ। বাইনারি ঘড়িটি নিয়মিত ঘড়ির মতো কাজ করবে, ব্যতীত ইন্টারফেসটি বাইনারি হবে, বিশেষত, BCD (বাইনারি কোডেড দশমিক)। BCD হল এক ধরনের বাইনারি এনকোডিং যেখানে প্রতিটি দশমিক সংখ্যা নির্দিষ্ট সংখ্যক বিট দ্বারা উপস্থাপিত হয়। 0-9 থেকে একটি সংখ্যা উপস্থাপন করতে আমার 4 টি বিট দরকার। এবং একটি মান জন্য

hh: মিমি

সময় বিন্যাস, আমার সেই সংখ্যাগুলির 4 টি দরকার। এর মানে হল যে আমার মোট 16 বিট প্রয়োজন যা 16 টি LEDs দ্বারা প্রতিনিধিত্ব করা হবে।

BCD তে সময় পড়াটা বেশ সহজ একবার আপনি অভ্যস্ত হয়ে গেলে। ঘড়ির নীচের সারিটি সর্বনিম্ন উল্লেখযোগ্য বিট (1) এবং উপরের সারিটি সবচেয়ে উল্লেখযোগ্য বিট (8)। প্রতিটি কলাম একটি অঙ্কের প্রতিনিধিত্ব করে

hh: মিমি

সময় ফর্ম্যাট. যদি একটি LED চালু থাকে, আপনি সেই মান গণনা করেন। যদি একটি LED বন্ধ থাকে, আপনি এটি উপেক্ষা করুন।

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

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

পরবর্তী ধাপ ছিল একটি ব্লক ডায়াগ্রাম তৈরি করা!

ধাপ 3: কর্মস্থলে যাওয়া

কাজে যাওয়া
কাজে যাওয়া

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

পরবর্তী ধাপটি ছিল ব্লক ডায়াগ্রামে প্রতিটি ব্লকের জন্য পৃথক উপাদানগুলির বিষয়ে সিদ্ধান্ত নেওয়া!

ধাপ 4: উপাদান নির্বাচন

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

LEDs

বাইনারি ইন্টারফেসের জন্য, পছন্দটি মোটামুটি সোজা ছিল। আমি জানতাম যে আমি ডিসপ্লের জন্য এলইডি ব্যবহার করতে চাই এবং বের করলাম যে যতটা সম্ভব তথ্য প্রদর্শনের জন্য আমার 16 টি (4 × 4 গ্রিডে) প্রয়োজন। নিখুঁত LED এর জন্য আমার গবেষণার সময়, APA102 আসছে। এটি একটি খুব ছোট (2 মিমি x 2 মিমি) একটি বিস্তৃত রঙের ঠিকানাযুক্ত এলইডি এবং মোটামুটি সস্তা। যদিও আমি আগে কখনও তাদের সাথে কাজ করিনি, তারা এই প্রকল্পের জন্য নিখুঁত বলে মনে হয়েছিল, তাই আমি তাদের ব্যবহার করার সিদ্ধান্ত নিয়েছি।

মাইক্রোকন্ট্রোলার

মাইক্রোকন্ট্রোলারের পছন্দও বেশ সহজ ছিল। আমি স্বতন্ত্র অ্যাপ্লিকেশনগুলিতে Atmega328P-AU ব্যবহার করে অনেক অভিজ্ঞতা পেয়েছি এবং এর বৈশিষ্ট্যগুলির সাথে খুব পরিচিত ছিলাম। এটি একই মাইক্রোকন্ট্রোলার যা আরডুইনো ন্যানো বোর্ডে ব্যবহৃত হয়। আমি সচেতন যে সম্ভবত একটি সস্তা মাইক্রোকন্ট্রোলার আছে যা আমি ব্যবহার করতে পারতাম কিন্তু জেনে যে Atmega328 এর সমস্ত Arduino লাইব্রেরির জন্য পূর্ণ সমর্থন থাকবে এই প্রকল্পের জন্য এটি নির্বাচন করার একটি বড় কারণ।

আরটিসি (রিয়েল-টাইম ক্লক)

আরটিসির প্রাথমিক প্রয়োজন ছিল নির্ভুলতা। আমি জানতাম যে ঘড়িটির কোন ইন্টারনেট সংযোগ থাকবে না এবং এইভাবে একটি ইন্টারনেট সংযোগের মাধ্যমে নিজেকে পুনরায় গণনা করতে সক্ষম হবে না, ব্যবহারকারীকে ম্যানুয়ালি এটি পুনরায় গণনা করতে হবে। অতএব, আমি সময়সীমা যতটা সম্ভব নির্ভুল করতে চেয়েছিলাম। M41T62 RTC- এর সর্বোচ্চ নির্ভুলতা যা আমি খুঁজে পেতে পারি (± 2ppm যা প্রতি মাসে ± 5 সেকেন্ডের সমতুল্য)। I2C সামঞ্জস্যের সাথে উচ্চ নির্ভুলতা এবং আল্টা কম বর্তমান ব্যবহার এই RTC কে এই প্রকল্পের জন্য একটি ভাল পছন্দ করেছে।

ডিসি-ডিসি বুস্ট কনভার্টার

ডিসি-ডিসি বুস্ট কনভার্টার আইসি নির্বাচন করা কেবল সার্কিট দেখে এবং কী ভোল্টেজ এবং স্রোতের প্রয়োজন তা খুঁজে বের করা হয়েছিল। কম ভোল্টেজে সার্কিট চালালে বর্তমান খরচ কমে যাবে কিন্তু আমি 4.5V এর নিচে যেতে পারিনি (16MHz ঘড়িতে ন্যূনতম মাইক্রোকন্ট্রোলার ভোল্টেজ) এবং আমি 4.5V (RTC এর সর্বোচ্চ ভোল্টেজ) এর উপরে যেতে পারিনি। এর মানে হল যে আমি তাদের প্রস্তাবিত স্পেসিফিকেশনের মধ্যে উপাদানগুলি পরিচালনা করার জন্য সঠিকভাবে 4.5V এ সার্কিটটি চালাতে হয়েছিল। আমি হিসাব করেছিলাম যে সার্কিটের সর্বাধিক বর্তমান 250mA অতিক্রম করবে না। সুতরাং, আমি একটি বুস্ট রূপান্তরকারী খুঁজতে শুরু করেছি যা প্রয়োজনীয়তা পূরণ করতে পারে এবং দ্রুত TPS61220 এ হোঁচট খায়। TPS61220 এর জন্য ন্যূনতম বাহ্যিক উপাদান প্রয়োজন, মোটামুটি সস্তা ছিল এবং বর্তমান এবং ভোল্টেজের প্রয়োজনীয়তা পূরণ করতে সক্ষম হয়েছিল।

ব্যাটারি টা

ব্যাটারির প্রাথমিক প্রয়োজন ছিল আকার। ব্যাটারিটি যথেষ্ট ছোট হওয়া দরকার যাতে এটি ঘড়ির ঘেরের ভিতরে ফিট করতে পারে এটিকে ভারী দেখায় না। আমি ভেবেছিলাম ব্যাটারি 20 মিমি × 35 মিমি × 10 মিমি অতিক্রম করতে পারে না। এই আকারের সীমাবদ্ধতা এবং 250mA এর বর্তমান প্রয়োজনের সাথে আমার ব্যাটারির পছন্দ লিপো ব্যাটারির মধ্যে সীমাবদ্ধ ছিল। আমি হবিকিং-এ একটি "টার্নিগি ন্যানো-টেক 300mAh 1S" ব্যাটারি পেয়েছি যা আমি ব্যবহার করার সিদ্ধান্ত নিয়েছি।

চার্জিং আইসি

চার্জ কন্ট্রোলারের জন্য কোন বিশেষ প্রয়োজনীয়তা ছিল না যে এটি 1S LiPo ব্যাটারির সাথে সামঞ্জস্যপূর্ণ হওয়া প্রয়োজন। আমি MCP73831T খুঁজে পেয়েছি যা একটি সম্পূর্ণ সমন্বিত চার্জ নিয়ামক যা একক-সেল চার্জিং অ্যাপ্লিকেশনের জন্য ডিজাইন করা হয়েছে। এর বৈশিষ্ট্যগুলির মধ্যে একটি হল বহিরাগত রোধের মাধ্যমে চার্জিং কারেন্ট সামঞ্জস্য করার ক্ষমতা যা আমি এই অ্যাপ্লিকেশনে বরং দরকারী বলে মনে করেছি।

LiPo সুরক্ষা

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

এখন যখন উপাদানগুলি বেছে নেওয়া হয়েছিল তখন এটি পরিকল্পিত তৈরি করার সময় ছিল!

ধাপ 5: পরিকল্পিত

পরিকল্পিত
পরিকল্পিত

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

পরবর্তী ধাপটি ছিল একটি পিসিবিতে পরিকল্পিতভাবে স্থাপন করা!

ধাপ 6: পিসিবি লেআউট

পিসিবি লেআউট
পিসিবি লেআউট
পিসিবি লেআউট
পিসিবি লেআউট
পিসিবি লেআউট
পিসিবি লেআউট
পিসিবি লেআউট
পিসিবি লেআউট

পিসিবি লেআউট এই প্রকল্পের সবচেয়ে চ্যালেঞ্জিং অংশ হিসাবে পরিণত হয়েছে। পিসিবি উত্পাদন খরচ সর্বনিম্ন রাখার জন্য আমি একটি 2-স্তরের PCB ব্যবহার করা বেছে নিয়েছি। আমি 36 মিমি স্ট্যান্ডার্ড ঘড়ির আকার ব্যবহার করতে পছন্দ করি কারণ এটি এলইডিগুলিকে বেশ ভালভাবে ফিট করে। আমি ঘড়ির ঘেরের পিসিবি সুরক্ষিত করার জন্য কিছু 1 মিমি স্ক্রু গর্ত যুক্ত করেছি। লক্ষ্য ছিল নীচের স্তরে সমস্ত উপাদান (অবশ্যই LEDs ব্যতীত) রেখে একটি পরিষ্কার এবং সুদর্শন নকশা বজায় রাখা। আমি উপরের স্তরে দৃশ্যমান ভায়াস এড়াতে পরম ন্যূনতম সংখ্যক ভায়াস ব্যবহার করতে চেয়েছিলাম। এর মানে হল যে সার্কিটের "গোলমাল" অংশগুলিকে সংবেদনশীল সংকেত চিহ্ন থেকে দূরে রাখতে নিশ্চিত করার সময় আমাকে সমস্ত স্তরকে একক স্তরে রুট করতে হয়েছিল। আমি যতটা সম্ভব সংক্ষিপ্ত সব ট্রেস রাখা নিশ্চিত করেছি, বাইপাস ক্যাপাসিটারগুলিকে লোডের কাছাকাছি রেখে, উচ্চ শক্তির উপাদানগুলির জন্য মোটা ট্রেস ব্যবহার করে এবং অন্যথায় পিসিবি ডিজাইনের সাধারণ ভাল অভ্যাসগুলি অনুসরণ করি। রাউটিংয়ে বেশ কিছুটা সময় লেগেছিল, তবে আমি মনে করি এটি খুব ভালভাবে পরিণত হয়েছে।

পরবর্তী ধাপ ছিল ঘড়ির ঘেরের জন্য একটি 3D মডেল তৈরি করা!

ধাপ 7: 3D ডিজাইন

3D ডিজাইন
3D ডিজাইন
3D ডিজাইন
3D ডিজাইন
3D ডিজাইন
3D ডিজাইন

ঘড়ির ঘেরটি খুব প্রচলিত, ক্লাসিক, ঘড়ির নকশা ফিউশন using০ ব্যবহার করে ডিজাইন করা হয়েছিল। আমি ঘড়ির স্ট্র্যাপের জন্য একটি স্ট্যান্ডার্ড 18 মিমি স্পেসিং ব্যবহার করেছি যাতে ঘড়িটি অন্যান্য স্ট্র্যাপের সাথে সামঞ্জস্যপূর্ণ হয়। পিসিবি-র জন্য কাট-আউট ডিজাইন করা হয়েছিল 0, 4 মিমি পিসিবি-র চেয়েও বড় যে কোনও উত্পাদন ত্রুটিগুলির জন্য উপযুক্ত। আমি পিসিবি মাউন্ট করার জন্য কিছু স্ক্রু পোস্ট এবং পিসিবি লাগানোর জন্য একটি ছোট প্রান্ত অন্তর্ভুক্ত করেছি। এলইডি -র ধারালো প্রান্ত যাতে পোশাকের উপর আটকে না যায় সেজন্য আমি পিসিবিকে উপরে থেকে একটি ফিম মিলিমিটার রিসেস করা নিশ্চিত করেছি। ঘেরের উচ্চতা শুধুমাত্র ব্যাটারির বেধ দ্বারা নির্ধারিত হয়েছিল। বাকী ঘেরটি কেবল গোলাকার প্রান্ত এবং পালিশ করা কোণগুলির সাথে ভাল দেখতে ডিজাইন করা হয়েছিল। আমাকে নকশাটি 3D- প্রিন্ট বন্ধুত্বপূর্ণ রাখতে হয়েছিল যাতে আমি কোন সমর্থন উপাদান ছাড়াই বাড়িতে এটি 3D- মুদ্রণ করতে পারি।

এখন হার্ডওয়্যারটি শেষ হয়ে গেলে সফ্টওয়্যারটিতে কাজ শুরু করার সময় এসেছে!

ধাপ 8: কোড

কোড
কোড

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

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

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

  • শীর্ষ বোতাম প্রেস: "ডিসপ্লে টাইম", "ডিসপ্লে ডেট", "স্টপওয়াচ" এবং "অ্যালার্ম" মোডের মধ্যে ওয়েক আপ / সাইকেল।
  • শীর্ষ বোতাম হোল্ড: "সেট সময়", "তারিখ সেট করুন", "স্টপওয়াচ শুরু করুন" বা "অ্যালার্ম সেট করুন" মোড লিখুন।
  • নীচের বোতাম টিপুন: উজ্জ্বলতা বাড়ান।
  • নীচের বোতামটি ধরে রাখুন: "রঙ নির্বাচন করুন" মোড লিখুন।

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

এখন কোডটি শেষ হয়ে গেলে এটি মাইক্রোকন্ট্রোলারে আপলোড করার সময় ছিল!

ধাপ 9: প্রোগ্রামিং

প্রোগ্রামিং
প্রোগ্রামিং

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

একটি ATmega328P-AU SMD এ বুটলোডার বার্ন করুন

কিভাবে একটি বুটলোডার বার্ন করতে হয় এবং প্রোগ্রামার হিসেবে নিয়মিত Arduino Uno ব্যবহার করে মাইক্রোকন্ট্রোলার প্রোগ্রাম করে।

প্রথম ধাপটি ছিল "ArduinoISP" উদাহরণ কোড আপলোড করে Arduino Uno কে ISP এ পরিণত করা। আমি একটি প্রোগ্রামিং সকেটের সাথে একটি ব্রেডবোর্ড ব্যবহার করেছি এবং টিউটোরিয়াল থেকে স্কিম্যাটিক আপ করেছি। এর পরে, আমি আরডুইনো আইডিইতে "বার্ন বুটলোডার" টিপে মাইক্রোকন্ট্রোলারে বুটলোডার বার্ন করতে সক্ষম হয়েছিলাম।

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

পরবর্তী ধাপ ছিল সব উপাদান একত্রিত করা এবং সেগুলো একসঙ্গে বিক্রি করা!

ধাপ 10: সোল্ডারিং

সোল্ডারিং
সোল্ডারিং
সোল্ডারিং
সোল্ডারিং
সোল্ডারিং
সোল্ডারিং
সোল্ডারিং
সোল্ডারিং

সোল্ডারিং প্রক্রিয়াটি দুটি ভাগে বিভক্ত ছিল। প্রথমে নীচের স্তরটি সোল্ডার করা দরকার, এবং তারপরে উপরের স্তরটি।

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

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

এখন চূড়ান্ত সমাবেশের সময়!

ধাপ 11: সমাবেশ

সমাবেশ
সমাবেশ

সমাবেশ খুব সহজ ছিল। আমি ব্যাটারিকে PCB এর সাথে সংযুক্ত করেছি এবং ব্যাটারি এবং PCB কে 3D মুদ্রিত ঘেরের ভিতরে রেখেছি। আমি পিসিবির প্রতিটি কোণে মাউন্ট করা গর্তের চারটি স্ক্রুতে স্ক্রু করতে এগিয়ে গেলাম। তারপরে, আমি 18 মিমি স্প্রিং বার ব্যবহার করে ঘড়ির স্ট্র্যাপ সংযুক্ত করেছি এবং ঘড়িটি সম্পূর্ণ ছিল!

ধাপ 12: উপসংহার এবং উন্নতি

উপসংহার এবং উন্নতি
উপসংহার এবং উন্নতি
উপসংহার এবং উন্নতি
উপসংহার এবং উন্নতি

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

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

যদি এই প্রকল্প সম্পর্কে আপনার কোন চিন্তা, মন্তব্য বা প্রশ্ন থাকে, তাহলে দয়া করে তাদের নীচে ছেড়ে দিন। আপনি তাদের [email protected] এও পাঠাতে পারেন।

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

ঘড়ি প্রতিযোগিতায় প্রথম পুরস্কার

প্রস্তাবিত: