Satura rādītājs:

Gaismas un krāsu mērījumi Izmantojot Pimoroni Enviro: bit Micro: bit: 5 soļi
Gaismas un krāsu mērījumi Izmantojot Pimoroni Enviro: bit Micro: bit: 5 soļi

Video: Gaismas un krāsu mērījumi Izmantojot Pimoroni Enviro: bit Micro: bit: 5 soļi

Video: Gaismas un krāsu mērījumi Izmantojot Pimoroni Enviro: bit Micro: bit: 5 soļi
Video: Redzamā gaisma un krāsu redze - mācību stunda (Mehāniskie un elektromagnētiskie viļņi) 2024, Jūlijs
Anonim
Gaismas un krāsu mērījumi Izmantojot Pimoroni Enviro: bit Micro: bit
Gaismas un krāsu mērījumi Izmantojot Pimoroni Enviro: bit Micro: bit
Gaismas un krāsu mērījumi Izmantojot Pimoroni Enviro: bit Micro: bit
Gaismas un krāsu mērījumi Izmantojot Pimoroni Enviro: bit Micro: bit
Gaismas un krāsu mērījumi Izmantojot Pimoroni Enviro: bit Micro: bit
Gaismas un krāsu mērījumi Izmantojot Pimoroni Enviro: bit Micro: bit

Es iepriekš strādāju pie dažām ierīcēm, kas ļauj veikt gaismas un krāsu mērījumus, un šeit un šeit var atrast daudz informācijas par šādu mērījumu teoriju.

Pimoroni nesen ir izlaidis mikro: bit papildinājumu enviro: bit, kam ir MEMS mikrofons skaņas līmeņa mērīšanai, BME280 temperatūras/mitruma/gaisa spiediena sensors un TCS3475 gaismas un krāsu sensors (RGBC). Turklāt krāsu sensora sānos ir divas gaismas diodes, kas ļauj izmērīt objektu krāsu pēc atstarotās gaismas. Izveidot instrumentu šo mērījumu veikšanai nekad nav bijis vieglāk.

Šeit es vēlētos aprakstīt, kā enviro: bit var izmantot krāsu un gaismas mērījumiem, un MakeCode skriptu, kas ļauj tos veikt. Micro: bit un enviro: bit kombinācija ir jauka un lēta ierīce, lai demonstrētu zinātnisko mērījumu principus un spēlētu ar tiem.

Šī pamācība ir daļa no konkursa "Varavīksne". Ja jums tas patīk, lūdzu, dodiet tam savu balsi. PaldiesH

1. darbība. Izmantotie materiāli

Mikro: bit, 13 GBP Pimoroni.

Pimoroni Enviro: bit, 20 GBP Pimoroni.

Pimoroni Power: bit, 6 GBP pie Piomoroni. Micro: bit var izmantot arī akumulatorus vai LiPo

Rosco Cinegel krāsu filtru paraugu bloks. Savējo ieguvu no Modulora, Berlīnē.

IKEA krāsainas plastmasas krūzes. IKEA, Berlīne.

Savvaļas ziedi. Pļava pie Potsdamas-Golmas.

2. darbība: MakeCode/JavaScript skripts

Pimoroni ir izstrādājis Enviro: bit bibliotēku gan MakeCode/JavaScript kodēšanas videi, gan MicroPython. Es šeit esmu izmantojis MakeCode, jo skriptus var augšupielādēt tieši micro: bit un ļauj bloķēt kodēšanu.

Skripts nolasa sarkanā, zaļā un zilā (RGB) un skaidrā (C) kanāla vērtības. Pirmie ir norādīti vērtībās no 0 līdz 255, otrais visā diapazonā no 0 līdz aptuveni 61000.

Skaidrā kanāla diapazons ir ļoti plašs un ļauj veikt mērījumus no spilgtas dienas gaismas līdz tumšai telpai.

Pagaidām es nesaprotu visas krāsu mērīšanas funkcijas detaļas, bet pieņemu, ka tajās ir ieviesti daži korekcijas un normalizācijas mehānismi.

Sākumā tiek ņemtas visu četru kanālu vērtības. Lai varētu parādīt rezultātus 5x5 LED matricā, izmērītās vērtības tiek izmantotas, lai rezultātus ievietotu 5 (RGB) vai 10 (C) tvertnēs, kuras attēlo viena gaismas diode vienā (R, G, B) vai divas (C) rindas.

RGB gadījumā mērogošana ir lineāra, un katras tvertnes intervāla lielums ir 51 vienība plats. C gadījumā mērogošana ir logaritmiska vairāk nekā 10 soļos (log3, tāpēc katrs solis ir 3 reizes lielāks par iepriekšējo). Tas ļauj parādīt ļoti blāvus un ļoti spilgtus apstākļus.

Nospiežot pogu A, R, G un B vērtības tiek parādītas skaitļos, bet B - C. A+B aktivizē gaismas diodes, un B tās izslēgs.

lai bR = 0 // tvertnes

ļaujiet bG = 0 let bB = 0 let bS = 0 let bC = 0 let bCx = 0 let S = 0 // izmērītās vērtības ļaujiet C = 0 let B = 0 let G = 0 let 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)} cits, ja (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, maks. 255 bR = 4} cits, ja (R> = 153) {bR = 3} cits, ja (R> = 102) {bR = 2} cits, ja (R> = 51) {bR = 1} cits {bR = 0} ja (G> = 204) {bG = 4} cits, ja (G> = 153) {bG = 3} cits, ja (G> = 102) {bG = 2} cits, ja (G> = 51)) {bG = 1} cits {bG = 0} ja (B> = 204) {bB = 4} cits, ja (B> = 153) {bB = 3} cits, ja (B> = 102) {bB = 2} cits ja (B> = 51) {bB = 1} cits {bB = 0} ja (C> = 60000) {// Piesātinājums bCx = 4} cits, ja (C> = 20000) {bCx = 3} cits, ja (C> = 6600) {bCx = 2} cits, ja (C> = 2200) {bCx = 1} cits, ja (C> = 729) {bCx = 0} cits, ja (C> = 243) {bC = 4} cits, ja (C> = 81) {bC = 3} cits, ja (C> = 27) {bC = 2} else if (C> = 9) {bC = 1} else {bC = 0} // rakstīt uz 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)}})

3. darbība: RGB mērījumu veikšana: pārraidītās gaismas režīms

RGB mērījumu veikšana: pārraidītās gaismas režīms
RGB mērījumu veikšana: pārraidītās gaismas režīms
RGB mērījumu veikšana: pārraidītās gaismas režīms
RGB mērījumu veikšana: pārraidītās gaismas režīms
RGB mērījumu veikšana: pārraidītās gaismas režīms
RGB mērījumu veikšana: pārraidītās gaismas režīms
RGB mērījumu veikšana: pārraidītās gaismas režīms
RGB mērījumu veikšana: pārraidītās gaismas režīms

Kā norādīts iepriekš, ir divi krāsu mērīšanas režīmi: caurplūstošās un atstarotās gaismas spektroskopija. Pārraidītās gaismas režīmā gaisma caur krāsainu filtru vai šķīdumu iet uz sensoru. Atspoguļotās gaismas mērījumos tika izstarota gaisma, piem. no gaismas diodēm atspoguļo objekts, un to nosaka sensors.

Pēc tam RGB vērtības tiek parādītas micro: bit 5x5 LED matricas 3. līdz 5. rindā, augšējās gaismas diodes apzīmē zemu, zemākās gaismas diodes - augstās vērtības.

Šeit parādītajiem eksperimentiem ar caurlaidīgās gaismas mērījumiem es izmantoju dienasgaismu un sensora priekšā ievietoju krāsainus filtrus no Rosco paraugu iepakojuma. Efektus var redzēt displejā, īpaši sarkanajā kanālā. Apskatiet attēlus un salīdziniet modeļus.

Lai nolasītu faktiskās vērtības, vienkārši nospiediet pogu A.

4. solis: atstarotās gaismas RGB un spilgtuma mērījumi

Atspoguļota gaismas RGB un spilgtuma mērījumi
Atspoguļota gaismas RGB un spilgtuma mērījumi
Atspoguļota gaismas RGB un spilgtuma mērījumi
Atspoguļota gaismas RGB un spilgtuma mērījumi
Atspoguļota gaismas RGB un spilgtuma mērījumi
Atspoguļota gaismas RGB un spilgtuma mērījumi

Atspoguļotās gaismas mērījumiem ieslēdzu gaismas diodes (poga [A+B]) un sensora priekšā novietoju dažus spilgtas krāsas IKEA bērnu krūzīšu gabaliņus. Kā redzams no attēliem, RGB vērtības mainās, kā paredzēts.

Spilgtuma mērījumiem zemās vērtības tiek parādītas pirmajā, augstās vērtības otrajā rindā. Zemas vērtības augšējās, augstākās vērtības ar apakšējām gaismas diodēm. Lai nolasītu precīzu vērtību, nospiediet pogu B.

5. solis: atstarotās gaismas mērījumi: ziedi

Atspoguļoti gaismas mērījumi: ziedi
Atspoguļoti gaismas mērījumi: ziedi
Atspoguļoti gaismas mērījumi: ziedi
Atspoguļoti gaismas mērījumi: ziedi
Atspoguļoti gaismas mērījumi: ziedi
Atspoguļoti gaismas mērījumi: ziedi
Atspoguļoti gaismas mērījumi: ziedi
Atspoguļoti gaismas mērījumi: ziedi

Es no pļavas paņēmu dažus savvaļas ziedus un mēģināju tiem veikt dažus krāsu mērījumus. Tās ir magones, rudzupuķes, brūnās ķirbītes, sienapapagas un dilandelona lapas. RGB vērtības bija [R, G, B]:

  • nav [92, 100, 105]
  • magone (sarkana) [208, 98, 99]
  • rudzupuķe (zila) [93, 96, 138]
  • brūns našķis (ceriņš) [122, 97, 133]
  • siena āboliņš (dzeltens) [144, 109, 63]
  • pienenes lapa (zaļa) [164, 144, 124]

Kas atbilst cerībām, vismaz pirmajiem trim augiem. Lai parādītu vērtību vērtības, varat izmantot krāsu kalkulatoru, kā šeit.

Ieteicams: