সুচিপত্র:

মাইক্রো: বিট নয়েজ লেভেল ডিটেক্টর: Ste টি ধাপ
মাইক্রো: বিট নয়েজ লেভেল ডিটেক্টর: Ste টি ধাপ

ভিডিও: মাইক্রো: বিট নয়েজ লেভেল ডিটেক্টর: Ste টি ধাপ

ভিডিও: মাইক্রো: বিট নয়েজ লেভেল ডিটেক্টর: Ste টি ধাপ
ভিডিও: 30 ওয়াট এমপ্লিফায়ার বানান মাত্র 100 টাকায় - সবচেয়ে ছোট্ট এমপ্লিফায়ার কিন্তু সাউন্ড অনেক বেশি 2024, নভেম্বর
Anonim
মাইক্রো: বিট নয়েজ লেভেল ডিটেক্টর
মাইক্রো: বিট নয়েজ লেভেল ডিটেক্টর
মাইক্রো: বিট নয়েজ লেভেল ডিটেক্টর
মাইক্রো: বিট নয়েজ লেভেল ডিটেক্টর
মাইক্রো: বিট নয়েজ লেভেল ডিটেক্টর
মাইক্রো: বিট নয়েজ লেভেল ডিটেক্টর

মাইক্রো: বিট এবং পিমোরোনি এনভায়রো: বিট -এর উপর ভিত্তি করে নয়েজ লেভেল ডিটেক্টরের জন্য এটি একটি ছোট উদাহরণ।

পরিবেশে মাইক্রোফোন: বিট শব্দের স্তর সনাক্ত করে, এবং ফলস্বরূপ মান থেকে 5x5 LED ম্যাট্রিক্সের একটি অবস্থান গণনা করা হয় এবং সংশ্লিষ্ট LED সক্রিয় হয়। পরিমাপ করা সর্বোচ্চ মানগুলি সংরক্ষিত থাকে এবং LED ম্যাট্রিক্সে প্রদর্শিত থাকে।

মানগুলি সংখ্যায়ও প্রদর্শিত হতে পারে।

সুতরাং এটি মূলত একটি খুব সহজ শব্দ স্তর সনাক্তকরণ সরঞ্জাম, যেমন শ্রেণীকক্ষ পরীক্ষার জন্য।

মাইক্রোতে সেন্সর দ্বারা সনাক্ত করা প্রকৃত এবং সর্বোচ্চ মান প্রদর্শন করার জন্য বর্ণিত পদ্ধতি: বিট 5x5 LED ম্যাট্রিক্স তাপমাত্রা, আর্দ্রতা বা চাপ হিসাবে অন্যান্য পরামিতিগুলির জন্যও ব্যবহার করা যেতে পারে।

ধাপ 1: ব্যবহৃত যন্ত্রাংশ এবং সফটওয়্যার

হার্ডওয়্যার:

  • একটি মাইক্রো: বিট
  • একটি Pimoroni পরিবেশ: বিট - শব্দ, আলো এবং রঙ, এবং চাপ/তাপমাত্রা/আর্দ্রতা (Pimoroni এ 20 GBP) জন্য তিনটি সেন্সর সঙ্গে আসে
  • একটি Pimoroni শক্তি: বিট - ডিভাইস ফর্ম ব্যাটারি ক্ষমতা (,চ্ছিক, বা মাইক্রোবিট ক্ষমতা অন্য কোন উপায়, Pimoroni এ 6 GBP)

সফটওয়্যার:

  • মাইক্রোসফট মেককোড
  • পিমোরোনি পরিবেশ: বিট মেককোড এক্সটেনশন

স্ক্রিপ্টটি আপনার মাইক্রো: বিটে লোড করতে, প্রদত্ত হেক্স-ফাইলটি আপনার মাইক্রো: বিটে একটি এনভিরো: বিট সংযুক্ত করে অনুলিপি করুন।

ধাপ 2: কোড

কোডটি ব্লক মোডে মাইক্রোসফট মেককোড ব্যবহার করে লেখা হয়েছে, এনভিরো: বিট এক্সটেনশন ব্যবহার করে।

ফাংশন envirobit.getSoundLevel () সেন্সর থেকে সাউন্ড লেভেল পড়ে, 0 থেকে 443 এর মান ফেরত দেয়।

ধ্রুবক সংকেত_ম্যাক্স LED ম্যাট্রিক্সে প্রদর্শিত গতিশীল পরিসরের সর্বাধিক মান সংজ্ঞায়িত করে, উপরের মানগুলি একটি সংকেত_ম্যাক্স হিসাবে বিবেচিত হবে। এটি আপনাকে আপনার অ্যাপ্লিকেশনের জন্য ডিভাইসের সংবেদনশীলতা অনুকূল করতে দেয়।

একটি পরিমাপ বৃত্তে সনাক্তকৃত সর্বাধিক মানটি ভ্যারিয়েন্ট noise_max এ সংরক্ষিত থাকে এবং LED ম্যাট্রিক্সে প্রদর্শিত থাকে।

"A" বোতাম টিপে শব্দ_ম্যাক্স পুনরায় সেট করে এবং পর্দা পরিষ্কার করে, "B" বোতাম টিপে প্রকৃত সংখ্যা হিসাবে পরিমাপ করা শব্দ মান প্রদর্শন করা হয়।

মান প্রদর্শন করার জন্য, সংকেত_ম্যাক্সের নীচের মানগুলি একটি "LED" দ্বারা প্রতিনিধিত্ব করা 25 "বিন" এ স্থাপন করা হয়, যা 0 (উপরের বাম) থেকে শুরু করে 24 (নিচের ডানদিকে)। তারপর x/y অবস্থান গণনা করা হয় এবং সংশ্লিষ্ট LED চালু করা হয়। সংকেত_ম্যাক্সের উপরে মানগুলি বিন 24 এ রাখা হয়

let noise_x = 0let signal_max = 0 let noise_5 = 0 let noise_25 = 0 let noise_max = 0 basic.showString ("Noise") noise_max = 0 noise_25 = 0 noise_5 = 0 signal_max = 250 basic.forever (function () {while (input).buttonIsPressed (Button. B)) {basic.showNumber (envirobit.getSoundLevel ()) basic.showString ("-")} if (input.buttonIsPressed (Button. A)) {noise_max = 0 basic.clearScreen ()} noise_25 = Math.floor (envirobit.getSoundLevel () / signal_max * 25) যদি (noise_25> 24) {noise_25 = 24} noise_5 = Math.floor (noise_25 / 5) noise_x = noise_25 - noise_5 * 5 led.plot (noise_x, noise_5) basic.pause (200) if (noise_25 noise_max) {noise_max = noise_25}})

ধাপ 3: একটি তাপমাত্রার জন্য একটি কোড (আর্দ্রতা, চাপ) সেন্সর সহ ন্যূনতম/সর্বোচ্চ ইন্ডেন্টিফায়ার

একটি তাপমাত্রার জন্য একটি কোড (আর্দ্রতা, চাপ) সেন্সর সহ মিনি/ম্যাক্স ইনডেন্টিফায়ার
একটি তাপমাত্রার জন্য একটি কোড (আর্দ্রতা, চাপ) সেন্সর সহ মিনি/ম্যাক্স ইনডেন্টিফায়ার

এখানে আপনি পরিবেশের জন্য একটি কোড পাবেন: বিট তাপমাত্রা ফাংশন।

পরামিতি signal_min এবং signal_max LED ম্যাট্রিক্সে প্রদর্শিত সর্বনিম্ন এবং সর্বোচ্চ তাপমাত্রা (*C) সেট করে। এখানে signal_main = 5 এবং signal_max = 30 এর ফলাফল 5 এবং 6*C উপরের বাম LED (0, 0) এবং 28/29*C নিম্ন ডান LED (4, 4) দ্বারা প্রতিনিধিত্ব করে।

অপ্টিমাইজেশনের জন্য জায়গা আছে: বর্তমান কোডের ক্রমবর্ধমান এবং তাপমাত্রা হ্রাসের সাথে সাথে LEDs চালু বা বন্ধের চিহ্ন খুঁজে পাচ্ছে। অন্যদিকে এটি বর্তমান তাপমাত্রার প্রবণতা (পতন/বৃদ্ধি) পড়তে দেয়, কারণ বর্তমান মানটি জ্বলজ্বলে LED দ্বারা নির্দেশিত হয়।

GetHemidity () বা getPressure () দ্বারা getTemperature () প্রতিস্থাপন করা এবং সে অনুযায়ী signal_min এবং signal_max মান সমন্বয় করা (যেমন 0/100 % যথাক্রমে 950/1150 hPA) LED ম্যাট্রিক্সে এই প্যারামিটারগুলি প্রদর্শন করার অনুমতি দেবে।

যাক Temp_x = 0let Temp_5 = 0 let signal_delta = 0 let Temp_25 = 0 let Temp_Min = 0 let signal_min = 0 let Temp_Max = 0 let signal_max = 0 basic.showString ("Temp") signal_max = 30 signal_min = 5 signal_delta = signal_max - signal_min Temp_Max = 0 Temp_Min = 24 basic.forever (function () {if (input.buttonIsPressed (Button. A)) {Temp_Max = 0 Temp_Min = 24 basic.clearScreen ()} while (input.buttonIsPressed (Button. B)) { basic.showNumber (Math.round (envirobit.getTemperature ())) basic.showString ("C")} Temp_25 = Math.floor ((envirobit.getTemperature () - signal_min) / signal_delta * 25) if (Temp_25> 24) {Temp_25 = 24} if (Temp_25 <0) {Temp_25 = 0} Temp_5 = Math.floor (Temp_25 / 5) Temp_x = Temp_25 - Temp_5 * 5 led.plot (Temp_x, Temp_5) basic.pause (100) if (Temp_25 Temp_Min) {led.unplot (Temp_x, Temp_5)} if (Temp_25> Temp_Max) {Temp_Max = Temp_25} if (Temp_25 <Temp_Min) {Temp_Min = Temp_25}})

প্রস্তাবিত: