Përmbajtje:
- Hapi 1: Materialet e përdorura
- Hapi 2: Skenari MakeCode/JavaScript
- Hapi 3: Marrja e Matjeve RGB: Modaliteti i Transmetimit të Dritës
- Hapi 4: Drita e reflektuar RGB dhe Matjet e Shkëlqimit
- Hapi 5: Matjet e Reflektuara të Dritës: Lule
Video: Matjet e Dritës dhe Ngjyrës Me Pimoroni Enviro: bit për mikro: bit: 5 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:25
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
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
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
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:
Ndryshimi i ngjyrës së dritës së unazës LED: 11 hapa
Ngjyra që Ndryshon Dritën e Unazës LED: Sot do të bëjmë një dritë unazë LED që ndryshon me ngjyra 20 inç. Unë e di që dritat unazore janë zakonisht në formë rrethore, por kjo do të jetë një shesh për t'i bërë gjërat pak më të lehta. Ky mini projekt është kryesisht për fotografët që kanë nevojë për bud
IoT Hydroponics - Përdorimi i IBM's Watson për matjet e PH dhe EC: 7 hapa (me fotografi)
IoT Hydroponics - Përdorimi i Watson i IBM për Matjet e PH dhe EC: Ky udhëzues do të tregojë se si të monitoroni EC, pH dhe temperaturën e një konfigurimi hidroponik dhe të ngarkoni të dhënat në shërbimin Watson të IBM. Watson është i lirë të fillojë. Ka plane me pagesë, por plani falas është më se i mjaftueshëm për këtë projekt
Ornamenti i dritës së tavolinës dhe shenja e dritës së derës: 8 hapa (me fotografi)
Zbukurimi i tavolinës dhe shenja e dritës së derës: Ky mësim do t'ju tregojë se si të programoni dhe ndërtoni një zbukurim tavoline që ndizet. Këto drita ndryshojnë ngjyrat gjatë një ore. Ju gjithashtu do të mësoni se si të programoni dhe ndërtoni një shenjë shoqëruese të derës që ndizet. Mund të përdorni derën
Ndryshimi i ngjyrës së dritës së natës duke përdorur Ardruino 101: 4 hapa (me fotografi)
Ngjyra që Ndryshon Dritën e Natës duke Përdorur Ardruino 101: Në këtë projekt ju do të bëni një llambë nate duke përdorur ardruino, Adafruit neo rgb Strips dhe një printer 3D. Vini re se kjo e pakuptueshme është thjesht për projektin tim shkollor. Kodi për këtë projekt bazohet në një projekt tjetër. Me këtë tha se nuk jam ish
Ndryshimi i ngjyrës së dritës USB: 5 hapa
Drita USB që Ndryshon Ngjyrën: Këtu është një dritë e bërë nga një shishe plastike, vijë peshkimi, një kabllo të vjetër USB dhe një ndryshim i ngadalshëm i ngjyrës RGB LED. Fije najloni (vija e peshkimit) nuk ka të njëjtin efekt si fijet optike të vërteta. Ka më shumë degradim të sinjalit të lehtë përgjatë tij