جدول المحتويات:
- الخطوة 1: المواد المستخدمة
- الخطوة 2: البرنامج النصي MakeCode / JavaScript
- الخطوة 3: أخذ قياسات RGB: وضع الضوء المنقول
- الخطوة 4: انعكاس الضوء RGB وقياسات السطوع
- الخطوة 5: قياسات الضوء المنعكس: الزهور
فيديو: قياسات الضوء واللون باستخدام Pimoroni Enviro: بت للمايكرو: بت: 5 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
كنت أعمل على بعض الأجهزة التي تسمح بقياسات الضوء والألوان سابقًا ، وقد تجد الكثير حول النظرية الكامنة وراء هذه القياسات والموجهات هنا وهنا.
أصدرت 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: وضع الضوء المنقول
كما هو موضح من قبل ، هناك نوعان من قياسات الألوان: التحليل الطيفي للضوء المنعكس والمرسل. في وضع الضوء المرسل ، يمر الضوء من خلال مرشح ملون أو محلول إلى المستشعر. في قياسات الضوء المنعكس ، الضوء المنبعث على سبيل المثال من LEDs ينعكس بواسطة كائن ويكتشفه المستشعر.
ثم يتم عرض قيم RGB في الصفوف من الثالث إلى الخامس من مصفوفة micro: bit 5x5 LED ، حيث تمثل مصابيح LED العلوية منخفضة ، بينما تمثل مصابيح LED السفلية القيم العالية.
بالنسبة للتجارب الموضحة هنا على قياسات الضوء المرسلة ، استخدمت ضوء النهار ووضعت مرشحات ملونة من حزمة عينة روسكو أمام المستشعر. يمكنك رؤية التأثيرات على الشاشة ، خاصة في القناة الحمراء. الق نظرة على الصور وقارن بين الأنماط.
لقراءة القيم الفعلية ، فقط اضغط على الزر A.
الخطوة 4: انعكاس الضوء 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]
وهو ما يتناسب مع التوقعات ، على الأقل بالنسبة للمصانع الثلاثة الأولى. لعرض الألوان من القيم ، يمكنك استخدام حاسبة الألوان ، مثل تلك الموجودة هنا.
موصى به:
استخدام Pimoroni Enviro + FeatherWing مع Adafruit Feather NRF52840 Express: 8 خطوات
استخدام Pimoroni Enviro + FeatherWing مع Adafruit Feather NRF52840 Express: إن Pimoroni Enviro + FeatherWing عبارة عن لوحة مليئة بأجهزة الاستشعار المصممة للعمل مع سلسلة لوحات Adafruit Feather. إنه مكان مفيد للبدء به لأي شخص مهتم بالرصد البيئي ، وتلوث الغلاف الجوي ، وتعقب البيانات. أنا
قياس شدة الضوء باستخدام BH1715 و Raspberry Pi: 5 خطوات
قياس شدة الضوء باستخدام BH1715 و Raspberry Pi: بالأمس كنا نعمل على شاشات LCD ، وأثناء العمل عليها أدركنا أهمية حساب شدة الضوء. شدة الضوء ليست مهمة فقط في المجال المادي لهذا العالم ولكن لها دورها الجيد في علم الأحياء
قياسات مستشعر التيار ACS724 باستخدام Arduino: 4 خطوات
قياسات مستشعر التيار ACS724 باستخدام Arduino: في هذه التعليمات سنقوم بتجربة توصيل مستشعر تيار ACS724 بأردوينو لإجراء القياسات الحالية. في هذه الحالة ، يكون المستشعر الحالي من مجموعة +/- 5A ينتج 400 مللي فولت / أمبير. يحتوي Arduino Uno على ADC 10 بت ، لذا أسئلة جيدة
مفتاح الضوء الذي يتم التحكم فيه عن بعد بتقنية البلوتوث - التعديل التحديثي. مفتاح الضوء لا يزال يعمل ، لا توجد كتابة إضافية: 9 خطوات (بالصور)
مفتاح الضوء الذي يتم التحكم فيه عن بعد بتقنية البلوتوث - التعديل التحديثي. مفتاح الضوء لا يزال يعمل ، لا توجد كتابة إضافية: تحديث 25 نوفمبر 2017 - للحصول على إصدار عالي الطاقة من هذا المشروع يمكنه التحكم في كيلووات من الحمل ، راجع التعديل التحديثي للتحكم في BLE لأحمال الطاقة العالية - لا يلزم وجود أسلاك إضافية - تحديث 15 نوفمبر 2017 & ndash؛ بعض لوحات BLE / أكوام البرامج تقدم
مفتاح الضوء المنشط بالحركة مع مستشعر الضوء: 5 خطوات
مفتاح الضوء المنشط بالحركة مع مستشعر الضوء: يحتوي مفتاح الضوء المنشط بالحركة على العديد من التطبيقات سواء في المنزل أو في المكتب. ومع ذلك ، فقد أضاف هذا ميزة دمج مستشعر الضوء ، بحيث لا يمكن تشغيل هذا الضوء إلا في الليل