Indholdsfortegnelse:
- Trin 1: Brugte materialer
- Trin 2: MakeCode/JavaScript -scriptet
- Trin 3: Udførelse af RGB -målinger: Overført lystilstand
- Trin 4: Reflekterede lys -RGB- og lysstyrkmålinger
- Trin 5: Reflekterede lysmålinger: blomster
Video: Lys- og farvemålinger Med Pimoroni Enviro: bit til Micro: bit: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Jeg havde tidligere arbejdet på nogle enheder, der tillader lys- og farvemålinger, og du finder måske meget om teorien bag sådanne målinger, instruktørerne her og her.
Pimoroni har for nylig udgivet enviro: bit, en tilføjelse til micro: bit, der leveres med en MEMS-mikrofon til lydniveaumålinger, en BME280 temperatur/fugtighed/lufttrykssensor og en TCS3475 lys- og farvesensor (RGBC). Derudover er der to lysdioder placeret på siderne af farvesensoren, der gør det muligt at måle objekternes farve ved reflekteret lys. Det har aldrig været lettere at opbygge et værktøj til at udføre disse målinger.
Jeg vil her beskrive, hvordan enviro: bit kan bruges til farve- og lysmålinger og MakeCode -scriptet, der gør det muligt at udføre disse. Kombinationen af micro: bit og enviro: bit er en dejlig og billig enhed til at demonstrere principperne for videnskabelige målinger praktisk og lege med dem.
Denne instruktive er en del af "Rainbow" konkurrencen. Hvis du kan lide det, bedes du give det din stemme. Tak H.
Trin 1: Brugte materialer
Micro: bit, 13 GBP hos Pimoroni.
Pimoroni Enviro: bit, 20 GBP hos Pimoroni.
Pimoroni Power: bit, 6 GBP hos Piomoroni. Du kan også bruge batterier eller en LiPo til micro: bit
Rosco Cinegel farvefilterblok. Jeg fik min fra Modulor, Berlin.
IKEA farvede plastik kopper. IKEA, Berlin.
Vilde blomster. En eng ved Potsdam-Golm.
Trin 2: MakeCode/JavaScript -scriptet
Pimoroni har udviklet et bibliotek til Enviro: bit, både til MakeCode/JavaScript -kodningsmiljøet og til MicroPython. Jeg har her brugt MakeCode, da scripts kan uploades direkte til micro: bit og tillader blokering.
Scriptet læser værdierne for de røde, grønne og blå (RGB) og de klare (C) kanaler. De første er givet i værdier fra 0 til 255, den anden i hele området fra 0 til omkring 61000.
Rækkevidden af den klare kanal er meget bred og tillader målinger fra stærkt dagslys til et mørkt rum.
På nuværende tidspunkt forstår jeg ikke alle detaljerne i farvemålefunktionen, men jeg går ud fra, at de har nogle korrektion og normaliseringsmekanismer implementeret.
Først tages værdierne for alle fire kanaler. For at kunne vise resultaterne på 5x5 LED -matricen bruges målte værdier til at placere resultaterne i 5 (RGB) eller 10 (C) bakker, der er repræsenteret af en LED i enten en (R, G, B) eller to (C) rækker.
I tilfælde af RGB er skaleringen lineær, og intervalstørrelsen for hver bin er 51 enheder bred. I tilfælde af C er skaleringen logaritmisk over 10 trin (log3, så hvert trin er det tredobbelte af det foregående). Dette giver mulighed for at vise meget svage og meget lyse forhold ens.
Ved at trykke på knap A vises R-, G- og B -værdierne i tal, tryk på B -værdien. A+B aktiverer lysdioderne, og B lukker dem.
lad bR = 0 // skraldespande
lad bG = 0 lad bB = 0 lad bS = 0 lad bC = 0 lad bCx = 0 lad S = 0 // målte værdier lad C = 0 lad B = 0 lad G = 0 lad R = 0 basic.forever (() => {if (input.buttonIsPressed (Button. AB)) {envirobit.setLEDs (envirobit. OnOff. On)} ellers if (input.buttonIsPressed (Button. A)) {basic.showString ("R:" + R + "G:" + G + "B:" + B)} ellers hvis (input.buttonIsPressed (Button. B)) {basic.showString ("C:" + C) envirobit.setLEDs (envirobit. OnOff. Off)} ellers {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} hvis (G> = 204) {bG = 4} ellers hvis (G> = 153) {bG = 3} ellers hvis (G> = 102) {bG = 2} ellers hvis (G> = 51) {bG = 1} ellers {bG = 0} hvis (B> = 204) {bB = 4} ellers hvis (B> = 153) {bB = 3} ellers hvis (B> = 102) {bB = 2} ellers hvis (B> = 51) {bB = 1} ellers {bB = 0} hvis (C> = 60000) {// Saturation bCx = 4} else if (C> = 20000) {bCx = 3} else if (C> = 6600) {bCx = 2} else if (C> = 2200) {bCx = 1} else if (C> = 729) {bCx = 0} ellers hvis (C> = 243) {bC = 4} ellers hvis (C> = 81) {bC = 3} ellers hvis (C> = 27) {bC = 2} else if (C> = 9) {bC = 1} else {bC = 0} // skriv til 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)}})
Trin 3: Udførelse af RGB -målinger: Overført lystilstand
Som angivet før er der to måder til farvemålinger: transmitteret og reflekteret lys spektroskopi. I tilstanden transmitteret lys går lyset gennem et farvet filter eller en løsning til sensoren. Ved målinger af reflekteret lys udsendte lys f.eks. fra lysdioderne reflekteres af et objekt og detekteres af sensoren.
RGB -værdierne vises derefter i 3. til 5. række i micro: bit 5x5 LED -matrixen, hvor de øvre LED'er repræsenterer lave, de nederste LED'er de høje værdier.
Til de eksperimenter, der er vist her på transmitterede lysmålinger, brugte jeg dagslys og placerede farvede filtre fra en Rosco -prøvepakke foran sensoren. Du kan se effekterne på displayet, især i den røde kanal. Tag et kig på billederne og sammenlign mønstrene.
For at aflæse de faktiske værdier skal du bare trykke på knappen A.
Trin 4: Reflekterede lys -RGB- og lysstyrkmålinger
Til målinger af reflekteret lys tændte jeg lysdioderne (knap [A+B]) og placerede nogle farvestrålende stykker IKEA børnekopper foran sensoren. Som det fremgår af billederne, ændrer RGB -værdierne sig som forventet.
For lysstyrkemålinger vises lave værdier i den første, høje værdi i den anden række. Lave værdier i de øvre, højere værdier ved de nederste lysdioder. Tryk på knap B. for at aflæse den præcise værdi.
Trin 5: Reflekterede lysmålinger: blomster
Jeg plukkede nogle vilde blomster fra en eng og forsøgte at udføre nogle farvemålinger på dem. Det har været valmue, kornblomst, brun knapweed, harkweed og et blad af diladelon. RGB -værdierne var [R, G, B]:
- ingen [92, 100, 105]
- valmue (rød) [208, 98, 99]
- kornblomst (blå) [93, 96, 138]
- brun knapweed (lilla) [122, 97, 133]
- væg harkweed (gul) [144, 109, 63]
- mælkebøtteblad (grønt) [164, 144, 124]
Hvilket svarer til forventningerne, i hvert fald for de tre første anlæg. For at få vist farverne fra værdierne kan du bruge en farveberegner som den her.
Anbefalede:
Brug af Pimoroni Enviro+ FeatherWing med Adafruit Feather NRF52840 Express: 8 trin
Brug af Pimoroni Enviro+ FeatherWing Med Adafruit Feather NRF52840 Express: Pimoroni Enviro+ FeatherWing er et bræt fyldt med sensorer designet til at arbejde med Adafruit Feather -serien. Det er et nyttigt sted at starte for alle, der er interesseret i miljøovervågning, atmosfærisk forurening og data -munging. JEG
Batteridrevet Wi-Fi Smart-knap til styring af HUE-lys: 5 trin (med billeder)
Batteridrevet Wi-Fi Smart-knap til styring af HUE-lys: Dette projekt demonstrerer, hvordan man bygger en batteridrevet IoT Wi-Fi-knap på mindre end 10 minutter. Knappen styrer HUE -lys over IFTTT. I dag kan du bygge elektroniske enheder og tilslutte dem til andre smarte hjem -enheder bogstaveligt talt på få minutter. Hvad er
Micro: bits Lys til begyndere: 5 trin
Micro: bits Lys til begyndere: Til denne instruktive skal du bruge en Micro: Bit og en bærbar computer, kan ikke være en Mac. Hvis du bruger en Mac, kræves et ekstra trin, eller en adapter til en USB -port er påkrævet
Musikreaktivt lys -- Sådan laves superenkelt musikreaktivt lys til at gøre skrivebordet fantastisk: 5 trin (med billeder)
Music Reactive Light || Sådan laver du Super Simple Music Reactive Light for Making Desktop Awsome .: Hey whats up guys, I dag vil vi bygge et meget interessant projekt. I dag bygger vi musik reaktivt lys. LED'en ændrer dens lysstyrke iht. basen, der faktisk er lavfrekvent lydsignal. Det er meget enkelt at bygge.Vi vil
NEMSTE MÅDE TIL AT LAGE ET KOMPAKT LYS !! 3 ENKLE TRIN !!: 3 trin
NEMSTE MÅDE TIL AT LAGE ET KOMPAKT LYS !! 3 ENKLE TRIN !!: Hvad du skal bruge - Tin folie 1 AA batteri (nogle AAA batterier virker) 1 Mini lyspære (pærer bruges til de fleste lommelygter; se billede) Lineal (hvis det er nødvendigt)