فهرست مطالب:

اندازه گیری نور و رنگ با Pimoroni Enviro: بیت برای میکرو: بیت: 5 مرحله
اندازه گیری نور و رنگ با Pimoroni Enviro: بیت برای میکرو: بیت: 5 مرحله

تصویری: اندازه گیری نور و رنگ با Pimoroni Enviro: بیت برای میکرو: بیت: 5 مرحله

تصویری: اندازه گیری نور و رنگ با Pimoroni Enviro: بیت برای میکرو: بیت: 5 مرحله
تصویری: نور چیست و وضعیت حرکت و سرعت آن چگونه است؟ 2024, جولای
Anonim
اندازه گیری نور و رنگ با Pimoroni Enviro: bit برای Micro: bit
اندازه گیری نور و رنگ با Pimoroni Enviro: bit برای Micro: bit
اندازه گیری نور و رنگ با Pimoroni Enviro: bit برای Micro: bit
اندازه گیری نور و رنگ با Pimoroni Enviro: bit برای Micro: bit
اندازه گیری نور و رنگ با Pimoroni Enviro: bit برای Micro: bit
اندازه گیری نور و رنگ با Pimoroni Enviro: bit برای Micro: bit

من قبلاً بر روی برخی از دستگاهها کار می کردم که اندازه گیری نور و رنگ را امکان پذیر می کند و ممکن است در مورد نظریه ای که در پشت چنین اندازه گیری هایی وجود دارد ، دستورالعمل های اینجا و اینجا را بیابید.

پیمورونی به تازگی 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: حالت نور منتقل شده

اندازه گیری RGB: حالت نور منتقل شده
اندازه گیری RGB: حالت نور منتقل شده
اندازه گیری RGB: حالت نور منتقل شده
اندازه گیری RGB: حالت نور منتقل شده
اندازه گیری RGB: حالت نور منتقل شده
اندازه گیری RGB: حالت نور منتقل شده
اندازه گیری RGB: حالت نور منتقل شده
اندازه گیری RGB: حالت نور منتقل شده

همانطور که قبلاً ذکر شد ، دو حالت اندازه گیری رنگ وجود دارد: طیف سنجی نوری منتقل شده و منعکس شده. در حالت نور منتقل شده ، نور از طریق یک فیلتر رنگی یا محلول به سنسور می رود. در اندازه گیری های نور منعکس شده ، نور ساطع شده به عنوان مثال از LED ها توسط یک شی منعکس می شود و توسط سنسور تشخیص داده می شود.

سپس مقادیر RGB در ردیف های 3 تا 5 میکرو نمایش داده می شود: ماتریس LED 5x5 بیتی ، با LED های بالا نشان دهنده کم ، LED های پایین مقادیر بالا.

برای آزمایشات نشان داده شده در اندازه گیری های نور منتقل شده ، از نور روز استفاده کردم و فیلترهای رنگی را از یک نمونه نمونه Rosco در مقابل سنسور قرار دادم. شما می توانید جلوه ها را روی صفحه نمایش ، به ویژه در کانال قرمز مشاهده کنید. به تصاویر نگاه کنید و الگوها را مقایسه کنید.

برای خواندن مقادیر واقعی ، کافی است دکمه A را فشار دهید.

مرحله 4: RGB نور منعکس شده و اندازه گیری روشنایی

RGB نور منعکس شده و اندازه گیری روشنایی
RGB نور منعکس شده و اندازه گیری روشنایی
RGB نور منعکس شده و اندازه گیری روشنایی
RGB نور منعکس شده و اندازه گیری روشنایی
RGB نور منعکس شده و اندازه گیری روشنایی
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]

که مطابق انتظارات است ، حداقل برای سه گیاه اول. برای نمایش رنگها از مقادیر ، می توانید از ماشین حساب رنگ ، مانند آنچه در اینجا استفاده می کنید ، استفاده کنید.

توصیه شده: