সুচিপত্র:

Arduino ইন্টারেক্টিভ LED কফি টেবিল: 6 ধাপ (ছবি সহ)
Arduino ইন্টারেক্টিভ LED কফি টেবিল: 6 ধাপ (ছবি সহ)

ভিডিও: Arduino ইন্টারেক্টিভ LED কফি টেবিল: 6 ধাপ (ছবি সহ)

ভিডিও: Arduino ইন্টারেক্টিভ LED কফি টেবিল: 6 ধাপ (ছবি সহ)
ভিডিও: Cheap DIY Arduino Ambilight 2.0 (Revisited) RGB WS2812b LED Full Build & How-To 2024, জুলাই
Anonim
Image
Image
Arduino ইন্টারেক্টিভ LED কফি টেবিল
Arduino ইন্টারেক্টিভ LED কফি টেবিল

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

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

সংযুক্ত ভিডিওটি সম্পূর্ণ নির্মাণ প্রক্রিয়ার উপর দিয়ে যায়, যখন আমি নীচের আরও বিস্তারিত বিবরণ দিচ্ছি।

সরবরাহ

  1. ws2812b LED বাল্ব -
  2. 5V পাওয়ার সাপ্লাই -
  3. যে কোন Arduino আমি 2560 ব্যবহার করেছি -
  4. ফটোডিওড
  5. আইআর এমিটারস
  6. 10 ওহম প্রতিরোধক
  7. 1 MOhms প্রতিরোধক
  8. 47 পিএফ ক্যাপাসিটার
  9. CD4051B মাল্টিপ্লেক্সার
  10. SN74HC595 শিফট রেজিস্টার
  11. ULN2803A ডার্লিংটন অ্যারে
  12. এলইডিগুলির জন্য একটি বড় বোর্ড হিসাবে ব্যবহার করার জন্য যে কোনও স্তর, আমি হোম ডিপো থেকে একটি কাগজের যৌগিক বোর্ড ব্যবহার করেছি

ধাপ 1: বোর্ড তৈরি করুন এবং LEDs োকান

বোর্ড তৈরি করুন এবং LEDs োকান
বোর্ড তৈরি করুন এবং LEDs োকান
বোর্ড তৈরি করুন এবং LEDs োকান
বোর্ড তৈরি করুন এবং LEDs োকান
বোর্ড তৈরি করুন এবং LEDs োকান
বোর্ড তৈরি করুন এবং LEDs োকান
বোর্ড তৈরি করুন এবং LEDs োকান
বোর্ড তৈরি করুন এবং LEDs োকান

আমি প্রথম যে কাজটি করেছি তা হল বোর্ড তৈরি করা যা কফি টেবিলের ভিতরে আমরা যেসব এলইডি রাখব তা থাকবে। আমি হোম ডিপো থেকে কাগজের কম্পোজিট বোর্ডের একটি টুকরো ব্যবহার করেছি এবং আমার কফি টেবিলের জন্য সঠিক মাত্রায় কেটেছি। বোর্ডটি আকারে কাটার পরে, আমি সমস্ত গর্ত ড্রিল করেছিলাম যেখানে এলইডিগুলি যাচ্ছে। বোর্ড নিজেই 8 ই সারি এবং ws2812b এলইডি 12 কলাম 3 ইঞ্চি পৃথক পৃথক ছিল, এবং তারা একটি সর্পিন প্যাটার্ন সংযুক্ত ছিল। আমি তাদের জায়গায় নিরাপদ আঠা ব্যবহার করেছি।

আমি নোড কি হবে কেন্দ্রে গর্ত ড্রিল করতে হয়েছিল: 4 ws2812b এলইডি যা একটি বর্গক্ষেত্র, 2 টি ফটো ডায়োড এবং 2 টি আইআর এমিটার এর কেন্দ্রে একটি ছোট বর্গক্ষেত্র তৈরি করে। নোডের কেন্দ্রে এই holes টি ছিদ্র হবে ফোটোডায়োড এবং আইআর এমিটারের দাগ। সর্বাধিক এক্সপোজার নিশ্চিত করার জন্য আমি তাদের বিকল্প করেছিলাম এবং প্রতিটি নোডের কেন্দ্রে তাদের প্রায় 1 ইঞ্চি দূরে রেখেছিলাম। আমি এই জায়গায় গরম আঠালো প্রয়োজন ছিল না, আমি শুধু অন্য দিকে সীসা বাঁক নিশ্চিত যে তারা অন্য দিকে বেরিয়ে আসবে না। আমি কিছু দিকের মধ্যে ইতিবাচক এবং নেতিবাচক প্রান্তগুলি বাঁকানো নিশ্চিত করেছি, যাতে তারা সার্কিটে সঠিকভাবে ভিত্তিক ছিল। সমস্ত ইতিবাচক লিড বোর্ডের পিছনের বাম দিকে ছিল, যখন সমস্ত নেতিবাচক লিড বোর্ডের ডান দিকে ছিল।

ধাপ 2: সার্কিট বুঝুন

সার্কিট বুঝুন
সার্কিট বুঝুন
সার্কিট বুঝুন
সার্কিট বুঝুন
সার্কিট বুঝুন
সার্কিট বুঝুন

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

PCB কোড যার মধ্যে KiCad প্রজেক্ট এবং গারবার ফাইল রয়েছে এখানে পাওয়া যাবে: https://github.com/tmckay1/interactive_coffee_tabl…, যদি আপনি নিজে PCBs অর্ডার করতে চান এবং অনুরূপ প্রজেক্ট তৈরি করতে চান। আমি বোর্ড তৈরি করতে NextPCB ব্যবহার করেছি।

মূলত তিনটি ভিন্ন সার্কিট রয়েছে যা এই টেবিলটি তৈরি করে। প্রথম আমরা বিস্তারিতভাবে যাব না এবং এটি একটি সাধারণ সার্কিট যা ws2812b এলইডিগুলিকে ক্ষমতা দেয়। আরডুইনো থেকে ws2812b নেতৃত্বাধীন বাল্বগুলিতে একটি PWM ডেটা সিগন্যাল পাঠানো হয় এবং কোথায় কী রং দেখানো হয় তা নিয়ন্ত্রণ করে। আমরা ws2812b এলইডি ব্যবহার করছি যেহেতু সেগুলি পৃথকভাবে ঠিকানাযোগ্য, তাই আমরা নিয়ন্ত্রণ করতে সক্ষম হব কোন এলইডি চালু করতে হবে এবং কোনটি বন্ধ করতে হবে। Ws2812b এলইডিগুলি 5V বাহ্যিক শক্তি উৎস দ্বারা চালিত, যেহেতু শুধুমাত্র আরডুইনোতে সমস্ত বাতি জ্বালানোর পর্যাপ্ত শক্তি নেই। সংযুক্ত অ্যানিমেটেড ডায়াগ্রামে তারা 330 ওহমের একটি পুলআপ প্রতিরোধক ব্যবহার করে, তবে আমি এটি আমার বিল্ডে ব্যবহার করি না।

দ্বিতীয় সার্কিট IR emitters চালু করে। এই সার্কিটটি একটি ডার্লিংটন অ্যারে নিয়ন্ত্রণ করার জন্য একটি শিফট রেজিস্টার ব্যবহার করে যা IR emitters কে শক্তি পাঠায়। একটি শিফট রেজিস্টার হল একটি ইন্টিগ্রেটেড সার্কিট যা শুধুমাত্র অল্প পরিমাণ পিন থেকে একাধিক পিনে উচ্চ এবং নিম্ন সংকেত পাঠাতে সক্ষম। আমাদের ক্ষেত্রে আমরা একটি SN74HC595 শিফট রেজিস্টার ব্যবহার করি যা 3 টি ইনপুট থেকে নিয়ন্ত্রণ করা যায়, কিন্তু 8 টি আউটপুট পর্যন্ত নিয়ন্ত্রণ করে। আরডুইনো দিয়ে এটি ব্যবহার করার সুবিধা হল যে আপনি একটি সারিতে 8 টি শিফট রেজিস্টার পর্যন্ত ডেইজি চেইন করতে পারেন (আরডুইনো তাদের মধ্যে 8 টি পর্যন্ত পরিচালনা করতে পারে)। এর মানে হল যে 64 আইআর এমিটারগুলি চালু এবং বন্ধ করতে আপনার আরডুইনো থেকে কেবল 3 টি পিন দরকার। ডার্লিংটন অ্যারে আপনাকে ইনপুট সিগন্যাল বেশি হলে বাইরের উৎস থেকে একটি ডিভাইসকে পাওয়ার করতে সক্ষম করে, অথবা ইনপুট সিগন্যাল কম হলে সেই ডিভাইসের পাওয়ার বন্ধ করে দেয়। সুতরাং আমাদের উদাহরণে, আমরা একটি ULN2803A ডার্লিংটন অ্যারে ব্যবহার করি, যা একটি 5V বাহ্যিক শক্তির উৎসকে আইআর নির্গমকদের 8 পর্যন্ত চালু এবং বন্ধ করতে দেয়। আইআর এমিটার থেকে সর্বাধিক অ্যাম্পারেজ পেতে আমরা সিরিজের আইআর এমিটারের সাথে 10 ওম প্রতিরোধক ব্যবহার করি।

তৃতীয় সার্কিট একটি মাল্টিপ্লেক্সার ব্যবহার করে ফটোডায়োড থেকে একাধিক ইনপুট গ্রহণ করে এবং একটি ডাটা সিগন্যালে আউটপুট পাঠায়। একটি মাল্টিপ্লেক্সার এমন একটি ডিভাইস যা আপনি যেসব ইনপুট থেকে পড়তে চান সেগুলি নিতে ব্যবহৃত হয় এবং সেই ইনপুটগুলি থেকে পড়ার জন্য কেবল কয়েকটি পিনের প্রয়োজন হয়। এটি বিপরীত (ডেমাল্টিপ্লেক্স) করতে পারে, কিন্তু আমরা এখানে সেই অ্যাপ্লিকেশনের জন্য এটি ব্যবহার করি না। তাই আমাদের ক্ষেত্রে আমরা একটি CD4051B মাল্টিপ্লেক্সার ব্যবহার করি যাতে ফটোডায়োড থেকে 8 টি সংকেত গ্রহণ করা যায় এবং সেই সংকেতগুলি থেকে পড়ার জন্য আমাদের কেবল 3 টি ইনপুট প্রয়োজন। প্লাস আমরা 8 মাল্টিপ্লেক্সার পর্যন্ত ডেইজি চেইন করতে পারি (arduino শুধুমাত্র তাদের 8 পর্যন্ত পরিচালনা করতে পারে)। এর অর্থ হল আরডুইনো 3 টি ফটোডিওড সিগন্যাল থেকে মাত্র digital টি ডিজিটাল পিন থেকে পড়তে পারে। ফোটোডায়োডগুলো ওরিয়েন্টেড রিভার্স বায়াসড, যার মানে হল পজিটিভ ভোল্টেজ সোর্স এর সাথে পজিটিভ লিড যুক্ত হয়ে স্বাভাবিক দিকে ওরিয়েন্টেড না হয়ে আমরা পজিটিভ ভোল্টেজ সোর্সে নেগেটিভ লিড অর্পণ করি। এটি কার্যকরভাবে ফটোডায়োডগুলিকে ফটো রেজিস্টারে পরিণত করে, যা এটি যে পরিমাণ আলোর প্রাপ্তি তার উপর নির্ভর করে প্রতিরোধের পরিবর্তন করে। আমরা তারপর একটি অত্যন্ত প্রতিরোধী 1 MOhms প্রতিরোধক মাটিতে যোগ করে photodiodes এর বিভিন্ন প্রতিরোধের উপর নির্ভরশীল একটি ভোল্টেজ পড়ার জন্য একটি ভোল্টেজ বিভাজক তৈরি করি। এটি আমাদের ফোটোডিওডগুলি কতটা আইআর আলো পায় তার উপর নির্ভর করে আরডুইনোতে উচ্চ এবং নিম্ন ভোল্টেজ গ্রহণ করতে দেয়।

আমি এই নকশাটি অন্য একজনের কাছ থেকে অনুসরণ করেছি যিনি এখানে এটি করেছেন: https://www.instructables.com/Infrared-Proximity-S… সেই ডিজাইনে তারা একটি 47pF ক্যাপাসিটরও যোগ করেছে, যেমনটি আমরা 1 MOhm রোধকারী থেকে করেছি ফটোডায়োড দিয়ে ভোল্টেজ ডিভাইডার তৈরি করতে ব্যবহৃত হয়। তিনি এটি যুক্ত করার কারণটি ছিল কারণ তিনি একটি পিডব্লিউএম সংকেত দিয়ে আইআর নির্গমনকারীদেরকে ওঠানামা করছেন এবং এটি করার ফলে ফটোডায়োডগুলি থেকে একটি ছোট ভোল্টেজ ড্রপ ঘটে যখন আইআর এমিটারগুলি অবিলম্বে চালু হয়। এটি ফটো ডায়োডগুলিকে প্রতিরোধ ক্ষমতা পরিবর্তন করে এমনকি যখন এটি কোনও বস্তু থেকে বেশি আইআর আলো গ্রহণ করে না তখনও কারণ আইআর নির্গমনকারীরা ফোটোডোডগুলির মতো একই 5V শক্তি উৎস ভাগ করে নেয়। ক্যাপাসিটরটি আইআর এমিটার চালু এবং বন্ধ করার সময় ভোল্টেজ ড্রপ ছিল না তা নিশ্চিত করতে ব্যবহৃত হয়েছিল। আমি মূলত এই একই কৌশল করার পরিকল্পনা করেছি, কিন্তু এটি পরীক্ষা করার জন্য সময় শেষ হয়ে গেছে, তাই পরিবর্তে আমি সবসময় আইআর emitters ছেড়ে। আমি ভবিষ্যতে এটি পরিবর্তন করতে চাই, কিন্তু যতক্ষণ না আমি কোড এবং সার্কিটটি নতুন করে ডিজাইন করি, ততক্ষণ পিসিবিকে সব সময় আইআর লাইট জ্বালানোর জন্য ডিজাইন করা হয়েছে, এবং আমি যাইহোক ক্যাপাসিটারগুলি রেখেছি। আপনি যদি এই PCB নকশাটি ব্যবহার করেন তবে আপনার ক্যাপাসিটরের প্রয়োজন হবে না, কিন্তু আমি PCB- এর আরেকটি সংস্করণ চালু করতে যাচ্ছি যা শিফট রেজিস্টারে একটি অতিরিক্ত ইনপুট গ্রহণ করে যা আপনাকে IR emitters চালু এবং বন্ধ করার অনুমতি দেবে। এটি বিদ্যুত ব্যবহারে অনেক সাশ্রয় করবে।

আপনি আপনার আরডুইনোতে পরীক্ষার জন্য একটি প্রোটোটাইপ সেটআপের জন্য সংযুক্ত অ্যানিমেটেড ডায়াগ্রামগুলি পরীক্ষা করতে পারেন। প্রতিটি সার্কিটের জন্য আরও বিস্তারিত রঙিন পরিকল্পনা রয়েছে যা ইলেকট্রনিক ডিভাইসগুলির সেটআপ এবং ওরিয়েন্টেশনের রূপরেখা দেয়। সংযুক্ত পিসিবি স্কিম্যাটিক -এ, আমাদের মোট 4 টি সার্কিট, 2 টি সার্কিট যা আইআর এমিটার চালু করতে ব্যবহৃত হয় এবং 2 টি সার্কিট ফটোডায়োড থেকে পড়তে হয়। তারা পিসিবি 2 গ্রুপের উপর ভিত্তি করে একে অপরের পাশে 1 টি আইআর এমিটার সার্কিট এবং 1 ফটোডিওড সার্কিট নিয়ে গঠিত, যাতে 8 টি নোডের 2 টি কলাম একক পিসিবিতে রাখা যায়। আমরা দুটি সার্কিটকে একসাথে ডেইজি চেইন করে থাকি, তাই আরডুইনো থেকে তিনটি পিন দুটি শিফট রেজিস্টার নিয়ন্ত্রণ করতে পারে এবং 3 টি অতিরিক্ত পিন বোর্ডের দুটি মাল্টিপ্লেক্সারকে নিয়ন্ত্রণ করতে পারে। অতিরিক্ত PCB- তে ডেইজি চেইন করতে সক্ষম হওয়ার জন্য একটি অতিরিক্ত আউটপুট হেডার আছে।

প্রোটোটাইপিংয়ের জন্য আমি কয়েকটি সংস্থান অনুসরণ করেছি:

  • https://lastminuteengineers.com/74hc595-shift-regi…
  • https://techtutorialsx.com/2016/02/08/using-a-uln2…
  • https://tok.hakynda.com/article/detail/144/cd4051be…

ধাপ 3: নোডে সোল্ডার ওয়্যার

নোডের কাছে সোল্ডার ওয়্যার
নোডের কাছে সোল্ডার ওয়্যার
নোডের কাছে সোল্ডার ওয়্যার
নোডের কাছে সোল্ডার ওয়্যার
নোডের কাছে সোল্ডার ওয়্যার
নোডের কাছে সোল্ডার ওয়্যার
নোডের কাছে সোল্ডার ওয়্যার
নোডের কাছে সোল্ডার ওয়্যার

এখন যেহেতু আপনি বুঝতে পেরেছেন কিভাবে সার্কিটটি তৈরি করা হয়েছে, এগিয়ে যান এবং প্রতিটি নোডে তারগুলি সোল্ডার করুন। আমি সমান্তরাল (হলুদ এবং ধূসর তারের) এবং সিরিজ (কমলা তারের) মধ্যে ir emitters মধ্যে photodiodes soldered। আমি তখন সমান্তরালভাবে ফটোডায়োডগুলিতে একটি দীর্ঘ হলুদ তারের সোল্ডার করেছি যা 5V পাওয়ার উত্সের সাথে সংযুক্ত হবে এবং একটি নীল তার যা পিসিবি এর ফটোডিওড ইনপুটের সাথে সংযুক্ত হবে। আমি আইআর এমিটার সার্কিটে একটি দীর্ঘ লাল তারের সোল্ডার করেছি যা 5V পাওয়ার সোর্স এবং একটি কালো তারের সাথে সংযোগ করতে ব্যবহৃত হবে যা পিসিবি এর আইআর এমিটার ইনপুটের সাথে সংযুক্ত হবে। আমি প্রকৃতপক্ষে তারগুলিকে অল্প সময়ের মধ্যে শেষ করে দিয়েছি, তাই আমি শেষের প্রতিটি কলামে মাত্র 5 টি নোড সংযুক্ত করতে পারতাম (7 এর পরিবর্তে)। আমি পরে এটি ঠিক করার পরিকল্পনা করছি।

ধাপ 4: পিসিবি উপাদানগুলি বিক্রি করুন এবং এটি বোর্ডের সাথে সংযুক্ত করুন

পিসিবি উপাদানগুলি বিক্রি করুন এবং এটি বোর্ডের সাথে সংযুক্ত করুন
পিসিবি উপাদানগুলি বিক্রি করুন এবং এটি বোর্ডের সাথে সংযুক্ত করুন
পিসিবি উপাদানগুলি বিক্রি করুন এবং এটি বোর্ডের সাথে সংযুক্ত করুন
পিসিবি উপাদানগুলি বিক্রি করুন এবং এটি বোর্ডের সাথে সংযুক্ত করুন
পিসিবি উপাদানগুলি বিক্রি করুন এবং এটি বোর্ডের সাথে সংযুক্ত করুন
পিসিবি উপাদানগুলি বিক্রি করুন এবং এটি বোর্ডের সাথে সংযুক্ত করুন

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

এখানে আপনাকে কেবল পিসিবিতে উপাদানগুলি সোল্ডার করার জন্য পিসিবি পরিকল্পিত অনুসরণ করতে হবে এবং তারপর এটি সম্পন্ন হলে, পিসিবি বোর্ডে বিক্রি করুন। আমি 5V পাওয়ার সিগন্যাল সংযুক্ত করার জন্য বাহ্যিক সার্কিট বোর্ড ব্যবহার করেছি, যা আমি সব হলুদ এবং লাল তারে বিতরণ করেছি। অন্তর্দৃষ্টিতে, আমার এত দীর্ঘ লাল এবং হলুদ তারের প্রয়োজন ছিল না এবং নোডগুলিকে একে অপরের সাথে সংযুক্ত করতে পারতাম (তাদের একটি সাধারণ বহিরাগত সার্কিট বোর্ডের সাথে সংযুক্ত করার পরিবর্তে)। এটি সত্যিই বোর্ডের পিছনে বিশৃঙ্খলার পরিমাণ হ্রাস করবে।

যেহেতু আমার ws2812b এর 8 সারি এবং 12 টি কলাম ছিল, তাই আমি 7 টি সারি এবং 11 টি নোডের নোড (মোট 77 টি নোড) দিয়ে শেষ করেছি। ধারণাটি হল পিসিবির একপাশে নোডের এক কলামের জন্য এবং অন্য দিকটি অন্য কলামের জন্য ব্যবহার করা। তাই যেহেতু আমার 11 টি কলাম ছিল, আমার 6 টি পিসিবি দরকার (শেষটি কেবলমাত্র একটি গ্রুপের উপাদানগুলির প্রয়োজন)। যেহেতু আমি তারগুলি খুব ছোট করেছি, আমি কেবল 55 টি নোড, 11 টি কলাম এবং 5 টি সারি সংযুক্ত করতে পারি। আপনি ছবিতে দেখতে পারেন, আমি একটি ভুল করেছি এবং বোর্ডে কাঁচা তারগুলি বিক্রি করেছি, যা তারগুলি যথেষ্ট পাতলা হলে ঠিক হবে, কিন্তু আমার ক্ষেত্রে সেগুলি খুব মোটা ছিল। এর মানে হল আমি প্রতিটি আইআর এমিটার ইনপুট এবং ফটোডিওড ইনপুটের জন্য একে অপরের খুব কাছাকাছি তারের শেষ হয়ে যাচ্ছি, তাই সমস্ত তারের শর্টিং থেকে অনেক ডিবাগিং ঘটছে। ভবিষ্যতে আমি সংযোজকগুলি ব্যবহার করতে যাচ্ছি যাতে পিসিবিকে বোর্ডের তারের সাথে সংযুক্ত করা যায় যাতে শর্টস এড়ানো যায় এবং জিনিস পরিষ্কার করা যায়।

যেহেতু Arduino শুধুমাত্র 8 টি শিফট রেজিস্টার এবং মাল্টিপ্লেক্সার পর্যন্ত ডেইজি চেইন করতে পারে, তাই আমি দুটি পৃথক চেইন তৈরি করেছি, একটি প্রথম 8 টি কলাম এবং অন্যটি বাকি 3 টি কলাম নিয়েছে। আমি তখন প্রতিটি শৃঙ্খলকে অন্য পিসিবির সাথে সংযুক্ত করেছি যার মাত্র 2 টি মাল্টিপ্লেক্সার ছিল, যাতে আমি সেই দুটি মাল্টিপ্লেক্সার থেকে মাল্টিপ্লেক্সার ডেটা সিগন্যালের প্রতিটি চেইন আরডুইনোতে পড়তে পারি। এই দুই মাল্টিপ্লেক্সারও ছিল ডেইজি শৃঙ্খলিত। এর মানে হল যে arduino তে মোট 16 টি আউটপুট সিগন্যাল এবং 2 টি এনালগ ইনপুট ব্যবহার করা হয়েছিল: ws2812b leds নিয়ন্ত্রণ করার জন্য 1 আউটপুট সিগন্যাল, শিফট রেজিস্টারের প্রথম চেইনের জন্য 3 আউটপুট সিগন্যাল, মাল্টিপ্লেক্সারের প্রথম চেইনের জন্য 3 আউটপুট সিগন্যাল, শিফট রেজিস্টারের দ্বিতীয় চেইনের জন্য output টি আউটপুট সিগন্যাল, মাল্টিপ্লেক্সারের দ্বিতীয় চেইনের জন্য output টি আউটপুট সিগন্যাল, ২ টি মাল্টিপ্লেক্সারের জন্য output টি আউটপুট সিগন্যাল যা প্রতিটি পিসিবি ডেটা সিগন্যালকে একত্রিত করে এবং সবশেষে ২ টি সামগ্রিক মাল্টিপ্লেক্সার থেকে প্রতিটি ডাটা সিগন্যালের জন্য ২ টি এনালগ ইনপুট।

ধাপ 5: কোড পর্যালোচনা করুন

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

আপনি আমার ব্যবহৃত কোডটি এখানে খুঁজে পেতে পারেন:

শীর্ষে আমি arduino পিন সংজ্ঞায়িত করি যা PCB এর প্রতিটি অংশের সাথে সংযুক্ত হবে। সেটআপ পদ্ধতিতে, আমি মাল্টিপ্লেক্সারদের জন্য আউটপুট পিন সেট করি, IR emitters চালু করি, একটি বেসভাল অ্যারে সেট করি যা প্রতিটি ফটোডিওডের জন্য পরিবেষ্টিত আলো পড়ার উপর নজর রাখে এবং FastLED আরম্ভ করে যা ws2812b লেডগুলিতে লিখবে। লুপ পদ্ধতিতে, আমরা ws2812b স্ট্রিপে থাকা এলইডিগুলির তালিকা পুনরায় সেট করি। তারপর আমরা মাল্টিপ্লেক্সার শৃঙ্খলে ফটোডায়োড থেকে মান পড়ি, এবং ws2812b এলইডি সেট করে থাকি যদি নোডের ফোটোডিওড থেকে পড়া একটি নির্দিষ্ট সংজ্ঞায়িত প্রান্তিকের কাছাকাছি থাকে যা পরিবেষ্টিত আলো রিডিংগুলির মূল মান থেকে। নোডের কোন পরিবর্তন হলে যে LED চালু থাকা উচিত তা আমরা LED রেন্ডার করি। অন্যথায়, এটি গতিশীল রাখার জন্য কিছু পরিবর্তন না হওয়া পর্যন্ত এটি লুপিং রাখে।

কোডটি সম্ভবত উন্নত করা যেতে পারে এবং আমি এটি করতে চাইছি, কিন্তু টেবিলে কোনো বস্তু রাখার পর লাইট জ্বালানোর সময় থেকে প্রায় 1-2 সেকেন্ড বিলম্ব হয়। আমি বিশ্বাস করি যে অন্তর্নিহিত সমস্যা হল FastLED টেবিলে 96 টি এলইডি রেন্ডার করতে কিছু সময় নেয় এবং কোডটি লুপ করে টেবিল থেকে 77 টি ইনপুট পড়তে হয়। আমি এই কোডটি 8 টি এলইডি দিয়ে চেষ্টা করেছি এবং এটি প্রায় তাত্ক্ষণিক বলে মনে করেছি, কিন্তু এলইডিগুলির মিষ্টি স্পটটি খুঁজছি যা এই কোডের সাথে কাজ করবে এবং প্রায় তাত্ক্ষণিক হবে, সেইসাথে কোডটি উন্নত করবে।

ধাপ 6: Arduino চালু করুন

Arduino চালু করুন!
Arduino চালু করুন!
Arduino চালু করুন!
Arduino চালু করুন!
Arduino চালু করুন!
Arduino চালু করুন!

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

প্রস্তাবিত: