Sisällysluettelo:

Valon ja värin mittaukset Pimoroni Enviro: bitillä Micro: bitille: 5 vaihetta
Valon ja värin mittaukset Pimoroni Enviro: bitillä Micro: bitille: 5 vaihetta

Video: Valon ja värin mittaukset Pimoroni Enviro: bitillä Micro: bitille: 5 vaihetta

Video: Valon ja värin mittaukset Pimoroni Enviro: bitillä Micro: bitille: 5 vaihetta
Video: Miten lampun valon määrä ja valon väri vaikuttavat varjostimen ulkonäköön 2024, Heinäkuu
Anonim
Valon ja värin mittaukset Pimoroni Enviro: bitillä Micro: bitille
Valon ja värin mittaukset Pimoroni Enviro: bitillä Micro: bitille
Valon ja värin mittaukset Pimoroni Enviro: bitillä Micro: bitille
Valon ja värin mittaukset Pimoroni Enviro: bitillä Micro: bitille
Valon ja värin mittaukset Pimoroni Enviro: bitillä Micro: bitille
Valon ja värin mittaukset Pimoroni Enviro: bitillä Micro: bitille

Olin aiemmin työskennellyt joidenkin laitteiden kanssa, jotka mahdollistavat valon ja värin mittaamisen, ja saatat löytää paljon teoriasta tällaisten mittausten takana.

Pimoroni on äskettäin julkaissut enviro: bit -lisäosan micro: bitille, jossa on MEMS-mikrofoni äänitason mittaamiseen, BME280-lämpötila-/kosteus-/ilmanpaineanturi ja TCS3475-valo- ja värianturi (RGBC). Lisäksi värianturin sivuilla on kaksi LEDiä, joiden avulla voidaan mitata esineiden väriä heijastuneen valon avulla. Työkalun rakentaminen näiden mittausten suorittamiseen ei ole koskaan ollut helpompaa.

Haluaisin tässä kuvata, miten enviro: bittiä voidaan käyttää väri- ja valomittauksiin ja MakeCode -skriptiin, jonka avulla ne voidaan suorittaa. Micro: bitin ja enviro: bitin yhdistelmä on mukava ja edullinen laite, joka osoittaa tieteellisten mittausten periaatteet käytännössä ja leikkii niiden kanssa.

Tämä ohje on osa "Rainbow" -kilpailua. Jos pidät siitä, anna sille äänesi. KiitosH

Vaihe 1: Käytetyt materiaalit

Mikro: bitti, 13 GBP Pimoronissa.

Pimoroni Enviro: bitti, 20 GBP Pimoronissa.

Pimoroni Power: bitti, 6 GBP Piomoronissa. Voit myös käyttää micro -bitin akkuja tai LiPo -laitetta

Rosco Cinegel -värisuodattimen näytekappale. Sain omani Modulorista, Berliinistä.

IKEA -väriset muovikupit. IKEA, Berliini.

Villit kukat. Niitty Potsdam-Golmissa.

Vaihe 2: MakeCode/JavaScript -skripti

Pimoroni on kehittänyt Enviro: bitille kirjaston sekä MakeCode/JavaScript -koodausympäristöön että MicroPythoniin. Tässä olen käyttänyt MakeCodea, koska komentosarjat voidaan ladata suoraan micro: bitille ja sallii lohkokoodauksen.

Käsikirjoitus lukee punaisen, vihreän ja sinisen (RGB) ja selkeän (C) kanavan arvot. Ensimmäiset arvot ovat 0–255, toinen koko alueella 0–61000.

Kirkkaiden kanavien alue on erittäin laaja ja mahdollistaa mittaukset kirkkaasta päivänvalosta pimeään huoneeseen.

Tähän mennessä en ymmärrä kaikkia värinmittaustoiminnon yksityiskohtia, mutta oletan, että niissä on joitakin korjaus- ja normalisointimekanismeja.

Aluksi otetaan kaikkien neljän kanavan arvot. Jotta tulokset voidaan näyttää 5x5 LED -matriisissa, mitattuja arvoja käytetään tulosten sijoittamiseen 5 (RGB) tai 10 (C) lokeroon, joita edustaa yksi LED joko yhdessä (R, G, B) tai kaksi (C) riviä.

RGB: n tapauksessa skaalaus on lineaarinen ja kunkin säiliön väli on 51 yksikköä leveä. C: n tapauksessa skaalaus on logaritminen 10 vaiheen aikana (log3, joten jokainen vaihe on edellisen kolminkertainen). Tämä mahdollistaa erittäin hämärien ja erittäin kirkkaiden olosuhteiden näyttämisen.

Painikkeen A painaminen näyttää R-, G- ja B -arvot numeroina ja paina B -arvoa C. A+B aktivoi LEDit ja B sammuttaa ne.

olkoon bR = 0 // bins

Olkoon bG = 0 anna bB = 0 anna bS = 0 anna bC = 0 anna bCx = 0 anna S = 0 // mitatut arvot anna C = 0 anna B = 0 anna G = 0 anna R = 0 perus. 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, enintään 255 bR = 4} else if (R> = 153) {bR = 3} else if (R> = 102) {bR = 2} else if (R> = 51) {bR = 1} else {bR = 0} jos (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} else if (B> = 51) {bB = 1} else {bB = 0} if (C> = 60000) {// Kylläisyys 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} 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} // kirjoita 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)}})

Vaihe 3: RGB -mittausten tekeminen: Lähetetty valotila

RGB -mittausten tekeminen: Lähetetty valotila
RGB -mittausten tekeminen: Lähetetty valotila
RGB -mittausten tekeminen: Lähetetty valotila
RGB -mittausten tekeminen: Lähetetty valotila
RGB -mittaukset: Läpäisevä valotila
RGB -mittaukset: Läpäisevä valotila
RGB -mittaukset: Läpäisevä valotila
RGB -mittaukset: Läpäisevä valotila

Kuten edellä on mainittu, värimittauksia on kaksi: läpäisevän ja heijastuneen valon spektroskopia. Läpäisevän valon tilassa valo kulkee värillisen suodattimen tai liuoksen läpi anturiin. Heijastuneen valon mittauksissa valoa säteilee mm. LED -valoista heijastuu esine ja anturi havaitsee ne.

RGB -arvot näytetään sitten micro: bit 5x5 LED -matriisin 3. - 5. rivillä, ja ylemmät LEDit edustavat matalia, alemmat LEDit korkeita arvoja.

Tässä näytetyissä kokeissa läpäisevän valon mittauksista käytin päivänvaloa ja asetin värilliset suodattimet Roscon näytepakkauksesta anturin eteen. Näet tehosteet näytöllä, etenkin punaisella kanavalla. Katso kuvia ja vertaa kuvioita.

Voit lukea todelliset arvot painamalla painiketta A.

Vaihe 4: Heijastuneen valon RGB ja kirkkauden mittaukset

Heijastetun valon RGB ja kirkkauden mittaukset
Heijastetun valon RGB ja kirkkauden mittaukset
Heijastetun valon RGB ja kirkkauden mittaukset
Heijastetun valon RGB ja kirkkauden mittaukset
Heijastetun valon RGB ja kirkkauden mittaukset
Heijastetun valon RGB ja kirkkauden mittaukset

Heijastuneen valon mittauksia varten laitoin LEDit päälle (painike [A+B]) ja asetin anturin eteen joitakin kirkkaanvärisiä IKEA -lapsikuppeja. Kuten kuvista näkyy, RGB -arvot muuttuvat odotetusti.

Kirkkausmittauksissa pienet arvot näkyvät ensimmäisellä ja suuret arvot toisella rivillä. Alhaiset arvot ylemmillä, korkeammat arvot alemmilla LEDeillä. Voit lukea tarkan arvon painamalla painiketta B.

Vaihe 5: Heijastuneet valomittaukset: Kukat

Heijastuneet valomittaukset: Kukat
Heijastuneet valomittaukset: Kukat
Heijastuneet valomittaukset: Kukat
Heijastuneet valomittaukset: Kukat
Heijastuneet valomittaukset: Kukat
Heijastuneet valomittaukset: Kukat
Heijastuneet valomittaukset: Kukat
Heijastuneet valomittaukset: Kukat

Poimin niityltä villikukkia ja yritin tehdä niille värimittauksia: ne olivat unikkoa, ruiskaunokkaa, ruskeaa kukkaa, seinäharkkoa ja dilandeloninlehteä. RGB -arvot olivat [R, G, B]:

  • ei mitään [92, 100, 105]
  • unikko (punainen) [208, 98, 99]
  • ruiskaunokki (sininen) [93, 96, 138]
  • ruskea nilviä (lila) [122, 97, 133]
  • seinäharkko (keltainen) [144, 109, 63]
  • voikukanlehti (vihreä) [164, 144, 124]

Joka vastaa odotuksia, ainakin kolmen ensimmäisen tehtaan osalta. Jos haluat näyttää arvot väreistä, voit käyttää värilaskinta, kuten tässä.

Suositeltava: