جدول المحتويات:

قياسات الضوء واللون باستخدام 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

كنت أعمل على بعض الأجهزة التي تسمح بقياسات الضوء والألوان سابقًا ، وقد تجد الكثير حول النظرية الكامنة وراء هذه القياسات والموجهات هنا وهنا.

أصدرت Pimoroni مؤخرًا enviro: bit ، وهو ملحق إضافي لـ micro: bit ، والذي يأتي مع ميكروفون MEMS لقياسات مستوى الصوت ، ومستشعر درجة الحرارة / الرطوبة / ضغط الهواء BME280 ومستشعر الضوء واللون TCS3475 (RGBC). بالإضافة إلى ذلك ، يوجد نوعان من مصابيح LED موضوعة على جانبي مستشعر الألوان ، مما يسمح بقياس لون الكائنات من خلال الضوء المنعكس. لم يكن بناء أداة بنفسك لإجراء هذه القياسات أسهل من أي وقت مضى.

أود هنا أن أصف كيف يمكن استخدام enviro: bit لقياسات اللون والضوء ونص MakeCode الذي يسمح بإجراء هذه القياسات. مزيج من micro: bit و enviro: bit هو جهاز لطيف وغير مكلف لإثبات مبادئ القياسات العلمية بشكل عملي واللعب بها.

هذه التعليمات جزء من مسابقة "قوس قزح". إذا كنت ترغب في ذلك ، يرجى إعطائها صوتك

الخطوة 1: المواد المستخدمة

مايكرو: بت ، 13 جنيه إسترليني في Pimoroni.

Pimoroni Enviro: بت ، 20 جنيه إسترليني في Pimoroni.

قوة Pimoroni: بت ، 6 جنيهات إسترلينية في Piomoroni. يمكنك أيضًا استخدام حزم البطاريات أو LiPo لـ micro: bit

كتلة عينة مرشح الألوان Rosco Cinegel. حصلت على خاصتي من Modulor ، برلين.

أكواب بلاستيكية ملونة من ايكيا. ايكيا ، برلين.

الزهور البرية. مرج في بوتسدام-غولم.

الخطوة 2: البرنامج النصي MakeCode / JavaScript

طور Pimoroni مكتبة لـ Enviro: bit ، لكل من بيئة تشفير MakeCode / JavaScript و MicroPython. لقد استخدمت MakeCode هنا ، حيث يمكن تحميل البرامج النصية مباشرة إلى micro: bit وتسمح بتشفير الكتل.

يقرأ البرنامج النصي قيم الأحمر والأخضر والأزرق (RGB) والقنوات الواضحة (C). يتم إعطاء القيم الأولى بقيم من 0 إلى 255 ، والثانية في النطاق الكامل من 0 إلى حوالي 61000.

نطاق القناة الواضحة واسع جدًا ويسمح بالقياسات من ضوء النهار الساطع إلى غرفة مظلمة.

حتى الآن لا أفهم كل تفاصيل وظيفة قياس اللون ، لكنني أفترض أن لديهم بعض آليات التصحيح والتطبيع التي تم تنفيذها.

في البداية ، يتم أخذ قيم جميع القنوات الأربع. لتكون قادرًا على عرض النتائج على مصفوفة LED 5 × 5 ، يتم استخدام القيم المقاسة لوضع النتائج في 5 (RGB) أو 10 (C) صناديق ، والتي يتم تمثيلها بواسطة مؤشر LED واحد في أي واحد (R ، G ، B) أو صفين (ج).

في حالة RGB ، يكون القياس خطيًا ويكون حجم الفاصل الزمني لكل حاوية بعرض 51 وحدة. في حالة C ، يكون القياس لوغاريتميًا على مدى 10 خطوات (log3 ، لذا فإن كل خطوة هي 3 أضعاف السابقة). هذا يسمح بعرض ظروف خافتة ومشرقة للغاية على حد سواء.

يؤدي الضغط على الزر A إلى عرض قيم R و G و B بالأرقام ، مع الضغط على قيمة B. ينشط 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 basic.forever (() => {if (input.buttonIsPressed (Button. AB)) {envirobit.setLEDs (envirobit. OnOff. On)} else if (input.buttonIsPressed (Button. A)) {basic.showString ("R:" + R + "G:" + G + "B:" + B)} else if (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، max 255 bR = 4} else if (R> = 153) {bR = 3} else if (R> = 102) {bR = 2} else if (R> = 51) {bR = 1} else {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} وإلا إذا (B> = 51) {bB = 1} وإلا {bB = 0} إذا (C> = 60000) {// Saturation 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: وضع الضوء المنقول

كما هو موضح من قبل ، هناك نوعان من قياسات الألوان: التحليل الطيفي للضوء المنعكس والمرسل. في وضع الضوء المرسل ، يمر الضوء من خلال مرشح ملون أو محلول إلى المستشعر. في قياسات الضوء المنعكس ، الضوء المنبعث على سبيل المثال من LEDs ينعكس بواسطة كائن ويكتشفه المستشعر.

ثم يتم عرض قيم RGB في الصفوف من الثالث إلى الخامس من مصفوفة micro: bit 5x5 LED ، حيث تمثل مصابيح LED العلوية منخفضة ، بينما تمثل مصابيح LED السفلية القيم العالية.

بالنسبة للتجارب الموضحة هنا على قياسات الضوء المرسلة ، استخدمت ضوء النهار ووضعت مرشحات ملونة من حزمة عينة روسكو أمام المستشعر. يمكنك رؤية التأثيرات على الشاشة ، خاصة في القناة الحمراء. الق نظرة على الصور وقارن بين الأنماط.

لقراءة القيم الفعلية ، فقط اضغط على الزر A.

الخطوة 4: انعكاس الضوء RGB وقياسات السطوع

انعكاس الضوء RGB وقياسات السطوع
انعكاس الضوء RGB وقياسات السطوع
انعكاس الضوء RGB وقياسات السطوع
انعكاس الضوء RGB وقياسات السطوع
انعكاس الضوء RGB وقياسات السطوع
انعكاس الضوء RGB وقياسات السطوع

بالنسبة لقياسات الضوء المنعكس ، قمت بتشغيل مصابيح LED (الزر [A + B]) ووضعت بعض القطع ذات الألوان الزاهية من أكواب أطفال ايكيا أمام المستشعر. كما يتضح من الصور ، تتغير قيم RGB كما هو متوقع.

بالنسبة لقياسات السطوع ، يتم عرض القيم المنخفضة في القيم العالية الأولى في الصف الثاني. قيم منخفضة في القيم العلوية والأعلى بواسطة مصابيح LED السفلية. لقراءة القيمة الدقيقة ، اضغط على الزر B.

الخطوة 5: قياسات الضوء المنعكس: الزهور

قياسات الضوء المنعكس: الزهور
قياسات الضوء المنعكس: الزهور
قياسات الضوء المنعكس: الزهور
قياسات الضوء المنعكس: الزهور
قياسات الضوء المنعكس: الزهور
قياسات الضوء المنعكس: الزهور
قياسات الضوء المنعكس: الزهور
قياسات الضوء المنعكس: الزهور

قطفت بعض الزهور البرية من مرج وحاولت إجراء بعض قياسات الألوان عليها ، فقد كانت الخشخاش وزهرة الذرة وعشب الناب البني وعشب نبات السرخس وورقة نبات الديلاندلون ، وكانت قيم RGB هي [R ، G ، B]:

  • لا شيء [92، 100، 105]
  • الخشخاش (أحمر) [208 ، 98 ، 99]
  • ردة الذرة (أزرق) [93 ، 96 ، 138]
  • knapweed البني (أرجواني) [122 ، 97 ، 133]
  • هاركويد الجدار (أصفر) [144 ، 109 ، 63]
  • ورقة الهندباء (خضراء) [164 ، 144 ، 124]

وهو ما يتناسب مع التوقعات ، على الأقل بالنسبة للمصانع الثلاثة الأولى. لعرض الألوان من القيم ، يمكنك استخدام حاسبة الألوان ، مثل تلك الموجودة هنا.

موصى به: