فهرست مطالب:
- مرحله 1: مواد مورد استفاده
- مرحله 2: اسکریپت MakeCode/JavaScript
- مرحله 3: اندازه گیری RGB: حالت نور منتقل شده
- مرحله 4: RGB نور منعکس شده و اندازه گیری روشنایی
- مرحله 5: اندازه گیری نور منعکس شده: گل
تصویری: اندازه گیری نور و رنگ با Pimoroni Enviro: بیت برای میکرو: بیت: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
من قبلاً بر روی برخی از دستگاهها کار می کردم که اندازه گیری نور و رنگ را امکان پذیر می کند و ممکن است در مورد نظریه ای که در پشت چنین اندازه گیری هایی وجود دارد ، دستورالعمل های اینجا و اینجا را بیابید.
پیمورونی به تازگی enviro: bit ، یک افزودنی برای micro: bit را عرضه کرده است که همراه با میکروفون MEMS برای اندازه گیری سطح صدا ، سنسور دما/رطوبت/فشار هوا BME280 و سنسور نور و رنگ TCS3475 (RGBC) ارائه می شود. علاوه بر این ، دو LED در کناره های سنسور رنگ قرار گرفته است که به شما امکان می دهد رنگ اجسام را با نور منعکس شده اندازه گیری کنید. ساختن ابزاری برای انجام این اندازه گیری ها هرگز ساده تر نبوده است.
در اینجا می خواهم نحوه enviro را توضیح دهم: بیت می تواند برای اندازه گیری رنگ و نور و اسکریپت MakeCode که امکان انجام این کارها را دارد استفاده شود. ترکیبی از micro: bit و enviro: bit یک دستگاه خوب و ارزان برای نشان دادن اصول اندازه گیری های علمی و بازی با آنها است.
این دستورالعمل بخشی از مسابقه "رنگین کمان" است. اگر دوست دارید ، لطفاً رای خود را به آن بدهید. با تشکر
مرحله 1: مواد مورد استفاده
Micro: bit ، 13 GBP در Pimoroni.
Pimoroni Enviro: بیت ، 20 GBP در Pimoroni.
قدرت Pimoroni: بیت ، 6 GBP در Piomoroni. همچنین می توانید از بسته های باتری یا LiPo برای micro: bit استفاده کنید
بلوک نمونه فیلتر رنگی Rosco Cinegel. من خودم را از Modulor ، برلین گرفتم.
لیوان های پلاستیکی رنگی IKEA. ایکیا ، برلین
گلهای وحشی. علفزار در پوتسدام گلم.
مرحله 2: اسکریپت MakeCode/JavaScript
Pimoroni یک کتابخانه برای Enviro ایجاد کرده است: بیت ، هم برای محیط برنامه نویسی MakeCode/JavaScript و هم برای MicroPython. من در اینجا از MakeCode استفاده کرده ام ، زیرا اسکریپت ها را می توان مستقیماً در micro: bit بارگذاری کرد و امکان کدگذاری بلوک را فراهم می کند.
اسکریپت مقادیر کانال های قرمز ، سبز و آبی (RGB) و روشن (C) را می خواند. اولین ها در مقادیر 0 تا 255 ، دومی در دامنه کامل از 0 تا حدود 61000 ارائه شده است.
محدوده کانال شفاف بسیار گسترده است و امکان اندازه گیری از روشنایی روز روشن تا یک اتاق تاریک را فراهم می کند.
در حال حاضر من تمام جزئیات عملکرد اندازه گیری رنگ را درک نمی کنم ، اما فرض می کنم که آنها برخی از مکانیسم های تصحیح و عادی سازی را اجرا کرده اند.
در ابتدا مقادیر هر چهار کانال گرفته می شود. برای نمایش نتایج روی ماتریس LED 5x5 ، از مقادیر اندازه گیری شده برای قرار دادن نتایج در سطل های 5 (RGB) یا 10 (C) استفاده می شود که با یک LED در یکی (R ، G ، B) یا دو ردیف (C)
در مورد RGB ، مقیاس بندی خطی است و اندازه فاصله هر سطل 51 واحد عرض دارد. در مورد C ، مقیاس بندی در 10 مرحله لگاریتمی است (log3 ، بنابراین هر مرحله 3 برابر مرحله قبل است). این به شما امکان می دهد شرایط بسیار کم نور و بسیار روشن را به طور یکسان نمایش دهید.
با فشردن دکمه A مقادیر R ، G و B در اعداد نمایش داده می شود ، و مقدار B را با C فشار می دهیم. A+B LED ها را فعال می کند و B آنها را خاموش می کند.
اجازه دهید bR = 0 // سطل زباله
اجازه دهید bG = 0 اجازه دهید bB = 0 اجازه دهید bS = 0 اجازه دهید bC = 0 اجازه دهید bCx = 0 اجازه دهید S = 0 // مقادیر اندازه گیری شده اجازه دهید C = 0 اجازه دهید B = 0 اجازه دهید G = 0 اجازه دهید R = 0 اساسی. برای همیشه (() => {if (input.buttonIsPressed (Button. AB)) {envirobit.setLEDs (envirobit. OnOff. On)} else if (input.buttonIsPressed (Button. A)) {basic.showString ("R:" + R + "G:" + G + "B:" + B)} دیگر اگر (input.buttonIsPressed (Button. B)) {basic.showString ("C:" + C) envirobit.setLEDs (envirobit. OnOff. Off)}} else {basic.pause (100) R = envirobit.getRed () G = envirobit.getGreen () B = envirobit.getBlue () C = envirobit.getLight () bC = 5 bCx = 5 if (R> = 204) { // binning ، حداکثر 255 bR = 4} else if (R> = 153) {bR = 3} else if (R> = 102) {bR = 2} else if (R> = 51) {bR = 1} دیگر {bR = 0} if (G> = 204) {bG = 4} else if (G> = 153) {bG = 3} else if (G> = 102) {bG = 2} else if (G> = 51) {bG = 1} else {bG = 0} if (B> = 204) {bB = 4} else if (B> = 153) {bB = 3} else if (B> = 102) {bB = 2} else if (B> = 51) {bB = 1} else {bB = 0} if (C> = 60000) {// اشباع bCx = 4} else if (C> = 20000) {bCx = 3} else if (C> = 6600) {bCx = 2} else if (C> = 2200) {bCx = 1} دیگری اگر (C> = 729) {bCx = 0} else if (C> = 243) {bC = 4} else if (C> = 81) {bC = 3} else if (C> = 27) {bC = 2} else if (C> = 9) {bC = 1} else {bC = 0} // بنویسید به led Basic.clearScreen () if (bCx <5) {led.plot (1، bCx)} else {led.plot (0 ، bC)} led.plot (2 ، bR) led.plot (3 ، bG) led.plot (4 ، bB)}})
مرحله 3: اندازه گیری RGB: حالت نور منتقل شده
همانطور که قبلاً ذکر شد ، دو حالت اندازه گیری رنگ وجود دارد: طیف سنجی نوری منتقل شده و منعکس شده. در حالت نور منتقل شده ، نور از طریق یک فیلتر رنگی یا محلول به سنسور می رود. در اندازه گیری های نور منعکس شده ، نور ساطع شده به عنوان مثال از LED ها توسط یک شی منعکس می شود و توسط سنسور تشخیص داده می شود.
سپس مقادیر RGB در ردیف های 3 تا 5 میکرو نمایش داده می شود: ماتریس LED 5x5 بیتی ، با LED های بالا نشان دهنده کم ، LED های پایین مقادیر بالا.
برای آزمایشات نشان داده شده در اندازه گیری های نور منتقل شده ، از نور روز استفاده کردم و فیلترهای رنگی را از یک نمونه نمونه Rosco در مقابل سنسور قرار دادم. شما می توانید جلوه ها را روی صفحه نمایش ، به ویژه در کانال قرمز مشاهده کنید. به تصاویر نگاه کنید و الگوها را مقایسه کنید.
برای خواندن مقادیر واقعی ، کافی است دکمه A را فشار دهید.
مرحله 4: RGB نور منعکس شده و اندازه گیری روشنایی
برای اندازه گیری نور منعکس شده ، LED ها را روشن کردم (دکمه [A+B]) و چند تکه از رنگ های روشن فنجان های کودکان IKEA را جلوی سنسور قرار دادم. همانطور که از تصاویر مشخص است ، مقدار RGB در حال تغییر است.
برای اندازه گیری روشنایی ، مقادیر کم در اول ، مقادیر بالا در ردیف دوم نمایش داده می شود. مقادیر پایین در بالا ، مقادیر بالاتر توسط LED های پایین تر. برای خواندن مقدار دقیق ، دکمه B را فشار دهید.
مرحله 5: اندازه گیری نور منعکس شده: گل
من چند گل وحشی را از یک چمنزار برداشتم و سعی کردم اندازه گیری های رنگی را روی آنها انجام دهم. این خشخاش ، گل گندم ، قهوه ای ، قهوه ای دیواری و برگ دیلندلون بود. مقادیر RGB [R ، G ، B] بود:
- هیچ [92 ، 100 ، 105]
- خشخاش (قرمز) [208 ، 98 ، 99]
- گل ذرت (آبی) [93 ، 96 ، 138]
- چوب قهوه ای (بنفش) [122 ، 97 ، 133]
- دیوار هارکویید (زرد) [144 ، 109 ، 63]
- برگ قاصدک (سبز) [164 ، 144 ، 124]
که مطابق انتظارات است ، حداقل برای سه گیاه اول. برای نمایش رنگها از مقادیر ، می توانید از ماشین حساب رنگ ، مانند آنچه در اینجا استفاده می کنید ، استفاده کنید.
توصیه شده:
اندازه گیری زمان (ساعت اندازه گیری نوار): 5 مرحله (همراه با تصاویر)
Time Time (Tape Measure Clock): برای این پروژه ، ما (Alex Fiel & amp؛ Anna Lynton) یک ابزار اندازه گیری روزانه تهیه کردیم و آن را به ساعت تبدیل کردیم! طرح اولیه این بود که یک نوار اندازه گیری موجود را موتور کنید. در ساخت آن ، ما تصمیم گرفتیم که راحت تر بتوانیم پوسته خودمان را ایجاد کنیم
اندازه گیری ولتاژ اندازه جیبی DIY: 5 مرحله
اندازه گیری ولتاژ DC اندازه جیبی DIY: در این مقاله به شما نشان می دهم که چگونه می توانید ولتاژ DC اندازه جیب DIY را با زنگ پیزو برای بررسی مدار توسط خودتان بسازید. تنها چیزی که نیاز دارید دانش اولیه در زمینه الکترونیک و کمی زمان است. اگر س questionال یا مشکلی دارید می توانید
میکرو: ربات - میکرو: بیت: 20 مرحله
Micro: Bot - Micro: Bit: برای خود میکرو بسازید: Bot! این یک ربات Micro: Bit با سونار برای رانندگی مستقل است ، یا اگر دو Micro دارید: Bits ، رادیو کنترل رانندگی
سرعت باد را با مدارهای میکرو: بیت و Snap: 10 مرحله اندازه گیری کنید
اندازه گیری سرعت باد با میکرو: بیت و مدارهای ضربه محکم و ناگهانی: داستان همانطور که من و دخترم در حال کار بر روی بادسنج پروژه آب و هوا بودیم ، تصمیم گرفتیم با درگیر کردن برنامه نویسی ، سرگرمی را افزایش دهیم. بادسنج چیست؟ احتمالاً از شما می پرسید & quot؛ بادسنج & quot؛ است. خوب ، این دستگاه اندازه گیری باد است
اندازه گیری فشار با میکرو: بیت: 5 مرحله (همراه با تصاویر)
فشار را با میکرو خود اندازه بگیرید: بیت: در ادامه دستورالعمل توصیف یک دستگاه آسان ساخت و ارزان برای انجام اندازه گیری فشار و نشان دادن قانون بویل ، با استفاده از میکرو: بیت در ترکیب با سنسور فشار/دما BMP280 آمده است. در حالی که این سرنگ/فشار s