Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02
Jeg hadde jobbet med noen enheter som tillater lys- og fargemålinger tidligere, og du kan finne mye om teorien bak slike målinger, instruksjonene her og her.
Pimoroni har nylig gitt ut enviro: bit, et tillegg for micro: bit, som kommer med en MEMS-mikrofon for lydnivåmålinger, en BME280 temperatur/fuktighet/lufttrykksensor og en TCS3475 lys- og fargesensor (RGBC). I tillegg er det to lysdioder plassert på sidene av fargesensoren, slik at du kan måle fargen på gjenstander med reflektert lys. Å bygge et verktøy selv for å utføre disse målingene har aldri vært enklere.
Jeg vil gjerne beskrive hvordan enviro: bit kan brukes til farge- og lysmålinger og MakeCode -skriptet som gjør det mulig å utføre disse. Kombinasjonen av micro: bit og enviro: bit er en fin og billig enhet for å demonstrere prinsippene for vitenskapelige målinger praktisk og leke med dem.
Dette instruerbare er en del av "Rainbow" -konkurransen. Hvis du liker det, vennligst gi det din stemme. Takk H
Trinn 1: Materialer som brukes
Micro: bit, 13 GBP på Pimoroni.
Pimoroni Enviro: bit, 20 GBP på Pimoroni.
Pimoroni Power: bit, 6 GBP på Piomoroni. Du kan også bruke batterier eller en LiPo for micro: bit
Rosco Cinegel fargefilterblokk. Jeg fikk min fra Modulor, Berlin.
IKEA -fargede plastkopper. IKEA, Berlin.
Ville blomster. En eng ved Potsdam-Golm.
Trinn 2: MakeCode/JavaScript -skriptet
Pimoroni har utviklet et bibliotek for Enviro: bit, både for MakeCode/JavaScript -kodemiljøet og for MicroPython. Jeg her har brukt MakeCode, ettersom skriptene kan lastes opp direkte til micro: bit og tillater blokkoding.
Skriptet leser verdiene for de røde, grønne og blå (RGB) og de klare (C) kanalene. De første er gitt i verdier fra 0 til 255, den andre i hele området fra 0 til omtrent 61000.
Rekkevidden til den klare kanalen er veldig bred og tillater målinger fra sterkt dagslys til et mørkt rom.
Nå forstår jeg ikke alle detaljene i fargemålefunksjonen, men jeg antar at de har noen korreksjons- og normaliseringsmekanismer implementert.
Først blir verdiene til alle fire kanalene tatt. For å kunne vise resultatene på 5x5 LED -matrisen, brukes målte verdier for å plassere resultatene i 5 (RGB) eller 10 (C) binger, som er representert med en LED i enten en (R, G, B) eller to (C) rader.
Når det gjelder RGB, er skaleringen lineær, og intervallstørrelsen på hver skuff er 51 enheter bred. Når det gjelder C, er skaleringen logaritmisk over 10 trinn (log3, så hvert trinn er det tredobbelte av det forrige). Dette gjør det mulig å vise svært svake og veldig lyse forhold.
Ved å trykke på knapp A vises R-, G- og B -verdiene i tall, ved å trykke på B -verdien. A+B aktiverer lysdiodene og B slår dem av.
la bR = 0 // binger
la bG = 0 la bB = 0 la bS = 0 la bC = 0 la bCx = 0 la S = 0 // måleverdier la C = 0 la B = 0 la G = 0 la 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)} annet 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, maks 255 bR = 4} annet hvis (R> = 153) {bR = 3} annet hvis (R> = 102) {bR = 2} annet hvis (R> = 51) {bR = 1} annet {bR = 0} hvis (G> = 204) {bG = 4} annet hvis (G> = 153) {bG = 3} annet hvis (G> = 102) {bG = 2} annet hvis (G> = 51) {bG = 1} annet {bG = 0} hvis (B> = 204) {bB = 4} annet hvis (B> = 153) {bB = 3} annet hvis (B> = 102) {bB = 2} annet hvis (B> = 51) {bB = 1} annet {bB = 0} hvis (C> = 60000) {// Metning bCx = 4} annet hvis (C> = 20000) {bCx = 3} annet hvis (C> = 6600) {bCx = 2} annet hvis (C> = 2200) {bCx = 1} annet hvis (C> = 729) {bCx = 0} annet hvis (C> = 243) {bC = 4} annet hvis (C> = 81) {bC = 3} annet hvis (C> = 27) {bC = 2} ellers hvis (C> = 9) {bC = 1} annet {bC = 0} // skriv til led basic.clearScreen () hvis (bCx <5) {led.plot (1, bCx)} annet {led.plot (0, bC)} led.plot (2, bR) led.plot (3, bG) led.plot (4, bB)}})
Trinn 3: Ta RGB -målinger: Overført lysmodus
Som angitt tidligere er det to fargemålinger: transmittert og reflektert lysspektroskopi. I modus for overført lys går lys gjennom et farget filter eller løsning til sensoren. Ved målinger av reflektert lys sendte lys f.eks. fra lysdiodene reflekteres av et objekt og detekteres av sensoren.
RGB -verdiene vises deretter i de tredje til femte radene i mikro: bit 5x5 LED -matrisen, med de øvre lysdiodene som representerer lave, de nedre lysdiodene de høye verdiene.
For eksperimentene vist her på transmitterte lysmålinger brukte jeg dagslys og plasserte fargede filtre fra en Rosco -prøvepakke foran sensoren. Du kan se effektene på displayet, spesielt i den røde kanalen. Ta en titt på bildene og sammenlign mønstrene.
For å lese de faktiske verdiene trykker du bare på knappen A.
Trinn 4: Reflekterte lys -RGB- og lysstyrkmålinger
For målinger av reflektert lys slo jeg på lysdiodene (knapp [A+B]) og plasserte noen fargerike biter av IKEA barnekopper foran sensoren. Som det fremgår av bildene, endres RGB -verdiene som forventet.
For lysstyrkemålinger vises lave verdier i den første, høye verdien i den andre raden. Lave verdier i de øvre, høyere verdier ved de nedre lysdiodene. Trykk på knappen B. for å lese den nøyaktige verdien.
Trinn 5: Reflekterte lysmålinger: Blomster
Jeg plukket noen ville blomster fra en eng og prøvde å utføre noen fargemålinger på dem. Det har vært valmue, kornblomst, brun knuteweed, harkweed og et løvetannblad. RGB -verdiene var [R, G, B]:
- ingen [92, 100, 105]
- valmue (rød) [208, 98, 99]
- kornblomst (blå) [93, 96, 138]
- brun ryggblad (syrin) [122, 97, 133]
- veggharkweed (gul) [144, 109, 63]
- løvetannblad (grønt) [164, 144, 124]
Som passer til forventningene, i hvert fall for de tre første plantene. For å vise fargene fra verdiene, kan du bruke en fargekalkulator som den her.
Anbefalt:
Bruke Pimoroni Enviro+ FeatherWing With Adafruit Feather NRF52840 Express: 8 trinn
Bruke Pimoroni Enviro+ FeatherWing Med Adafruit Feather NRF52840 Express: Pimoroni Enviro+ FeatherWing er et brett pakket med sensorer designet for å fungere med Adafruit Feather -brettet. Det er et nyttig sted å begynne for alle som er interessert i miljøovervåking, atmosfærisk forurensning og dataundersøkelse. JEG
Batteridrevne LED -lys med solladning: 11 trinn (med bilder)
Batteridrevne LED -lys med solopplading: Min kone lærer folk å lage såpe, de fleste timene hennes var om kvelden, og her om vinteren blir det mørkt rundt 16:30, noen av studentene hennes hadde problemer med å finne våre hus. Vi hadde et skilt foran, men til og med med en gatelampe
Bærbart innendørs lys med 100W LED -brikke: 26 trinn (med bilder)
Bærbart innendørs lys med 100W LED -brikke: I denne instruksjonsboken / videoen vil jeg vise deg hvordan jeg lagde bærbart innendørs lys med 100W LED -brikke som er drevet med 19V 90W strømforsyning fra en gammel bærbar PC. UPDATE 2 (FINAL): Temperatur rundt LED -en (37C stabil @85W etter 30 minutter i et 20C rom)
Lys opp Chanukah-genser med individuelle "lys": 7 trinn (med bilder)
Opplyst Chanukah-genser med individuelle "stearinlys": Høytidsfesten og i år kan du være festens lysende stjerne med en lys menoragenser! Dette er et sydd kretsprosjekt som bruker relativt rimelige materialer som er lett å finne på nettet og i håndverksbutikken. Enda bedre
Musikkreaktivt lys -- Hvordan lage superenkelt musikkreaktivt lys for å gjøre skrivebordet fantastisk: 5 trinn (med bilder)
Music Reactive Light || How to Make Super Simple Music Reactive Light for Making Desktop Awsome .: Hei, hva skjer gutter, I dag skal vi bygge et veldig interessant prosjekt. I dag skal vi bygge musikk reaktivt lys. LED -en vil endre lysstyrken iht. bassen som faktisk er lavfrekvent lydsignal. Det er veldig enkelt å bygge. Vi vil