Përmbajtje:

Matjet e Dritës dhe Ngjyrës Me Pimoroni Enviro: bit për mikro: bit: 5 hapa
Matjet e Dritës dhe Ngjyrës Me Pimoroni Enviro: bit për mikro: bit: 5 hapa

Video: Matjet e Dritës dhe Ngjyrës Me Pimoroni Enviro: bit për mikro: bit: 5 hapa

Video: Matjet e Dritës dhe Ngjyrës Me Pimoroni Enviro: bit për mikro: bit: 5 hapa
Video: Орхидеи ЖИВУТ В ТЕМНОТЕ? КАК ПОМЕРИТЬ КОЛИЧЕСТВО СВЕТА для ОРХИДЕИ? ФИТОЛАМПЫ или БЕЛЫЙ СВЕТ? 2024, Nëntor
Anonim
Matjet e Dritës dhe Ngjyrës Me Pimoroni Enviro: bit për Mikro: bit
Matjet e Dritës dhe Ngjyrës Me Pimoroni Enviro: bit për Mikro: bit
Matjet e Dritës dhe Ngjyrës Me Pimoroni Enviro: bit për Mikro: bit
Matjet e Dritës dhe Ngjyrës Me Pimoroni Enviro: bit për Mikro: bit
Matjet e Dritës dhe Ngjyrës Me Pimoroni Enviro: bit për Mikro: bit
Matjet e Dritës dhe Ngjyrës Me Pimoroni Enviro: bit për Mikro: bit

Unë kisha punuar më parë në disa pajisje që lejojnë matjen e dritës dhe ngjyrave dhe mund të gjeni shumë për teorinë pas matjeve të tilla, udhëzimet këtu dhe këtu.

Pimoroni kohët e fundit ka lëshuar enviro: bit, një shtesë për mikro: bit, që vjen me një mikrofon MEMS për matjen e nivelit të tingullit, një sensor të temperaturës/lagështisë/presionit të ajrit BME280 dhe një sensor të dritës dhe ngjyrave TCS3475 (RGBC). Përveç kësaj ka dy LED të vendosura në anët e sensorit të ngjyrave, duke lejuar matjen e ngjyrës së objekteve nga drita e reflektuar. Ndërtimi i një mjeti vetë për të kryer këto matje nuk ka qenë kurrë më i lehtë.

Këtu do të doja të përshkruaja sesi enviro: bit mund të përdoret për matjet e ngjyrave dhe dritës dhe skriptin MakeCode që ju lejon të kryeni këto. Kombinimi i mikro: bit dhe enviro: bit është një pajisje e bukur dhe e lirë për të demonstruar parimet e matjeve shkencore në praktikë dhe për të luajtur me to.

Ky udhëzues është pjesë e konkursit "Rainbow". Nëse ju pëlqen, ju lutemi jepni votën tuaj. Faleminderit

Hapi 1: Materialet e përdorura

Mikro: bit, 13 GBP në Pimoroni.

Pimoroni Enviro: bit, 20 GBP në Pimoroni.

Fuqia Pimoroni: bit, 6 GBP në Piomoroni. Ju gjithashtu mund të përdorni pako baterie ose një LiPo për mikro: bit

Blloku i mostrës së filtrit të ngjyrave Rosco Cinegel. Unë e mora nga Modulor, Berlin.

Gota plastike me ngjyrë IKEA. IKEA, Berlin.

Lule të egra. Një livadh në Potsdam-Golm.

Hapi 2: Skenari MakeCode/JavaScript

Pimoroni ka zhvilluar një bibliotekë për Enviro: bit, si për mjedisin e kodimit MakeCode/JavaScript ashtu edhe për MicroPython. Unë këtu kam përdorur MakeCode, pasi skriptet mund të ngarkohen drejtpërdrejt në mikro: bit dhe lejon kodimin e bllokut.

Skenari lexon vlerat e kanaleve të kuqe, jeshile dhe blu (RGB) dhe të qartë (C). Të parat jepen në vlerat nga 0 në 255, të dytat në të gjithë gamën nga 0 në rreth 61000.

Gama e kanalit të qartë është shumë e gjerë dhe lejon matje nga drita e ndritshme e ditës në një dhomë të errët.

Deri tani nuk i kuptoj të gjitha detajet e funksionit të matjes së ngjyrave, por supozoj se ato kanë zbatuar disa mekanizma korrigjimi dhe normalizimi.

Në fillim, merren vlerat e të katër kanaleve. Për të qenë në gjendje të shfaqni rezultatet në matricën LED 5x5, vlerat e matura përdoren për të vendosur rezultatet në kazanët 5 (RGB) ose 10 (C), të cilët përfaqësohen nga një LED në njërën (R, G, B) ose dy rreshta (C).

Në rastin e RGB, shkallëzimi është linear dhe madhësia e intervalit të secilës kosh është 51 njësi e gjerë. Në rastin e C, shkallëzimi është logaritmik mbi 10 hapa (log3, kështu që çdo hap është 3-fishi i mëparshëm). Kjo ju lejon të shfaqni kushte shumë të zbehta dhe shumë të ndritshme njësoj.

Shtypja e butonit A shfaq vlerat R, G dhe B në numra, duke shtypur B vlerën C. A+B aktivizon LED dhe B do t'i mbyllë ato.

le bR = 0 // kazanët

le bG = 0 le bB = 0 le bS = 0 le bC = 0 le bCx = 0 le S = 0 // vlerat e matura le C = 0 le B = 0 le G = 0 le R = 0 bazë. përherë (() => {if (input.buttonIsPressed (Button. AB)) {envirobit.setLEDs (envirobit. OnOff. On)} tjetër nëse (input.buttonIsPressed (Button. A)) {Basic.showString ("R:" + R + "G:" + G + "B:" + B)} tjetër nëse (input.buttonIsPressed (Button. B)) {Basic.showString ("C:" + C) envirobit.setLEDs (envirobit. OnOff. Off)}} tjetër {bazë.pushim (100) R = envirobit.getRed () G = envirobit.getGreen () B = envirobit.getBlue () C = envirobit.getLight () bC = 5 bCx = 5 nëse (R> = 204) { // binning, max 255 bR = 4} tjetër nëse (R> = 153) {bR = 3} tjetër nëse (R> = 102) {bR = 2} tjetër nëse (R> = 51) {bR = 1} tjetër {bR = 0} nëse (G> = 204) {bG = 4} tjetër nëse (G> = 153) {bG = 3} tjetër nëse (G> = 102) {bG = 2} tjetër nëse (G> = 51) {bG = 1} tjetër {bG = 0} nëse (B> = 204) {bB = 4} tjetër nëse (B> = 153) {bB = 3} tjetër nëse (B> = 102) {bB = 2} ndryshe nëse (B> = 51) {bB = 1} tjetër {bB = 0} nëse (C> = 60000) {// Ngopja bCx = 4} tjetër nëse (C> = 20000) {bCx = 3} tjetër nëse (C> = 6600) {bCx = 2} tjetër nëse (C> = 2200) {bCx = 1} tjetër nëse (C> = 729) {bCx = 0} tjetër nëse (C> = 243) {bC = 4} tjetër nëse (C> = 81) {bC = 3} tjetër nëse (C> = 27) {bC = 2} përndryshe nëse (C> = 9) {bC = 1} tjetër {bC = 0} // shkruani në led Basic.clearScreen () if (bCx <5) {led.plot (1, bCx)} tjetër {led.plot (0, bC)} led.plot (2, bR) led.plot (3, bG) led.plot (4, bB)}})

Hapi 3: Marrja e Matjeve RGB: Modaliteti i Transmetimit të Dritës

Marrja e matjeve RGB: Modaliteti i dritës së transmetuar
Marrja e matjeve RGB: Modaliteti i dritës së transmetuar
Marrja e matjeve RGB: Modaliteti i dritës së transmetuar
Marrja e matjeve RGB: Modaliteti i dritës së transmetuar
Marrja e matjeve RGB: Modaliteti i dritës së transmetuar
Marrja e matjeve RGB: Modaliteti i dritës së transmetuar
Marrja e matjeve RGB: Modaliteti i dritës së transmetuar
Marrja e matjeve RGB: Modaliteti i dritës së transmetuar

Siç u tha më parë, ekzistojnë dy mënyra të matjes së ngjyrave: spektroskopia e dritës së transmetuar dhe reflektuar. Në modalitetin e dritës së transmetuar, drita kalon përmes një filtri me ngjyrë ose tretësirë në sensor. Në matjet e dritës së reflektuar, drita e emetuar p.sh. nga LEDs reflektohet nga një objekt dhe zbulohet nga sensori.

Vlerat RGB shfaqen më pas në rreshtat e 3 -të deri në të 5 -të të matricës LED mikro: bit 5x5, me LED -të e sipërme që përfaqësojnë të ulëta, LED -et e ulëta vlerat e larta.

Për eksperimentet e treguara këtu në matjet e dritës së transmetuar kam përdorur dritën e ditës dhe kam vendosur filtra me ngjyrë nga një paketë mostre Rosco para sensorit. Ju mund t'i shihni efektet në ekran, veçanërisht në kanalin e kuq. Hidhini një sy fotove dhe krahasoni modelet.

Për të lexuar vlerat aktuale, thjesht shtypni butonin A.

Hapi 4: Drita e reflektuar RGB dhe Matjet e Shkëlqimit

Matja e dritës së reflektuar RGB dhe matjet e shkëlqimit
Matja e dritës së reflektuar RGB dhe matjet e shkëlqimit
Drita e reflektuar RGB dhe Matjet e Shkëlqimit
Drita e reflektuar RGB dhe Matjet e Shkëlqimit
Drita e reflektuar RGB dhe Matjet e Shkëlqimit
Drita e reflektuar RGB dhe Matjet e Shkëlqimit

Për matjet e dritës së reflektuar ndeza LED -të (butoni [A+B]) dhe vendosa disa pjesë të kupave të fëmijëve të IKEA -s me ngjyra të ndezura para sensorit. Siç mund të shihet nga fotografitë, vlerat e RGB po ndryshojnë siç pritej.

Për matjet e shkëlqimit, vlerat e ulëta shfaqen në të parën, vlerat e larta në rreshtin e dytë. Vlera të ulëta në ato të sipërme, vlera më të larta nga LED -të e ulët. Për të lexuar vlerën e saktë, shtypni butonin B.

Hapi 5: Matjet e Reflektuara të Dritës: Lule

Matjet e reflektuara të dritës: Lule
Matjet e reflektuara të dritës: Lule
Matjet e reflektuara të dritës: Lule
Matjet e reflektuara të dritës: Lule
Matjet e reflektuara të dritës: Lule
Matjet e reflektuara të dritës: Lule
Matjet e reflektuara të dritës: Lule
Matjet e reflektuara të dritës: Lule

Unë mora disa lule të egra nga një livadh dhe u përpoqa të bëja disa matje ngjyrash mbi to. Ishte lulekuqe, lule misri, napë ngjyrë kafe, argjile e murit dhe një gjethe dilandeloni. Vlerat e RGB ishin [R, G, B]:

  • asnjë [92, 100, 105]
  • lulekuqe (e kuqe) [208, 98, 99]
  • lule misri (blu) [93, 96, 138]
  • napë kafe (jargavan) [122, 97, 133]
  • mur harkweed (e verdhë) [144, 109, 63]
  • gjethe luleradhiqe (jeshile) [164, 144, 124]

E cila i përshtatet pritshmërive, të paktën për tre bimët e para. Për të shfaqur ngjyrat nga vlerat, mund të përdorni një kalkulator të ngjyrave, si ai këtu.

Recommended: