সুচিপত্র:
- ধাপ 1: কিন্তু.. কিভাবে?
- ধাপ 2: ক্যামেরা ট্রিগার করতে শেখা
- ধাপ 3: ট্রিগার করার উপায়
- ধাপ 4: ট্রিগারিং এর জন্য কোড লেখা
- ধাপ 5: ক্লাস ব্যবধান {};
- ধাপ 6: Arduino এর মাধ্যমে ব্যবধান ম্যানিপুলেটিং
- ধাপ 7: ব্যবধান প্রদর্শন
- ধাপ 8: সব একসাথে রাখা
- ধাপ 9: একটি শেষ জিনিস যোগ করা
- ধাপ 10: মেস ধারণ করা
- ধাপ 11: Sens0rs
- ধাপ 12: PoweeEeEer
- ধাপ 13: ঘের.. একটু
- ধাপ 14: ফিন
ভিডিও: Pimp My Cam: 14 ধাপ (ছবি সহ)
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:03
এই প্রকল্পটি কোথা থেকে আসছে।
কিছুক্ষণ আগে আমি কিছু টাইমলেপস ফিল্ম করার কথা ভেবেছিলাম। "কিভাবে?" নিজেকে প্রশ্ন করলাম? প্রথম উত্তর ছিল "আচ্ছা.. আপনি শুধু কিছু ফিল্ম করুন এবং এটিকে গতি দিন এবং এটিই"। কিন্তু এটা কি সত্যিই এত সহজ? প্রথমত, আমি এর জন্য আমার DSLR ব্যবহার করতে চাই, এবং আমার Nikon D3100 এর ভিডিও চিত্রগ্রহণের জন্য 10 মিনিট সময়সীমা আছে। দ্বিতীয়ত, আমার যদি ভিডিও চিত্রায়নের সময়সীমা ছাড়াই একটি ক্যামেরা থাকে, আমি যদি 12 ঘণ্টার মতো একটি দীর্ঘ দীর্ঘ সময়সীমা তৈরি করতে চাই? আমি 12 ঘন্টা দীর্ঘ 1080p ভিডিও তৈরি করি। আমি সন্দেহ করি যে ব্যাটারিটি এত দীর্ঘস্থায়ী হবে এবং এটি খুব ব্যবহারিক নয়, তাই না? ঠিক আছে, "ভিডিও ধারণার চিত্রায়ন" অতিক্রম করছি। আচ্ছা, তারপর ছবি আছে। একটি নির্দিষ্ট সময়ের ব্যবধানে ক্যামেরায় ছবি তোলা এবং শত শত ছবি দিয়ে শেষ করা যা আমি সফটওয়্যারের মাধ্যমে প্রক্রিয়া করার চেয়ে ভিডিও তৈরি করি..?
একটি ঠিক ধারণা মত মনে হয়েছে তাই আমি এটি একটি শট দিতে সিদ্ধান্ত নিয়েছে। সুতরাং আমি এমন একটি ডিভাইস তৈরি করতে চাই যার মধ্যে আমি একটি সময়কাল ইনপুট করতে পারি এবং সেই সময়ের উপর ভিত্তি করে এটি আমার ক্যামেরাটিকে ক্রমাগত ট্রিগার করবে। এবং যখন আমরা এটিতে থাকি, কেন মোশন-ট্রিগার ইত্যাদির মতো আরও কিছু জিনিস যুক্ত করবেন না?
ধাপ 1: কিন্তু.. কিভাবে?
কিভাবে? আমাদের পরবর্তী প্রশ্ন যা একটি উত্তর অনুপস্থিত। টাইমিং, ট্রিগারিং, সেন্সর এবং এরকম জিনিসগুলির কারণে এটি অবাক হওয়ার কিছু নেই যে প্রথম যেটি মনে এসেছে তা অবশ্যই একটি আরডুইনো ছিল। ঠিক আছে, কিন্তু তবুও, আমাদের ক্যামেরায় শাটারটি কীভাবে ট্রিগার করতে হয় তা শিখতে হবে। হুম.. শরীরের গরম ক্যামেরার সাথে আঠালো গরম? একেবারে না, আমরা চাই এটি নীরব এবং শক্তি দক্ষ হোক। শক্তি দক্ষ - কেন? যেহেতু আমি এটিকে বহনযোগ্য করতে চাই এবং এতে একটি ব্যাটারি আটকে রাখতে চাই, তাই আমি প্রতিবার পাওয়ার প্লাগের কাছে থাকব না। তাহলে আমরা কিভাবে এটা ট্রিগার করব.. এটা আসলে বেশ সহজ।
নিকন আগে থেকেই জানতেন যে আপনি একটি রিমোট এবং অন্যান্য আনুষাঙ্গিক চাইছেন এবং তারা বলেছিল "ঠিক আছে, আমরা সেগুলি সবই দেব, কিন্তু আমরা একটি বিশেষ পোর্ট তৈরি করব যাতে আমরা সেই জিনিসপত্রগুলিতে আরও অর্থ উপার্জন করতে পারি", আপনার জন্য লজ্জা । সেই পোর্টটিকে (আমার ক্ষেত্রে) MC-DC2 বলা হয়, এবং আমাদের হাতে এটি পাওয়ার সবচেয়ে সস্তা উপায় হল ইবেতে রিমোট শাটার রিলিজ 2-3 ডলারে কিনে কেবল কেবল ব্যবহার করা।
*ক্যাননের মতো কিছু অন্যান্য ক্যামেরায় একই ব্যবহারের জন্য 3.5 মিমি হেডফোন জ্যাক তৈরি করা হয়েছে যাতে আপনি পুরানো স্পিকার/হেডফোন থেকে কিছু কেবল ব্যবহার করতে পারেন।
ধাপ 2: ক্যামেরা ট্রিগার করতে শেখা
যাইহোক, এখানে চুক্তি হল, পোর্টটিতে 3 টি সংযোগ থাকবে যা আমাদের আগ্রহের (গ্রাউন্ড, ফোকাস এবং শাটার) হবে এবং আপনি আপনার কেনা সদ্য কেনা রিমোট শাটারটির তারের শেষে থাকবে যা আপনি সবেমাত্র ধ্বংস করেছেন। এই তিনটি সংযোগ আমাদের জন্য গুরুত্বপূর্ণ কারণ যদি আমরা গ্রাউন্ড এবং ফোকাস করি তাহলে ক্যামেরা ফোকাস করবে ঠিক যেমন আপনি ফোকাস বোতাম টিপছেন এবং তারপর, যখন সংযোগটি থাকবে, আপনি গ্রাউন্ড এবং শাটারকে ছোট করতে পারবেন এবং ক্যামেরা একটি ছবি তুলবে ঠিক যেন আপনি ক্যামেরার শাটার বোতাম টিপেছেন।
কোন তারের কোনটি তা শনাক্ত করার জন্য আপনি তারের শেষে লাইভ তারের আক্ষরিক সংক্ষিপ্ত করে এটি পরীক্ষা করতে পারেন। একবার আপনি এটি করার পরে, সহজে সনাক্তকরণের স্বার্থে, আমরা তাদের এইরকম রঙ করব:
স্থল = কালো; ফোকাস = সাদা; শাটার = লাল।
ঠিক আছে, এখন আমাদের আরডুইনোকে আমাদের জন্য এটি শেখানো দরকার।
ধাপ 3: ট্রিগার করার উপায়
আরডুইনোকে বাইরের জগতে পাঠানোর জন্য আমরা যে সহজ জিনিসটি বলতে পারি তা হ'ল এটি ডিজিটাল আউটপুট সিগন্যাল। এই সংকেত হয় উচ্চ (লজিক্যাল '1') অথবা কম (লজিক্যাল '0') হতে পারে, অতএব "ডিজিটাল" নাম, অথবা যখন এটির মূল অর্থ রূপান্তরিত হয়: একটি লজিক্যাল হাই এর জন্য 5V এবং একটি লজিক্যাল LOW এর জন্য 0V।
এই ডিজিটাল সিগন্যালগুলো নিয়ে আমাদের করণীয় কি? আমরা কেবল তাদের ক্যামেরার সাথে সংযুক্ত করতে পারি না এবং ক্যামেরাটি আমরা কী চাই তা আশা করি। যেমনটি আমরা দেখেছি, এটির প্রতিক্রিয়া জানার জন্য আমাদের ক্যামেরার সংযোগগুলি সংক্ষিপ্ত করতে হবে, তাই আমাদের Arduino এর ডিজিটাল সংকেত ব্যবহার করতে হবে কিছু উপাদান যা তাদের টার্মিনালগুলিকে ছোট করতে পারে এই বৈদ্যুতিক সংকেতের উপর নির্ভর করে আমরা এটি পাঠাই । *আমি যেভাবে এটি বর্ণনা করেছি, আপনি হয়তো ভাবছেন "আহ, রিলে!" কিন্তু না না। রিলে কাজটি করবে কিন্তু আমরা এমন ছোট ছোট স্রোতের সাথে কাজ করছি যাতে আমরা সহজেই অর্ধপরিবাহীর কালো জাদু ব্যবহার করতে পারি।
প্রথম উপাদান যা আমি চেষ্টা করব তা হল একটি অপটোকপলার। আমি তাদের এই জন্য সবচেয়ে বেশি প্রয়োগ করতে দেখেছি এবং এটি সম্ভবত সেরা সমাধান। Optocoupler একটি বৈদ্যুতিক উপাদান যার সাহায্যে আপনি আউটপুট সার্কিট নিয়ন্ত্রণ করেন যখন ইনপুট সার্কিট এটি থেকে সম্পূর্ণ বিচ্ছিন্ন। এটি আলো দ্বারা তথ্য প্রেরণ করে অর্জন করা হয়, ইনপুট সার্কিট একটি LED জ্বালায় এবং আউটপুটে ফোটোট্রান্সিস্টর সেই অনুযায়ী সুইচ করে।
তাই আমরা এই ভাবে অপটোকপলার ব্যবহার করব: আমরা আমাদের Arduino কে বলি যদি ডিজিটাল পিন থাকে তাহলে ডিজিটাল হাই পাঠান, সেই সিগন্যালটি কার্যত 5V যা অপটোকপ্লারের ভিতরে LED চালাবে এবং এর ভিতরে ফোটোট্রান্সিস্টর "ছোট" হবে এটি আউটপুট টার্মিনাল যখন এটি আলো সনাক্ত করে, এবং বিপরীতভাবে, এটি তার টার্মিনালগুলিকে "বিচ্ছিন্ন" করবে কারণ যখন আমরা আরডুইনোর মাধ্যমে ডিজিটাল LOW পাঠাই তখন LED থেকে কোন আলো নেই।
ব্যবহারিকভাবে, এর অর্থ হল: আরডুইনোর ডিজিটাল পিনগুলির মধ্যে একটি অপটোকপ্লারের ANODE পিনের সাথে সংযুক্ত, Arduino এর GND ক্যাথোডের সাথে সংযুক্ত, ক্যামেরার GND কলিমারের সাথে EMITTER এবং FOCUS (বা শাটার) সংযুক্ত। আপনার এই পিনগুলি খুঁজে পেতে আপনি যে অপটোকপলারের ব্যবহার করছেন তার ডেটা শীট পড়ুন। আমি 4N35 ব্যবহার করছি তাই যদি আপনি অপটোকপলারের ভিতরে কি হয় সে সম্পর্কে আপনি সত্যিই চিন্তা না করেন তাহলে আপনি অন্ধভাবে আমার পরিকল্পনাটি অনুসরণ করতে পারেন। বলা বাহুল্য, আমাদের এই দুটির প্রয়োজন হবে, যেহেতু আমাদের ক্যামেরার ফোকাস এবং শাটার উভয়ই নিয়ন্ত্রণ করতে হবে।
যেহেতু আমরা দেখেছি যে এটি কীভাবে কাজ করে, আউটপুটে একটি ফোটোট্রান্সিস্টর দিয়ে, কেন আমরা এটিকে কেবল একটি সহজ এনপিএন ট্রানজিস্টর দিয়ে চেষ্টা করি না। এইবার, আমরা ট্রানজিস্টরের বেসে সরাসরি (একটি রোধকারী জুড়ে) ডিজিটাল সিগন্যাল আনব এবং ক্যামেরা এবং আরডুইনো এর GND উভয়কেই এমিটার এবং ক্যামেরার ফোকাস/শাটারকে ট্রানজিস্টরের সংগ্রাহকের সাথে সংযুক্ত করব।
আবার, আমাদের এই দুটির প্রয়োজন হবে যেহেতু আমরা দুটি সংকেত নিয়ন্ত্রণ করছি। আমি BC547B ব্যবহার করছি এবং আপনি মূলত এটির জন্য যেকোন NPN ব্যবহার করতে পারেন যেহেতু বর্তমান আমরা নিয়ন্ত্রণ করছি একটি একক মিলিয়াম।
এই দুটি উপাদানই কাজ করবে, কিন্তু অপটোকপলার নির্বাচন করা সম্ভবত ভাল ধারণা কারণ এটি নিরাপদ। ট্রানজিস্টর চয়ন করুন যদি আপনি জানেন যে আপনি কি করছেন।
ধাপ 4: ট্রিগারিং এর জন্য কোড লেখা
আমরা আগেই বলেছি, আমরা সিগন্যালিং এর জন্য Arduino এর ডিজিটাল পিন ব্যবহার করব। Arduino এই দুটো ব্যবহার করতে পারে সেখান থেকে ডেটা পড়ার জন্য, অথবা এটি লেখার জন্য তাই সেটআপ () ফাংশনে আমাদের প্রথমে যে জিনিসটি নির্দিষ্ট করতে হবে তা হল যে আমরা Arduino এর দুটি ডিজিটাল পিন ব্যবহার করব আউটপুটের জন্য:
পিনমোড (FOCUS_PIN, আউটপুট);
পিনমোড (SHUTTER_PIN, আউটপুট);
যেখানে FOCUS_PIN এবং SHUTTER_PIN হয় "#define NAME মান" দিয়ে অথবা সেটআপ () ফাংশনের আগে একটি int হিসাবে সংজ্ঞায়িত করা যেতে পারে কারণ আপনি পিন পরিবর্তন করতে পারেন তাই পুরো কোডের পরিবর্তে শুধুমাত্র একটি স্পট এর মান পরিবর্তন করা সহজ।
পরের জিনিসটি আমরা করব একটি ট্রিগার () ফাংশন লিখুন যা এটি চালানোর সময় ঠিক করবে। আমি শুধু কোড সহ একটি ছবি অন্তর্ভুক্ত করব। আপনার যা জানা দরকার তা হল প্রথমে আমরা একটি নির্দিষ্ট সময়ের জন্য FOCUS_PIN টিকে ধরে রাখি কারণ ক্যামেরার জন্য আমরা যে বিষয়টির দিকে ইঙ্গিত করছি তার উপর ফোকাস করার জন্য অপেক্ষা করতে হবে এবং তারপর মাত্র একটি মুহূর্তের জন্য (যদিও FOCUS_PIN এখনও উচ্চ) শুধুমাত্র ছবি তোলার জন্য SHUTTER_PIN কে হাইতে রাখুন।
আমি ফোকাসিং এড়িয়ে যাওয়ার ক্ষমতাও অন্তর্ভুক্ত করেছি কারণ এর জন্য কোন প্রয়োজন হবে না যদি আমরা এমন কিছু টাইমল্যাপ শুটিং করছি যা সময়ের সাথে ক্যামেরা থেকে দূরত্ব পরিবর্তন করে না।
ধাপ 5: ক্লাস ব্যবধান {};
এখন যেহেতু আমরা ক্যামেরাকে ট্রিগার করে ফেলেছি যেটাকে আমরা দুটি শটের মধ্যবর্তী সময়সীমার হেরফের করার কার্যকারিতা যোগ করে এটিকে একটি ইন্টারভ্যালোমিটারে পরিণত করতে হবে। আমরা এখানে যা করছি তার চিত্রটি পেতে হলে আমরা এখানে যে আদিম কোডটি চাই তা প্রদর্শন করার জন্য:
অকার্যকর লুপ () {
বিলম্ব (ব্যবধান); ট্রিগার (); }
আমি এই ব্যবধানটি পরিবর্তন করতে সক্ষম হতে চাই, আসুন আমরা বলি, 5 সেকেন্ড 20-30 মিনিট পর্যন্ত। এবং এখানে সমস্যা হল, যদি আমি এটি 5s থেকে 16s বা এর মধ্যে কিছু পরিবর্তন করতে চাই তবে আমি 1s ইনক্রিমেন্ট ব্যবহার করব, যেখানে আমার প্রতিটি অনুরোধের জন্য ব্যবধান বাড়ানোর জন্য, ব্যবধান 1s এর জন্য বৃদ্ধি পাবে। এটা দারুণ, কিন্তু যদি আমি 5s থেকে 5min পর্যন্ত যেতে চাই? এটি আমার 1s ইনক্রিমেন্টে 295 টি অনুরোধ নেবে তাই আমি অবশ্যই ইনক্রিমেন্টের মানকে আরও বড় কিছুতে বাড়িয়ে তুলতে চাই, এবং ইনক্রিমেন্ট পরিবর্তন করার জন্য কোন সঠিক ব্যবধানের মান (থ্রেশহোল্ড) নির্ধারণ করতে হবে। আমি এটি বাস্তবায়ন করেছি:
5s-60s: 1s বৃদ্ধি; 60s-300s: 10s বৃদ্ধি; 300s-3600s: 60s বৃদ্ধি;
কিন্তু আমি এই ক্লাসটি নিয়মিত করার জন্য লিখেছি যাতে আপনি আপনার নিজের থ্রেশহোল্ড এবং ইনক্রিমেন্ট সংজ্ঞায়িত করতে পারেন (সবকিছু.h ফাইলে মন্তব্য করা হয়েছে যাতে আপনি জানতে পারেন কোন মানগুলি কোথায় পরিবর্তন করতে হবে)।
আমি ব্যবধানের হেরফের করার উদাহরণটি স্পষ্টভাবে একটি পিসিতে করা হয়েছে, এখন আমাদের এটিকে আরডুইনোতে সরানো দরকার। এই পুরো ক্লাস, অন্তর, একটি হেডার ফাইলের ভিতরে রাখা হয় যা আমাদের ক্লাস/ফাংশনগুলির ঘোষণা এবং সংজ্ঞাগুলি (আসলে নয়, কিন্তু এটি কোন ক্ষতি না করেই এই উদাহরণে করা যেতে পারে) সংরক্ষণ করতে ব্যবহৃত হয়। এই হেডার ফাইলটি আমাদের arduino কোডের সাথে পরিচয় করিয়ে দেওয়ার জন্য আমরা "#include" Interval.h "" (ফাইলগুলিকে একই ডিরেক্টরিতে থাকতে হবে) ব্যবহার করি, যা নিশ্চিত করে যে আমরা আমাদের প্রধান কোডে হেডার ফাইলে সংজ্ঞায়িত ফাংশন ব্যবহার করতে পারি।
ধাপ 6: Arduino এর মাধ্যমে ব্যবধান ম্যানিপুলেটিং
এখন আমরা ব্যবধানের মান পরিবর্তন করতে সক্ষম হতে চাই, এটি বৃদ্ধি বা হ্রাস করুন। সুতরাং এটি দুটি জিনিস তাই আমরা দুটি ডিজিটাল সিগন্যাল ব্যবহার করব যা দুটি বোতাম দ্বারা নিয়ন্ত্রিত হবে। আমরা বারবার ডিজিটাল পিনগুলিতে মানগুলি পড়ব যা আমরা বোতামগুলিতে নির্ধারিত করেছি এবং সেই মানগুলিকে ফাংশন checkButtons (int, int) এ বিশ্লেষণ করব; যা "আপ" বোতাম টিপে ব্যবধান বাড়াবে এবং "ডাউন" বোতামটি থাকলে ব্যবধান হ্রাস করবে। এছাড়াও, যদি উভয় বোতাম চাপানো হয় তবে এটি পরিবর্তনশীল ফোকাসের মান পরিবর্তন করবে যা ট্রিগার করার সময় ফোকাস করা বা না করা নিয়ন্ত্রণ করে।
কোডের অংশ ((মিলিস () - prevBtnPress)> = debounceTime) ডিবাউন্সিং এর জন্য ব্যবহৃত হয়। আমি যেভাবে এটা লিখেছি, তার মানে হল যে আমি বুলিয়ান ভেরিয়েবল btnPressed দিয়ে প্রথম বোতাম প্রেস নিবন্ধন করি এবং এটি ঘটে যাওয়ার সময়টি মনে রাখি। আমি একটি নির্দিষ্ট সময়ের জন্য অপেক্ষা করি (debounceTime) এবং যদি বোতাম টিপে থাকে তবে আমি প্রতিক্রিয়া জানাই। এটি বোতামের প্রতিটি অন্যান্য প্রেসের মধ্যে একটি "বিরতি" দেয় যাতে এটি একাধিক প্রেস এড়িয়ে যায় যেখানে কোনটি নেই।
এবং অবশেষে, এর সাথে:
যদি ((মিলিস () - prevTrigger) / 1000> = interval.getVal ()) {
prevTrigger = মিলিস (); ট্রিগার (); }
আমরা প্রথমে পরীক্ষা করি শেষ ট্রিগার (prevTrigger) এবং বর্তমান সময় (মিলিস ()) এর মধ্যে সময়ের পরিমাণ (সবকিছুকে 1000 দিয়ে ভাগ করা হয়েছে কারণ এটি মিলিসেকেন্ডে এবং ব্যবধান সেকেন্ডে) ব্যবধানের সমান বা বেশি আমরা চাই, এবং যদি তা হয় তবে আমরা বর্তমান সময়টিকে শেষবারের মতো মনে করি যখন আমরা ক্যামেরাটি ট্রিগার করেছি এবং তারপর এটি ট্রিগার করেছি।
এই সম্পূর্ণ সঙ্গে, আমরা মূলত একটি intervalometer তৈরি, কিন্তু আমরা অনেক দূরে থেকে। আমরা এখনও intervalometer এর মান দেখি না। এটি শুধুমাত্র সিরিয়াল মনিটরে প্রদর্শিত হয় এবং আমরা সবসময় একটি কম্পিউটারের কাছে থাকব না তাই এখন আমরা এমন কিছু বাস্তবায়ন করব যা আমাদের পরিবর্তন করার সময় ব্যবধান দেখাবে।
ধাপ 7: ব্যবধান প্রদর্শন
এখানেই আমরা ডিসপ্লের পরিচয় দিই। আমি 4 ডিজিটের মডিউলটি ব্যবহার করেছি যা TM1637 দ্বারা চালিত কারণ আমার এটি শুধুমাত্র সময় প্রদর্শনের জন্য ব্যবহার করা দরকার এবং অন্য কিছু নয়। একটি Arduino জন্য তৈরি এই মডিউল ব্যবহার করার সবচেয়ে সহজ উপায় তাদের জন্য ইতিমধ্যে তৈরি লাইব্রেরি ব্যবহার করা হয়। Arduino সাইটে TM1673 চিপ এবং একটি প্রস্তাবিত লাইব্রেরির লিঙ্ক বর্ণনা করে একটি পৃষ্ঠা আছে। আমি এই লাইব্রেরিটি ডাউনলোড করেছি এবং এই লাইব্রেরিগুলিকে আরডুইনো আইডিইতে পরিচয় করানোর দুটি উপায় রয়েছে:
- Arduino সফটওয়্যার থেকে Sketch> Include Library> Add. ZIP লাইব্রেরিতে যান এবং আপনার ডাউনলোড করা.zip ফাইলটি সনাক্ত করুন
- আপনি Arduino ম্যানুয়ালি যা করতে পারেন তা করতে পারেন এবং শুধু যে ফোল্ডারে Arduino লাইব্রেরি সঞ্চয় করে, লাইব্রেরিটি আনজিপ করুন: C: / Users / Username / Documents / Arduino / libraries।
একবার আপনি লাইব্রেরি অন্তর্ভুক্ত করলে আপনার "ReadMe" ফাইলটি পড়া উচিত যেখানে আপনি বিভিন্ন ফাংশনগুলি কী করেন তার সারাংশ পাবেন। কখনও কখনও এটি যথেষ্ট নয় তাই আপনি একটু গভীরভাবে যেতে চান এবং হেডার ফাইলগুলি অন্বেষণ করতে চান যেখানে আপনি দেখতে পারেন কিভাবে ফাংশনগুলি প্রয়োগ করা হয় এবং ইনপুট আর্গুমেন্ট হিসাবে তাদের কী প্রয়োজন। এবং অবশ্যই একটি লাইব্রেরি কি সক্ষম তা অনুভব করার সর্বোত্তম উপায় সাধারণত একটি উদাহরণ দেয় যা আপনি Arduino সফটওয়্যার থেকে ফাইল> উদাহরণ> লাইব্রেরির নাম> উদাহরণ নাম দিয়ে চালাতে পারেন। এই লাইব্রেরি একটি উদাহরণ প্রদান করে যা আমি আপনাকে আপনার ডিসপ্লেতে চালানোর পরামর্শ দিচ্ছি শুধু আপনার ডিসপ্লেটি সঠিকভাবে কাজ করছে কিনা তা দেখার জন্য এবং আমি আপনাকে উদাহরণে যে কোডটি দেখছি তা টুইক করার জন্য উৎসাহিত করি এবং প্রতিটি ফাংশন কী করে এবং ডিসপ্লেটি কেমন প্রতিক্রিয়া দেখায় তা নিজেই দেখুন। এটা। আমি তাই করেছি এবং এই আমি কি figured হয়:
এটি প্রতিটি ডিজিটের জন্য 8 বিটের 4 স্বাক্ষরবিহীন পূর্ণসংখ্যা ব্যবহার করে (0bB7, B6, B5, B4, B3, B2, B1, B0)। এবং প্রতিটি বিট B6-B0 একটি নির্দিষ্ট অঙ্কের প্রতিটি সেগমেন্টের জন্য ব্যবহার করা হয় এবং যদি বিট 1 হয় তবে এটি দ্বারা নিয়ন্ত্রিত সেগমেন্ট লাইট জ্বলে। এই পূর্ণসংখ্যাগুলি একটি অ্যারেতে সংরক্ষণ করা হয় যার নাম ডাটা । ডিসপ্লেতে এই বিট সেট করা display.setSegments (data) দ্বারা সম্পন্ন হয়; অথবা আপনি স্বাভাবিকভাবেই যেকোনো অংক অ্যাক্সেস করতে পারেন বিশেষ করে এবং সেগুলি নিজে নিজে সেট করতে পারেন (data [0] = 0b01111001) অথবা আপনি ফাংশন ব্যবহার করতে পারেন encodeDigit (int); এবং আপনার পাঠানো অঙ্ককে বিট অনুযায়ী রূপান্তর করুন (data [0] = display.encodeDigit (3)); কোলন সক্রিয় করার জন্য বিট B7 শুধুমাত্র দ্বিতীয় অংক বা ডেটা [1] দ্বারা ব্যবহৃত হয়।
যেহেতু আমি অন্তর্বর্তী শ্রেণীর জাদুকরীতে ফাংশন লিখেছি যা আমি M1M0: S1S0 আকারে ব্যবধানের নির্দিষ্ট সংখ্যা পেতে পারি, যেখানে M মিনিট এবং S সেকেন্ডের জন্য দাঁড়িয়ে থাকে, তাই স্বাভাবিক যে আমি encodeDigitFunction (int) ব্যবহার করি; এর মত ব্যবধান প্রদর্শনের জন্য:
displayInterval () {
ডেটা [0] = display.encodeDigit (interval.getM1 ()); ডেটা [1] = 0x80 | display.encodeDigit (interval.getM0 ()); ডেটা [2] = display.encodeDigit (interval.getS1 ()); ডেটা [3] = display.encodeDigit (interval.getS0 ()); display.setSegments (ডেটা); }
এখন, যে কোনও সময় যখন আমাকে ডিসপ্লেতে অন্তর প্রদর্শন করতে হবে, আমি displayInterval () ফাংশনকে কল করতে পারি।
*ডেটা [1] এ "0x80 | …" নোট করুন। এটি নিশ্চিত করতে ব্যবহৃত হয় যে ডেটা [1] এর বিট বি 7 সবসময় 1 থাকে তাই কোলন লাইট জ্বলে।
ডিসপ্লে, পাওয়ার খরচ সম্পর্কে শেষ কথা। এটি খুব বেশি গুরুত্বপূর্ণ নাও হতে পারে যেহেতু আমরা এটিকে দীর্ঘ সময় ধরে রাখব না, কিন্তু যদি আপনি এটিকে আরও বেশি ব্যাটারি বান্ধব করতে আগ্রহী হন তবে ডিসপ্লের উজ্জ্বলতা কমিয়ে আনতে বিবেচনা করুন কারণ এটি সর্বোচ্চ উজ্জ্বলতায় 3 গুণ বেশি কারেন্ট টানে সর্বনিম্নের চেয়ে।
ধাপ 8: সব একসাথে রাখা
আমরা জানি কিভাবে ক্যামেরা ট্রিগার করতে হয়, কিভাবে ব্যবধানকে ম্যানিপুলেট করতে হয় এবং কিভাবে একই ডিসপ্লের ডিসপ্লেতে প্রদর্শন করতে হয়। এখন আমাদের কেবল এই সমস্ত জিনিসগুলিকে একত্রিত করতে হবে। আমরা অবশ্যই লুপ () ফাংশন থেকে শুরু করব। আমরা ক্রমাগত বাটন প্রেসের জন্য চেক করব এবং সেই অনুযায়ী চেকবটন (int, int) এর সাথে প্রতিক্রিয়া করব এবং সেই অনুযায়ী ব্যবধান পরিবর্তন করব এবং পরিবর্তিত ব্যবধান প্রদর্শন করব। এছাড়াও লুপে () আমরা ক্রমাগত পরীক্ষা করে দেখব যদি শেষ ট্রিগারিং বা বোতাম টিপে পর্যাপ্ত সময় পার হয়ে যায় এবং প্রয়োজনে ট্রিগার () ফাংশনে কল করুন। কম বিদ্যুত ব্যবহারের স্বার্থে আমরা কিছু সময় পর ডিসপ্লে বন্ধ করে দেব।
আমি একটি দ্বি-রঙের নেতৃত্ব যোগ করেছি, (লাল এবং সবুজ, সাধারণ ক্যাথোড) যা ট্রিগার () এর সময় সবুজকে আলোকিত করবে এবং ফোকাসিং থাকলে এটি প্রদর্শনের সাথে লাল হয়ে উঠবে এবং ফোকাসিং থাকলে এটি বন্ধ থাকবে বন্ধ
এছাড়াও, আমরা আরও ছোট Arduino, Pro Mini তে স্থানান্তরিত হব।
ধাপ 9: একটি শেষ জিনিস যোগ করা
এখন পর্যন্ত.. আমরা শুধুমাত্র একটি ইন্টারভ্যালোমিটার তৈরি করেছি। দরকারী, কিন্তু আমরা আরও ভাল করতে পারি।
আমার মনে যা ছিল তা এখানে: ইন্টারভালোমিটার ডিফল্টরূপে এটিকে বাদ দিয়ে কাজ করে যখন আমরা কিছু ধরণের বাহ্যিক সুইচ/সেন্সর সংযুক্ত করি যা তখন ইন্টারভোলোমিটার বন্ধ করে দেয় এবং সুইচ/সেন্সরের ইনপুটে সাড়া দেয়। আসুন এটিকে একটি সেন্সর বলি, এটি অগত্যা সংযুক্ত একটি সেন্সর হবে না তবে আমি এটিকে সেই হিসাবে উল্লেখ করব।
প্রথমত, আমরা কিভাবে সনাক্ত করব যে আমরা সেন্সর সংযুক্ত করেছি?
আমরা যেসব সেন্সর ব্যবহার করব/তৈরি করব তাদের তিনটি তারের প্রয়োজন হবে যা তাদের arduino (Vcc, GND, Signal) এর সাথে সংযুক্ত করবে। এর মানে হল যে আমরা সেন্সরের জন্য একটি ইনপুট জ্যাক হিসাবে একটি 3.5 মিমি অডিও জ্যাক ব্যবহার করতে পারি। এবং এটি কীভাবে আমাদের সমস্যার সমাধান করে? ঠিক আছে, একটি 3.5 মিমি জ্যাক "একটি সুইচ সহ" রয়েছে যার পিনগুলি সংযোজকের পিনগুলিতে সংক্ষিপ্ত করা হয় যদি তাদের মধ্যে কোনও পুরুষ সংযোগকারী না থাকে এবং যখন সংযোগকারী উপস্থিত থাকে তখন তারা বিচ্ছিন্ন হয়ে যায়। তার মানে সেন্সরের উপস্থিতির উপর ভিত্তি করে আমাদের কাছে তথ্য আছে। আমি দেখানো হিসাবে পুল-ডাউন প্রতিরোধক ব্যবহার করব (ডিজিটাল পিন সেন্সর ছাড়া উচ্চ পড়বে, এবং সেন্সর সংযুক্ত সঙ্গে নিম্ন) অথবা আপনি সংযোগকারী পিনের সাথে ডিজিটাল পিন সংযুক্ত করতে পারেন যা সাধারণত মাটির সাথে সংযুক্ত এবং সেই ডিজিটাল পিনকে INPUT_PULLUP হিসাবে সংজ্ঞায়িত করুন, এটি যে কোনও উপায়ে কাজ করবে। তাই এখন আমাদের কোডটি টুইক করতে হবে যাতে সেন্সর না থাকলে বা ডিজিটাল পিন চেক করার সময় আমরা যতটুকু লিখেছি ততটুকুই করে। আমি এটিকে টুইকও করেছি যাতে এটি ডিসপ্লেতে "SENS" দেখায় ব্যবধানের পরিবর্তে যা এই মোডে অকেজো, কিন্তু ফোকাসিং এখনও আমাদের জন্য প্রাসঙ্গিক আমরা ফোকাসিংকে পরিবর্তনের কার্যকারিতা রাখব উভয় বোতাম টিপে এবং লাল নেতৃত্বে মাধ্যমে ফোকাস অবস্থা দেখাচ্ছে।
সেন্সর আসলে কি করে?
আমরা যখন ক্যামেরা ট্রিগার করতে চাই তখন তার সিগন্যাল পিনে 5V লাগাতে হবে। এর মানে হল যে আমাদের এই পিনের অবস্থা চেক করার জন্য আরডুইনো এর আরেকটি ডিজিটাল পিন লাগবে এবং যখন এটি উচ্চ নিবন্ধন করবে, তখন শুধু ট্রিগার () ফাংশনটি কল করতে হবে এবং ক্যামেরা একটি ছবি তুলবে। সবচেয়ে সহজ উদাহরণ, এবং আমরা যদি এটি কাজ করে তা পরীক্ষা করার জন্য ব্যবহার করব, এটি একটি পুল-ডাউন রোধক সহ একটি সহজ বোতাম। সেন্সরের Vcc এবং সিগন্যাল পিনের মধ্যে বোতামটি সংযুক্ত করুন এবং সিগন্যাল পিন এবং GND এর মধ্যে একটি প্রতিরোধক যোগ করুন, এইভাবে সিগন্যাল পিনটি GND এ থাকবে যখন বোতামটি চাপানো হবে না যেহেতু প্রতিরোধকের মধ্য দিয়ে কোন প্রবাহিত প্রবাহ নেই, এবং যখন বোতাম টিপলে আমরা সিগন্যাল পিনটি সরাসরি হাইতে রাখি এবং আরডুইনো সেটা পড়ে এবং ক্যামেরা ট্রিগার করে।
এই সঙ্গে আমরা কোড লেখা শেষ।
*আমি যে অডিও জ্যাকগুলি ব্যবহার করেছি তার কিছু সমস্যা নোট করতে চাই। সংযোগকারীতে পুরুষ জ্যাক Whileোকানোর সময়, GND এবং অন্য দুটি পিনের মধ্যে একটি কখনও কখনও ছোট হবে। এটি তাত্ক্ষণিকভাবে এবং শুধুমাত্র সংযোগকারী স্থাপন করার সময় ঘটে, কিন্তু এটি এখনও Arduino একটি সংক্ষিপ্ত নিবন্ধন করার জন্য যথেষ্ট যথেষ্ট যাতে Arduino শুধু পুনরায় চালু হবে। এটি প্রায়শই ঘটে না তবে এটি এখনও বিপদ হতে পারে এবং আরডুইনো ধ্বংস করার সম্ভাবনা রয়েছে তাই আমি যে সংযোগকারীগুলি ব্যবহার করেছি তা এড়িয়ে চলুন।
ধাপ 10: মেস ধারণ করা
আপনি ছবিগুলি থেকে দেখতে পারেন যে ব্রেডবোর্ড নোংরা হয়ে যাচ্ছে এবং আমরা সম্পন্ন করেছি তাই আমাদের সবকিছু একটি পারফবোর্ড/পিসিবিতে স্থানান্তর করতে হবে। আমি পিসিবির জন্য গিয়েছিলাম কারণ আমি মনে করি আমি এইগুলি আরও তৈরি করব যাতে এইভাবে আমি সহজেই তাদের পুনরুত্পাদন করতে পারি।
আমি পিসিবি ডিজাইনের জন্য agগল ব্যবহার করেছি এবং আমার ব্যবহৃত সমস্ত যন্ত্রাংশের নকশা খুঁজে পেয়েছি। আমার ডিজাইনে একটি ক্ষুদ্র জিনিস আছে যা আমি কামনা করতাম না এবং এটি ডিসপ্লের Vcc এর জন্য একটি ওয়্যার প্যাড। আমি এটি খুব দেরিতে দেখেছি এবং আমি যা আগে ডিজাইন করেছি তা নষ্ট করতে চাইনি এবং তারের প্যাড যুক্ত করার অলস পথে গিয়েছিলাম এবং পরে তামার চিহ্নের পরিবর্তে এই সংযোগগুলিতে তার যুক্ত করতে হবে তাই মনে রাখবেন যে আপনি যদি আমার নকশা ব্যবহার করছেন ।
Arduino বোর্ড এবং ডিসপ্লে PCB- এর সাথে সরাসরি পিসিবিতে সোল্ডার করার পরিবর্তে মহিলা পিন হেডারের মাধ্যমে সংযুক্ত থাকে। এইভাবে ডিসপ্লের অধীনে অন্যান্য উপাদান যেমন রেসিস্টর, ট্রানজিস্টর এবং এমনকি অডিও জ্যাকের জন্য প্রচুর জায়গা রয়েছে।
আমি মাইক্রো পুশ বোতামগুলি রেখেছি, যা নকশা দ্বারা, সরাসরি বিক্রি করা উচিত কিন্তু আপনি মহিলা পিন হেডারের জন্য গর্ত ব্যবহার করতে পারেন এবং বোতামগুলি তারের সাথে সংযুক্ত করতে পারেন যদি আপনি তাদের ঘেরের উপর মাউন্ট করতে চান এবং পিসিবিতে নয়।
আমরা আরেকটি মহিলা অডিও জ্যাক লাগাবো যাতে ক্যামেরার সাথে সংযোগ স্থাপন করা কেবলটি প্লাগ করা যায়। এইভাবে বোর্ড আরও বহুমুখী হয়ে ওঠে যেহেতু আমরা অন্যান্য সংযোগকারীদের সাথে অন্যান্য ক্যামেরার সাথে সংযোগ করতে সক্ষম হব।
ধাপ 11: Sens0rs
আসুন সেন্সর বাস্তবায়নের উপায়গুলি বিবেচনা করি।
সুতরাং সেন্সরটিতে 5V এর সরবরাহের ভোল্টেজ থাকবে, এবং যখন আমরা ক্যামেরাটি ট্রিগার করতে চাই তখন এটির সিগন্যাল পিনে একটি ডিজিটাল উচ্চ সরবরাহ করতে সক্ষম হতে হবে। আমার মাথায় প্রথম যে বিষয়টি এসেছে তা হল একটি মোশন সেন্সর, নির্দিষ্ট হতে PIR। আরডুইনোর জন্য বিক্রি হওয়া মডিউলগুলি রয়েছে যার উপর এই সেন্সর রয়েছে এবং আমরা যা চাই তা করি। তারা 5V তে চালিত হয় এবং একটি আউটপুট পিন থাকে যার উপর তারা 5V রাখে যখন তারা ট্রিগার হয়, আমাদের কেবল এটির পিনগুলিকে 3.5 মিমি অডিও জ্যাকের সাথে সংযুক্ত করতে হবে এবং আমরা সরাসরি বোর্ডে প্লাগ করতে পারি। যদিও একটি জিনিস লক্ষ্য করা যায় যে এই সেন্সরটি গরম হওয়া এবং সঠিকভাবে কাজ শুরু করার জন্য সময় প্রয়োজন তাই এটি প্লাগ ইন করার সাথে সাথে এটি সঠিকভাবে কাজ করবে বলে আশা করবেন না, এটিকে কিছু সময় দিন এবং তারপর এটি সেট আপ করুন এবং যা কিছু জীবিত তার মধ্যে চলে পরিসীমা ক্যামেরা ট্রিগার করবে।
যেহেতু আমরা ইতিমধ্যেই তৈরি Arduino সেন্সর বোর্ডের দিকে চিন্তা করছি আরেকটি মনে আসে, শব্দ। এই বোর্ডগুলি সাধারণত এমনভাবে তৈরি করা হয় যে তাদের একটি পিন থাকে যা এটি বাছাই করা শব্দের এনালগ মান বের করে এবং অন্যটি ডিজিটাল, এটি একটি যৌক্তিক উচ্চ আউটপুট দেয় যদি শব্দটি একটি নির্দিষ্ট স্তর অতিক্রম করে। আমরা এই স্তরটি এমনভাবে সেট করতে পারি যে সেন্সর আমাদের ভয়েস উপেক্ষা করে কিন্তু একটি তালি নিবন্ধন করে। এইভাবে, আপনি যখনই হাততালি দেবেন, আপনি ক্যামেরাটি ট্রিগার করবেন।
ধাপ 12: PoweeEeEer
আমি মনে করি এই জিনিসটি পাওয়ার সবচেয়ে সহজ উপায় হল একটি পাওয়ার ব্যাঙ্কের সাথে, এবং বাহ্যিকভাবে নয়। আমরা আমাদের ফোন বা যা কিছু চার্জ করার কার্যকারিতা বজায় রাখব এবং একটি সুইচের মাধ্যমে বোর্ডে বর্তমান প্রবাহ নিয়ন্ত্রণ করব। আমরা পাওয়ার ব্যাংকে সার্কিট বোর্ডে আউটপুট ইউএসবি সংযোগকারীর পিনগুলি খুঁজে বের করব যা GND এবং Vcc (5V) এবং সোল্ডার তারের উপর সরাসরি এবং সেখান থেকে আমাদের বোর্ডে।
ধাপ 13: ঘের.. একটু
আমি সত্যিই এই সঙ্গে সংগ্রাম। যখন আমি বিদ্যমান পিসিবিতে যে বাক্সটি bুকতে চেয়েছিলাম, তখন আমি বুঝতে পেরেছিলাম যে আমার পছন্দ মতো সবকিছু ফিট করার কোন সুন্দর উপায় নেই এবং তারপর আমি একটি নতুন পিসিবি ডিজাইন করার সিদ্ধান্ত নিয়েছি, এইবার অপটোকুপলার দিয়ে। আমি পিসিবি ঠিক পাশের নিচে স্থাপন করতে চেয়েছিলাম যেখানে আমি কিছু উপাদানগুলির জন্য গর্ত ড্রিল করব যা দেখা/স্পর্শ করা প্রয়োজন। এটি কাজ করার জন্য আমাকে সকেট বা হেডার ছাড়া সরাসরি ডিসপ্লে এবং আরডুইনো বোর্ডে সোল্ডার করতে হবে, এবং সেখানেই প্রথম সমস্যাটি রয়েছে। যেকোনো জিনিসের সমস্যা সমাধান করা একেবারে ভয়াবহ ছিল যেহেতু আমি এখনই এটি বিক্রি করার জন্য প্রস্তুত ছিলাম না যতক্ষণ না আমি পরীক্ষা করে দেখি যে সবকিছু কাজ করছে, এবং আমি সত্যিই কিছু পরীক্ষা করতে পারিনি যেহেতু আমি এটি বিক্রি করতে পারিনি এবং তাই.. ডন এটা করো না। সমস্যা সংখ্যা সংখ্যা, ক্ষেত্রে গর্ত তৈরি। আমি অনুমান করেছি যে আমি পরিমাপ ভুল করেছি কারণ কেসির কোন ছিদ্রই পিসিবি -র উপাদানগুলির সাথে সংযুক্ত ছিল না এবং আমাকে সেগুলি বড় করতে হয়েছিল এবং পিসিবিতে বোতামগুলি খুব বেশি ছিল এবং যখন আমি বোর্ডটি জায়গায় রাখতাম তখন সেগুলি সর্বদা চাপা থাকত। এবং যেহেতু আমি পাশে অডিও জ্যাকগুলি চেয়েছিলাম, আমাকে প্রথমে সেই জ্যাকগুলি ফিট করার জন্য সেই গর্তগুলি বড় করতে হয়েছিল এবং তারপরে ডিসপ্লে এবং বোতামগুলির মাধ্যমে বোর্ডটি নীচে নামিয়ে আনতে হয়েছিল.. ফলাফলটি ভয়াবহ।
আমি কিছু পাতলা পিচবোর্ড দিয়ে উপরের দিকে ওভারলে করে ভয়ঙ্কর ছিদ্রগুলিকে কম ভয়ঙ্কর করেছিলাম যাতে আমি উপাদানগুলির জন্য আরও যুক্তিসঙ্গত ছিদ্র কেটে ফেলেছিলাম এবং.. আমার মনে হয় এখনও এটি ভয়ানক কিন্তু সহজ।
রায়, আমি পরামর্শ দিচ্ছি যে আপনি ঘেরের উপর মাউন্ট করা উপাদানগুলি কিনে এটি করুন, এবং সরাসরি পিসিবিতে নয়। এইভাবে আপনার উপাদান স্থাপনের ক্ষেত্রে অধিক স্বাধীনতা এবং ভুল করার জন্য কম জায়গা রয়েছে।
ধাপ 14: ফিন
আমি সম্পন্ন করেছি, কিন্তু এখানে এমন কিছু আছে যা আমি ভিন্নভাবে করতাম:
উন্নত মানের 3.5 মিমি অডিও জ্যাক ব্যবহার করুন। জ্যাক insোকাতে বা টেনে বের করার সময় আমি যেগুলো ব্যবহার করতাম সেগুলো টার্মিনালগুলিকে ছোট করতে থাকে যার ফলে সরবরাহ কম হয় ফলে এইভাবে আরডুইনো রিসেট হয় অথবা এটি কেবল জাল ট্রিগার তৈরি করে। আমি আগের ধাপে এটা বলেছি কিন্তু আমি আবার বলছি.. হেডার/সকেট ছাড়া আরডুইনো বোর্ডকে বিক্রি করবেন না, এটি যেকোনো ধরনের সমস্যা সমাধান বা নতুন কোড আপলোড করে এবং তাই অনেক কঠিন। আমি এটাও মনে করি যে নেতৃত্বাধীন সংকেত যে জিনিসটি চালু আছে তা দরকারী হবে কারণ আমি প্রায়ই বোতাম টিপে না বলে বলতে পারি না যেহেতু ডিসপ্লে বন্ধ হয়ে যায়। এবং শেষ জিনিস, একটি বিরতি ফাংশন। আমি কল্পনা করি যে এটি দরকারী যখন উদাহরণস্বরূপ যখন পিআইআর সেন্সর প্লাগিং করা হয়, কারণ এটি গরম করার জন্য সময় প্রয়োজন, অথবা যখন এটি আপনার চারপাশে সরানো হয় তখন এটি ট্রিগার করতে চায় না যাতে আপনি সবকিছু থামাতে পারেন, কিন্তু আপনি কেবল চালু করতে পারেন ক্যামেরা বন্ধ তাই.. যাই হোক না কেন।
আরেকটি ঝরঝরে জিনিস হল ভেলক্রোকে ট্রাইপোডে রাখা যেহেতু এটি সেখানে ব্যবহার করা হয়।
মন্তব্যগুলিতে এই প্রকল্পটি সম্পর্কে নির্দ্বিধায় কিছু জিজ্ঞাসা করুন এবং আপনি এটি তৈরি করেন এবং এটি আপনার জন্য কীভাবে পরিণত হয়েছে তা জানতে চাই।
প্রস্তাবিত:
একটি আইফোনের সাথে দুর্দান্ত ছবি তুলুন: 9 টি ধাপ (ছবি সহ)
একটি আইফোনের সাথে দুর্দান্ত ছবি তুলুন: আমাদের বেশিরভাগই আজকাল সর্বত্র আমাদের সাথে একটি স্মার্টফোন বহন করে, তাই দুর্দান্ত ছবি তোলার জন্য আপনার স্মার্টফোনের ক্যামেরাটি কীভাবে ব্যবহার করবেন তা জানা গুরুত্বপূর্ণ! আমি মাত্র কয়েক বছর ধরে একটি স্মার্টফোন ছিলাম, এবং আমি আমার জিনিসগুলি নথিভুক্ত করার জন্য একটি ভাল ক্যামেরা থাকা পছন্দ করেছি
DuvelBot - ESP32 -CAM বিয়ার সার্ভিং রোবট: 4 টি ধাপ (ছবি সহ)
DuvelBot - ESP32 -CAM বিয়ার পরিবেশনকারী রোবট: কঠোর দিনের পরিশ্রমের পরে, পালঙ্কে আপনার প্রিয় বিয়ারকে চুমুক দেওয়ার কাছাকাছি কিছুই আসে না। আমার ক্ষেত্রে, যে বেলজিয়ান স্বর্ণকেশী " Duvel " যাইহোক, সব কিছু ভেঙে পড়ার পরেও আমরা একটি মারাত্মক সমস্যার মুখোমুখি হয়েছি: ফ্রিজ কনটেন্ট
ইন্টারেক্টিভ মাইনক্রাফ্ট তরোয়াল/সাইন (ESP32-CAM) প্রবেশ করবেন না: 15 টি ধাপ (ছবি সহ)
ইন্টারেক্টিভ মাইনক্রাফ্ট তরোয়াল/সাইন (ইএসপি 32-সিএএম) প্রবেশ করবেন না: এই প্রকল্পের অস্তিত্ব আসার পেছনে সত্যিই বেশ কয়েকটি কারণ রয়েছে: ১। সমবায় মাল্টিটাস্কিং লাইব্রেরি টাস্কশিডিউলারের লেখক হিসাবে আমি সবসময় কৌতূহলী ছিলাম কিভাবে সমবায় মাল্টিটাস্কিংয়ের সুবিধাগুলিকে প্রাক-শূন্যের সুবিধাগুলির সাথে একত্রিত করা যায়
ESP32-CAM কেস সিস্টেম এবং 3D প্রিন্টার ক্যাম: 10 টি ধাপ (ছবি সহ)
ESP32-CAM কেস সিস্টেম এবং 3D প্রিন্টার ক্যাম: আমি আমার 3-D প্রিন্টারের ক্যামেরাটি ছোট, সহজ এবং কার্যকরী কিছু দিয়ে প্রতিস্থাপন করতে চাইছিলাম। আপনি সেগুলি $ 10 এরও কম সময়ে খুঁজে পেতে পারেন, যেমনটি কম এবং তারা সত্যিই ভাল পারফর্ম করে
কিভাবে সহজ ধাপ এবং ছবি দিয়ে একটি কম্পিউটারকে আলাদা করা যায়: 13 টি ধাপ (ছবি সহ)
কিভাবে সহজ ধাপ এবং ছবি দিয়ে একটি কম্পিউটারকে ডিসাসেম্বল করবেন: এটি একটি পিসি কিভাবে ডিসাসেম্বল করা যায় সে সম্পর্কে একটি নির্দেশনা। বেশিরভাগ মৌলিক উপাদানগুলি মডুলার এবং সহজেই সরানো হয়। তবে এটি গুরুত্বপূর্ণ যে আপনি এটি সম্পর্কে সংগঠিত হন। এটি আপনাকে অংশগুলি হারানো থেকে রক্ষা করতে সহায়তা করবে, এবং পুনরায় সমাবেশ তৈরিতেও সহায়তা করবে