সুচিপত্র:

RPi 3 স্টারবোর্ড / কণা জেনারেটর: 6 ধাপ (ছবি সহ)
RPi 3 স্টারবোর্ড / কণা জেনারেটর: 6 ধাপ (ছবি সহ)

ভিডিও: RPi 3 স্টারবোর্ড / কণা জেনারেটর: 6 ধাপ (ছবি সহ)

ভিডিও: RPi 3 স্টারবোর্ড / কণা জেনারেটর: 6 ধাপ (ছবি সহ)
ভিডিও: EP1🙋‍♂️ Navegación a Vela en Solitario (+115 Millas) sin escalas. Como navegar con viento de popa 2024, জুলাই
Anonim
Image
Image
এলইডি বোর্ড একত্রিত করুন
এলইডি বোর্ড একত্রিত করুন

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

এই টিউটোরিয়ালটি আপনাকে দেখাবে কিভাবে রাস্পবেরি পাই 3 এবং কিছু আরজিবি ম্যাট্রিক্স প্যানেল ব্যবহার করে একটি কণা জেনারেটর ডিসপ্লে একত্রিত এবং সেট আপ করতে হয়। এটি আপনাকে এক থেকে দুই ঘন্টার মধ্যে নিতে হবে, এবং সমাপ্ত পণ্যটি প্রায় 30 "x8" (পাই সহ নয়) এবং প্রাচীর-মাউন্টযোগ্য হবে। এটি একটি লিভিং রুম, অফিস, গেম রুম, বা যেখানেই আপনি এটি রাখতে চান সেখানে একটি সুন্দর শীতল প্রসাধন তৈরি করে।

আপনি শুরু করার আগে, আপনার যা প্রয়োজন তা এখানে এবং আনুমানিক খরচগুলি কী:

  • Rpi 3 + SD Card + Case + পাওয়ার সাপ্লাই: $ 70 (Canakit থেকে, কিন্তু আপনি যদি সেগুলি আলাদাভাবে কিনে থাকেন তবে আপনি সম্ভবত সস্তা পেতে পারেন।)
  • 4x 32x32 RGB LED ম্যাট্রিক্স (বিশেষত p6 ইনডোর 1/16 স্ক্যান সহ): $ 80- $ 100 আলিবাবা বা Aliexpress এ পাঠানো হয়েছে; অ্যাডাফ্রুট বা স্পার্কফুনে $ 160।
  • অ্যাডাফ্রুট আরজিবি ম্যাট্রিক্স টুপি: $ 25
  • 5V 4A পাওয়ার সাপ্লাই: $ 15
  • 3D মুদ্রিত ক্লিপ: $ 1ish (এইগুলি প্যানেলগুলিকে সংযুক্ত করার এবং দেয়ালে ঝুলানোর জন্য; যদি আপনার কাছে 3D প্রিন্টারের অ্যাক্সেস না থাকে, তাহলে আপনি তাদের একসঙ্গে রাখার জন্য একটি ফুরিং স্ট্রিপ এবং হার্ডওয়্যার স্টোর থেকে কিছু বন্ধনী ব্যবহার করতে পারেন এটি প্রাচীর থেকে ঝুলিয়ে দিন। আমি এর জন্য ডিজাইন ফাইল বা.stls খুঁজে বের করার চেষ্টা করেছি, কিন্তু মনে হচ্ছে এগুলি পৃথিবী থেকে চলে গেছে। যদিও ক্লিপগুলি মডেল করা বেশ সহজ, যদিও।)
  • 14x M4x10 বোল্ট: $ 5ish
  • আরজিবি ম্যাট্রিক্সের জন্য চারটি 4x8 আইডিসি কেবল এবং তিনটি পাওয়ার ক্যাবল (আমি জানি না এগুলিকে কী বলা হয়!)। এইগুলি আপনার LED প্যানেলের সাথে অন্তর্ভুক্ত করা উচিত ছিল।
  • মোট: প্রায় $ 200, দিন বা নিন।

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

এটি অনুমান করে যে আপনার লিনাক্সে কমান্ড লাইন থেকে কীভাবে কাজ করতে হয় তার একটি প্রাথমিক জ্ঞান আছে এবং কোড ওয়াকথ্রু অনুমান করে যে আপনি পাইথনের মূল বিষয়গুলি জানেন (কিন্তু - তৈরি করতে সক্ষম হওয়ার জন্য আপনাকে কোড ওয়াকথ্রু অনুসরণ করতে হবে না এবং কণা জেনারেটর চালান।) যদি আপনি কোন ধাপে আটকে যান, তাহলে নির্দ্বিধায় একটি প্রশ্ন জিজ্ঞাসা করুন বা /r /raspberry_pi এ পোস্ট করুন (যা আমিও অনুমান করছি, এই নির্দেশের জন্য প্রধান শ্রোতা)

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

এলইডি বোর্ড একত্রিত করুন
এলইডি বোর্ড একত্রিত করুন

প্রথমত, আপনি পৃথক 32x32 LED প্যানেলগুলিকে একটি বড় 128x32 প্যানেলে একত্রিত করতে যাচ্ছেন। আপনাকে আপনার বোর্ডগুলি দেখতে হবে এবং সংযোগের আদেশ নির্দেশ করে এমন ছোট তীরগুলি খুঁজে পেতে হবে; আমার উপর তারা HUB75/2x8 IDC সংযোগকারীদের কাছাকাছি। বোর্ডের দৈর্ঘ্যের নিচে Rpi সংযোগ করবে (উপরের ছবিতে ডানদিকে) যে তীরগুলি নির্দেশ করে তা নিশ্চিত করুন।

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

যেহেতু আমার বোর্ডের সাথে অন্তর্ভুক্ত পাওয়ার ক্যাবলগুলি এত সংক্ষিপ্ত ছিল, আমাকে স্পেড টার্মিনালের প্রংগুলিকে অন্যের সংযোগকারীতে extendুকিয়ে একটি প্রসারিত করতে হয়েছিল (এটি বেশ সহজবোধ্য - আপনাকে কোদাল টার্মিনালগুলিকে কিছুটা ভিতরের দিকে বাঁকতে হতে পারে, কিন্তু আমি ' শুধুমাত্র একটি ছবি অন্তর্ভুক্ত করেছি)। আমি আমার বর্তমান-প্রসারিত LED বোর্ডের ডানদিকে দুটি সেট স্পেড টার্মিনাল এবং একটি 2x8 IDC সংযোগকারী দিয়ে শেষ করেছি।

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

সুতরাং - একবার আপনি সমস্ত প্যানেলগুলিকে ক্লিপ, 2x8 আইডিসি কেবল এবং পাওয়ার তারের সাথে সংযুক্ত করলে, আপনি পরবর্তী ধাপে যাওয়ার জন্য প্রস্তুত!

ধাপ 2: রাস্পবেরি পাই প্রস্তুত করুন

এরপরে, আপনি LED বোর্ডকে একপাশে সেট করতে যাচ্ছেন (আপাতত) এবং এটি চালানোর জন্য পাই 3 প্রস্তুত করুন। আমরা রাস্পবিয়ান স্ট্রেচ লাইট এবং হজেলারের আরজিবি ম্যাট্রিক্স লাইব্রেরি ব্যবহার করব (অ্যাডাফ্রুটের ম্যাট্রিক্স লাইব্রেরির পরিবর্তে, যা পুরানো এবং অনির্দিষ্ট।)

প্রথমে, আপনি একটি এসডি কার্ডে রাস্পবিয়ান লাইট ইমেজ লিখতে চাইবেন; একবার আপনি এটি সম্পন্ন করলে, এগিয়ে যান এবং একটি মনিটর এবং কীবোর্ডকে পাই এর সাথে সংযুক্ত করুন এবং এটি বুট করুন। (আপনি ssh বা একটি সিরিয়াল সংযোগকারীর মাধ্যমেও এই শিরোনামহীন কাজটি করতে পারেন, কিন্তু যদি আপনি এই পথে যাচ্ছেন তবে সম্ভবত আপনাকে এটি কিভাবে করতে হবে তা বলার দরকার নেই।) এর জন্য আপনার একটি ইন্টারনেট সংযোগ প্রয়োজন; আপনি যদি ওয়াইফাই পেয়ে থাকেন, তাহলে /etc/wpa_supplicant/wpa_supplicant.conf সম্পাদনা করে এবং wpa_cli -i wlan0 reconfigure চালিয়ে Pi কে আপনার ওয়্যারলেস নেটওয়ার্কের সাথে সংযুক্ত করুন। (যদি আপনি এটি কখনও না করেন তবে আপনি এখানে নির্দেশাবলী পেতে পারেন)।

একবার আপনি ইন্টারনেটে সংযুক্ত হয়ে গেলে, আমরা dpkg সংগ্রহস্থল সেটিংস আপডেট করব এবং নিম্নলিখিত কমান্ডগুলি চালিয়ে আমাদের প্রয়োজনীয় লাইব্রেরিগুলি ডাউনলোড করব:

sudo apt- আপডেট পান

sudo apt-get git python-dev python-pil ইনস্টল করুন

গিট ক্লোন

এখন আমাদের ম্যাট্রিক্স কোড কম্পাইল এবং ইনস্টল করতে হবে। সুতরাং আপনি লাইব্রেরি ধারণকারী ফোল্ডারে যাবেন:

cd rpi-rgb-led-matrix

এবং এটি কম্পাইল করুন (এটি এক মিনিট সময় নিতে পারে):

make && make build-python

এবং পাইথন বাইন্ডিং ইনস্টল করুন:

sudo make install-python

লাইব্রেরি কোড কম্পাইল করার সময় যদি আপনি কোন ত্রুটি পান, তাহলে ফিরে যান এবং নিশ্চিত করুন যে আপনি সঠিকভাবে python-dev এবং python-pil ইনস্টল করেছেন! পাইথন বাইন্ডিংগুলি ইনস্টল করা এই দুটি প্যাকেজ ছাড়া কম্পাইল হবে না।

/Boot/config.txt এডিট করে আপনার Pi এর সাউন্ড আউটপুট (অন-বোর্ড সাউন্ড ম্যাট্রিক্স কোডে হস্তক্ষেপ করে) নিষ্ক্রিয় করতে হবে। Dtparam = audio = on লেখা লাইনটি দেখুন এবং এটি dtparam = audio = off এ পরিবর্তন করুন।

যদি সবকিছু ঠিকঠাক সংকলিত হয় (আপনি Wstrict-protoypes সম্পর্কে কিছু সতর্কতা পাবেন) আপনার পাই ম্যাট্রিক্স বোর্ড চালানোর জন্য প্রস্তুত হওয়া উচিত। এগিয়ে যান এবং এটি বন্ধ করুন (এখন সুডো শাটডাউন), এটি আনপ্লাগ করুন এবং আমরা পরবর্তী ধাপে লাইট বোর্ডকে পাইতে সংযুক্ত করব।

ধাপ 3: পাই + ম্যাট্রিক্স হ্যাট + এলইডি বোর্ড সংযুক্ত করুন

Pi + Matrix Hat + LED বোর্ড সংযুক্ত করুন
Pi + Matrix Hat + LED বোর্ড সংযুক্ত করুন

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

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

একবার আপনি টুপিটি পেয়ে গেলে, একত্রিত LED বোর্ডের ডানদিকে Pi রাখুন (আবার বিদ্যুৎ সংযোগগুলি পরীক্ষা করুন, এবং নিশ্চিত করুন যে তীরগুলি বোর্ডের দৈর্ঘ্য থেকে Pi থেকে নির্দেশ করছে) এবং IDC সংযোগ করুন ম্যাট্রিক্স টুপি থেকে কেবল।

পরবর্তী, আপনি ম্যাট্রিক্স টুপি এর টার্মিনাল ব্লকে পাওয়ারের জন্য কোদাল টার্মিনালগুলিকে সংযুক্ত করতে চান। আপনি প্রতি পাশে দুটি কোদাল সংযোগকারী পেয়েছেন, কিন্তু তারা উভয় সেখানে জরিমানা করা উচিত। প্রথমে স্ক্রুগুলি আলগা করুন এবং - এটি না বলা উচিত - নিশ্চিত করুন যে আপনি 5V টার্মিনালগুলি লেবেলযুক্ত পাশে রেখেছেন (এটি লাল হওয়া উচিত, কিন্তু - আবার - আপনার সংযোগকারীগুলিকে দুবার পরীক্ষা করুন এবং অনুমান করবেন না যে তারা সঠিকভাবে তৈরি হয়েছে) এবং লেবেলযুক্ত পাশে GND টার্মিনাল (এগুলি কালো হওয়া উচিত) -। একবার তারা সেখানে প্রবেশ করলে, টার্মিনাল ব্লকের উপরে স্ক্রুগুলি শক্ত করুন এবং আপনার এমন কিছু থাকা উচিত যা এই ধাপের শিরোনাম চিত্রের মতো দেখাচ্ছে।

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

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

কিন্তু - মোড়ানো বা আবৃত - কোদাল টার্মিনালগুলি টার্মিনাল ব্লকের সাথে সংযুক্ত, এবং আমরা পরবর্তী ধাপে যাওয়ার জন্য প্রস্তুত।

ধাপ 4: RGB ম্যাট্রিক্স পরীক্ষা করুন

এখন যেহেতু আপনার পাই লাইট বোর্ডের সাথে সংযুক্ত, বোর্ডটি উল্টে দিন এবং পাইকে আবার চালু করুন। Pi প্লাগ ইন করার পরে আপনি ম্যাট্রিক্স টুপিটি শক্তি দিতে পারেন; যদি আপনি Pi এর আগে টুপিটি শক্তি দেন, তবে, Pi পর্যাপ্ত কারেন্ট না দিয়ে বুট করার চেষ্টা করবে, এবং তিক্তভাবে অভিযোগ করবে (এবং আপনাকে একটি কার্নেল আতঙ্ক দিতে পারে এবং মোটেও বুট করতে পারে না।)

যদি আপনার ম্যাট্রিক্স টুপি দিয়ে Pi বুট করতে সমস্যা হয়, তাহলে নিশ্চিত করুন যে আপনি Pi (2A+ ভাল হওয়া উচিত) এর জন্য যথেষ্ট পরিমাণে বিদ্যুৎ সরবরাহ ব্যবহার করছেন এবং টুপি এবং জন্য পাওয়ার সাপ্লাই উভয়ই প্লাগ করার চেষ্টা করুন Pii একই পাওয়ার স্ট্রিপ বা এক্সটেনশন কর্ডে, এবং তাদের একসঙ্গে পাওয়ার আপ।

একবার পাই বুট হয়ে গেলে, আমরা ম্যাট্রিক্স পরীক্ষা করার জন্য প্রস্তুত। পাইথন বাঁধাই নমুনাগুলি যেখানে যান (cd/rpi-rgb-led-matrix/bindings/python/sample) এবং নিম্নোক্ত কমান্ড দিয়ে ঘূর্ণমান ব্লক জেনারেটর ব্যবহার করে দেখুন

sudo./rotating-block-generator.py -m adafruit-hat --led-chain 4

আপনাকে এটিকে সুডো হিসাবে চালাতে হবে কারণ ম্যাট্রিক্স লাইব্রেরির শুরুতে হার্ডওয়্যারে নিম্ন স্তরের অ্যাক্সেস প্রয়োজন। -M সুনির্দিষ্ট করে যেভাবে প্যানেলগুলি পাই এর সাথে সংযুক্ত থাকে (এই ক্ষেত্রে, একটি অ্যাডাফ্রুট টুপি) এবং --led -chain নির্দিষ্ট করে -আপনি অনুমান করেছেন -আমরা কতগুলি প্যানেল একসাথে বেঁধে রেখেছি। প্রতি প্যানেলে সারি এবং কলাম উভয়ই ডিফল্ট 32, তাই আমরা সেখানে ভাল।

এখন - একবার আপনি প্রোগ্রামটি সম্পাদন করলে, দুটি (বা, সত্যিই, তিনটির মধ্যে একটি) জিনিস ঘটতে চলেছে:

  • কিছুই ঘটেনি
  • আপনি আপনার লাইট বোর্ডের মাঝখানে একটি সুন্দর ঘোরানো ব্লক পাবেন।
  • লাইট বোর্ড কাজ করে, উহ, আমি মনে করি, কিন্তু মনে হচ্ছে … অদ্ভুত (এর অর্ধেক সবুজ, কিছু সারি জ্বলছে না, ইত্যাদি)

যদি কিছু না ঘটে, অথবা যদি প্যানেলটি অদ্ভুত দেখায়, নমুনা প্রোগ্রাম থেকে বেরিয়ে আসার জন্য ctrl+c চাপুন, পাই বন্ধ করুন এবং আপনার সমস্ত সংযোগ পরীক্ষা করুন (আইডিসি কেবল, বিদ্যুৎ, নিশ্চিত করুন যে উভয় পাওয়ার সাপ্লাই প্লাগ ইন আছে ইত্যাদি) এছাড়াও নিশ্চিত করুন যে টুপিটি সঠিকভাবে সংযুক্ত রয়েছে; যদি এটি ঠিক না করে তবে এটি একটি প্যানেলে নামিয়ে নিন (এটি পরীক্ষা করার সময় --led-chain 1 ব্যবহার করতে ভুলবেন না) এবং দেখুন প্যানেলগুলির মধ্যে একটি খারাপ হতে পারে কিনা। যদি এটি কাজ না করে, hzeller এর সমস্যা সমাধানের টিপস দেখুন। যদি এখনও কাজ না করে, /r /raspberry_pi (অথবা Adafruit ফোরামগুলিতে পোস্ট করার চেষ্টা করুন, যদি আপনি Adafruit থেকে আপনার প্যানেল পেয়ে থাকেন, অথবা স্ট্যাক এক্সচেঞ্জ, ইত্যাদি, ইত্যাদি)

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

ধাপ 5: মাল্টিপ্লেক্সিং এবং স্ক্যান রেট (অথবা: কবরের রাস্তায় একটি ক্ষণস্থায়ী পরিবর্তন)

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

এটি কেন তা বোঝার জন্য, আমরা এই প্যানেলগুলি কীভাবে কাজ করে সে সম্পর্কে অ্যাডাফ্রুট এর বিবরণ থেকে ফিল বার্গেসের দিকে তাকিয়ে এক মিনিট সময় নেব। আপনি লক্ষ্য করবেন যে বার্গেস উল্লেখ করেছেন যে প্যানেলগুলি তাদের সমস্ত এলইডি একবারে জ্বলবে না - তারা সারির সেটগুলি আলোকিত করে। পিক্সেলে প্যানেলের উচ্চতা এবং যে সারির সংখ্যার সঙ্গে সঙ্গে আলো জ্বলে ওঠে তার মধ্যে সম্পর্ককে স্ক্যান রেট বলে। সুতরাং, উদাহরণস্বরূপ - 1/16 স্ক্যান সহ 32x32 প্যানেলে, দুটি সারি (1 এবং 17, 2 এবং 18, 3 এবং 19, ইত্যাদি) একবারে আলোকিত হয়, বোর্ডের নীচে সমস্ত পথ, এবং তারপর নিয়ামক পুনরাবৃত্তি করে । RGB ম্যাট্রিক্স চালানো বেশিরভাগ লাইব্রেরি প্যানেলের জন্য তৈরি করা হয় যেখানে স্ক্যানের হার পিক্সেলের উচ্চতার 1/2 হয় - অর্থাৎ, তারা একবারে দুটি সারি LEDs চালায়।

বহিরঙ্গন প্যানেলগুলি (এবং কিছু অভ্যন্তরীণ প্যানেল - অর্ডার করার আগে চশমাগুলি নিশ্চিত করুন) স্ক্যানের হারগুলি পিক্সেলের উচ্চতার 1/4, যার অর্থ তারা একবারে চারটি লাইন চালানোর আশা করে। এটি তাদের উজ্জ্বল করে তোলে (যা ভাল) কিন্তু অনেক স্ট্যান্ডার্ড কোড তাদের সাথে কাজ করে না (যা খারাপ)। এগুলি ছাড়াও, তারা অভ্যন্তরীণভাবে পিক্সেলগুলিকে ক্রমবর্ধমান করে রাখে, যার জন্য সঠিক পিক্সেলগুলি সম্বোধন করার জন্য সফ্টওয়্যারে x এবং y মান পরিবর্তন করা প্রয়োজন। কেন এইভাবে তৈরি করা হয়? আমার কোন ধারণা নাই. তুমি কি জানো? যদি তাই হয়, দয়া করে আমাকে বলুন। অন্যথায় এটি কেবল একটি রহস্যই থেকে যাবে।

সুতরাং, যদি আপনি এই অদ্ভুত বহিরঙ্গন প্যানেলগুলির মধ্যে একটি পেয়ে থাকেন তবে আপনি (সম্ভবত) ভাগ্যবান! এইচজেলার সম্প্রতি তার লাইব্রেরিতে এই ধরণের প্যানেলের সাধারণ কনফিগারেশনের জন্য সমর্থন যোগ করেছেন। আপনি প্রকল্পের জন্য github পৃষ্ঠায় এটি সম্পর্কে আরও পড়তে পারেন, কিন্তু আপনি নমুনা কোডে --led-multiplexing = {0, 1, 2, 3} পাস করতে পারেন অর্ধ-দৈর্ঘ্যের প্যানেলের দ্বি-দৈর্ঘ্যের চেইন) এবং এটি কাজ করা উচিত।

কিছু পিক্সেল রূপান্তর প্যাটার্ন আছে যা সমর্থিত নয়, যদিও - এবং (অনুমান কি) আমার প্যানেলগুলির মধ্যে একটি আছে! সুতরাং, আমাকে আমার নিজের রূপান্তর কোড লিখতে হয়েছিল (আমাকেও - যে কোনও কারণে - লাইব্রেরিকে বলতে হবে যে আমি আটটি 16x32 প্যানেল একসাথে বেঁধে রেখেছি)। যা নিম্নরূপ:

def transformPixels (j, k): effJ = j % 32

effK = k % 32

modY = k

modX = জে

#modX এবং modY হল সংশোধিত X এবং Y;

#effJ এবং effK নিশ্চিত করুন যে আমরা ধাক্কা দেওয়ার আগে 32x32 ম্যাট্রিক্সের মধ্যে রূপান্তর করি

যদি ((effJ)> 15):

modX = modX + 16

যদি ((effK)> 7):

modY = modY - 8

modX = modX + 16

যদি ((effK)> 15):

modX = modX - 16

যদি ((effK)> 23):

modY = modY - 8

modX = modX + 16

#তারপর, আমরা তাদের সঠিক অবস্থানে ঠেলে দিই (প্রতিটি x+32 একটি প্যানেল সরায়)

যদি (j> 31):

modX += 32

যদি (j> 63):

modX += 32

যদি (j> 95):

modX += 32

রিটার্ন (modX, modY)

যদি আপনার আমার মত একটি প্যানেল থাকে, এটি এটির জন্য কাজ করতে পারে। যদি তা না হয়, তাহলে আপনাকে আপনার নিজের লিখতে হবে - সুতরাং, আপনি জানেন, সৌভাগ্য এবং sশ্বর গতি।

ধাপ 6: স্টারবোর্ড প্রোগ্রাম (বা: ট্র্যাক এ ব্যাক এবং পিক্সেলের জন্য প্রস্তুত)

এখন যেহেতু আপনি আপনার ম্যাট্রিক্স চালু করেছেন এবং যাওয়ার জন্য প্রস্তুত, আপনাকে যা করতে হবে তা হল আপনার Pi তে স্টারবোর্ড প্রোগ্রামটি রাখা এবং এটি প্রস্তুত করার জন্য প্রস্তুত করা। নিশ্চিত করুন যে আপনি পাই ব্যবহারকারীর হোম ডিরেক্টরিতে আছেন (cd /home /pi) এবং নিম্নলিখিত কমান্ডটি চালান:

git ক্লোন

আপনার একটি নতুন ফোল্ডার, স্টারবোর্ড থাকা উচিত, যাতে তিনটি ফাইল রয়েছে: LICENSE.md, README.md এবং starboard_s16.py। স্টারবোর্ড প্রোগ্রামটি পাইথনের মাধ্যমে চালানোর চেষ্টা করুন:

সুডো পাইথন ।/starboard_s16.py

এবং আপনি বিভিন্ন গতিতে চলমান এবং বিভিন্ন হারে ক্ষয়কারী কণার একটি গুচ্ছ পেতে হবে। প্রতি 10, 000 টিক বা তার বেশি (আপনি এটি সম্পাদনা/পরিবর্তন করতে পাইথন স্ক্রিপ্টে যেতে পারেন) এটি মোড পরিবর্তন করবে (চারটি আছে: আরজিবি, এইচএসভি, রেইনবো এবং গ্রেস্কেল)।

সুতরাং, এখন একমাত্র কাজ বাকি আছে স্টারবোর্ড কোডটি স্টার্টআপে চালানো। আমরা এটি সম্পাদনা করে করব (sudo সহ) /etc/rc.local। আপনি যা করতে চান তা হ'ল স্ক্রিপ্টে "প্রস্থান 0" এর ঠিক আগে নিম্নলিখিত লাইন যুক্ত করুন:

python /home/pi/starboard/starboard_s16.py &

আপনি এটি করার পরে, পাইটি পুনরায় বুট করুন - একবার এটি বুটআপ ক্রমের মধ্য দিয়ে চলে গেলে, স্টারবোর্ড_ s16.py স্ক্রিপ্টটি শুরু হওয়া উচিত!

আপনি যদি স্ক্রিপ্টে ঘুরে বেড়াতে চান, তাহলে নির্দ্বিধায় এটি করুন - এটি GNU GPL 3.0 এর অধীনে লাইসেন্সপ্রাপ্ত। যদি স্ক্রিপ্টটি আপনার জন্য চালানো না হয়, অথবা আপনার এটি নিয়ে সমস্যা হয়, তাহলে নির্দ্বিধায় আমাকে জানাবেন বা গিথুবের একটি বাগ জমা দিন, এবং আমি এটি ঠিক করতে আমি কী করতে পারি তা দেখব!

(খুব) শেষ জিনিস যা আপনি করতে চান তা হল পাই -তে SSH সেট আপ করা, যাতে আপনি দূরবর্তী এবং নিরাপদে এটি বন্ধ করতে পারেন। আপনি / নিশ্চিতভাবে / আপনার পাসওয়ার্ড পরিবর্তন করতে চান (passwd কমান্ডের মাধ্যমে), এবং আপনি এখানে ssh (কমান্ড লাইন থেকে) সক্ষম করার জন্য নির্দেশাবলী খুঁজে পেতে পারেন।

প্রস্তাবিত: