Taula de continguts:
- Pas 1: materials utilitzats
- Pas 2: l'script MakeCode / JavaScript
- Pas 3: Prendre mesures RGB: mode de llum transmesa
- Pas 4: llum reflectida RGB i mesures de brillantor
- Pas 5: Mesures de llum reflectides: flors
Vídeo: Mesures de llum i color amb el Pimoroni Enviro: bit per al micro: bit: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Anteriorment havia estat treballant en alguns dispositius que permetien mesurar la llum i el color i és possible que trobeu moltes coses sobre la teoria que hi ha darrere d’aquestes mesures, allò instructable aquí i aquí.
Pimoroni ha llançat recentment enviro: bit, un complement per al micro: bit, que inclou un micròfon MEMS per mesurar el nivell de so, un sensor de temperatura / humitat / pressió d’aire BME280 i un sensor de llum i color TCS3475 (RGBC). A més, hi ha dos LED col·locats als laterals del sensor de color, que permeten mesurar el color dels objectes mitjançant la llum reflectida. Mai ha estat tan fàcil crear una eina per realitzar aquestes mesures.
Aquí m'agradaria descriure com l'enviro: bit es pot utilitzar per a mesures de color i llum i l'escriptura MakeCode que permeten realitzar-les. La combinació de micro: bit i enviro: bit és un dispositiu agradable i econòmic per demostrar pràcticament els principis de les mesures científiques i jugar amb ells.
Aquest instructiu forma part del concurs "Arc de Sant Martí". Si us agrada, doneu-li el vostre vot. Gràcies H
Pas 1: materials utilitzats
Micro: bit, 13 GBP a Pimoroni.
Pimoroni Enviro: bit, 20 GBP a Pimoroni.
Pimoroni Power: bit, 6 GBP a Piomoroni. També podeu utilitzar bateries o un LiPo per al micro: bit
Bloc de mostra del filtre de color Rosco Cinegel. Vaig obtenir la meva de Modulor, Berlín.
Gots de plàstic de colors IKEA. IKEA, Berlín.
Flors silvestres. Un prat a Potsdam-Golm.
Pas 2: l'script MakeCode / JavaScript
Pimoroni ha desenvolupat una biblioteca per al bit Enviro: bit, tant per a l’entorn de codificació MakeCode / JavaScript com per a MicroPython. Aquí he utilitzat MakeCode, ja que els scripts es poden penjar directament al micro: bit i permeten codificar blocs.
El guió llegeix els valors dels canals vermell, verd i blau (RGB) i clar (C). Els primers es donen en valors de 0 a 255, el segon en tot el rang de 0 a aproximadament 61000.
L'abast del canal clar és molt ampli i permet mesurar des de la llum del dia fins a una habitació fosca.
A hores d’ara no entenc tots els detalls de la funció de mesura del color, però suposo que tenen implementats alguns mecanismes de correcció i normalització.
Al principi, es prenen els valors dels quatre canals. Per poder mostrar els resultats a la matriu de LED de 5x5, s’utilitzen valors mesurats per col·locar els resultats en contenidors de 5 (RGB) o 10 (C), representats per un LED en un (R, G, B) o dues files (C).
En el cas del RGB, l’escala és lineal i la mida de l’interval de cada safata és de 51 unitats d’amplada. En el cas de C, l’escala és logarítmica en 10 passos (log3, de manera que cada pas és el triple de l’anterior). Això permet mostrar condicions molt tenues i molt brillants per igual.
En prémer el botó A es mostren els valors R, G i B en números, prement B el valor C. A + B activa els LED i B els apagarà.
deixem bR = 0 // bins
deixem bG = 0 deixem bB = 0 deixem bS = 0 deixem bC = 0 deixem bCx = 0 deixem S = 0 // valors mesurats deixem C = 0 deixem B = 0 deixem G = 0 deixem R = 0 bàsic. per sempre (() => {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, màxim 255 bR = 4} else if (R> = 153) {bR = 3} else if (R> = 102) {bR = 2} else if (R> = 51) {bR = 1} else {bR = 0} if (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) {// Saturació 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} // escriviu a 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)}})
Pas 3: Prendre mesures RGB: mode de llum transmesa
Com s’ha indicat abans, hi ha dos modes de mesurament del color: l’espectroscòpia de llum transmesa i reflectida. En el mode de llum transmesa, la llum passa per un filtre de color o una solució al sensor. En les mesures de llum reflectida, la llum emesa, per exemple, dels objectes LED es reflecteix en un objecte i el detecta el sensor.
Els valors RGB es mostren a la tercera a la cinquena fila de la matriu LED micro: bit 5x5, amb els LED superiors que representen baixos, els LED inferiors els valors alts.
Per als experiments que es mostren aquí sobre mesures de llum transmesa, he utilitzat la llum del dia i he col·locat filtres de colors d’un paquet de mostres de Rosco davant del sensor. Podeu veure els efectes a la pantalla, especialment al canal vermell. Mireu les imatges i compareu els patrons.
Per llegir els valors reals, només heu de prémer el botó A.
Pas 4: llum reflectida RGB i mesures de brillantor
Per a les mesures de llum reflectida, vaig encendre els LEDs (botó [A + B]) i vaig col·locar algunes peces de colors brillants de gots infantils IKEA davant del sensor. Com es pot veure a les imatges, els valors RGB canvien com s’esperava.
Per a les mesures de brillantor, es mostren valors baixos a la primera i valors alts a la segona fila. Valors baixos als valors superiors i superiors dels LED inferiors. Per llegir el valor precís, premeu el botó B.
Pas 5: Mesures de llum reflectides: flors
Vaig agafar algunes flors silvestres d’un prat i vaig intentar fer-ne algunes mesures de color: eren rosella, blauet, fulles marrons, fulles de paret i fulles de diana. Els valors RGB eren [R, G, B]:
- cap [92, 100, 105]
- rosella (vermella) [208, 98, 99]
- blauet (blau) [93, 96, 138]
- nuca marró (lila) [122, 97, 133]
- muralla (groc) [144, 109, 63]
- fulla de dent de sang (verda) [164, 144, 124]
La qual cosa s’adapta a les expectatives, almenys per a les tres primeres plantes. Per mostrar els colors dels valors, podeu utilitzar una calculadora de colors, com la que hi ha aquí.
Recomanat:
Ús de Pimoroni Enviro + FeatherWing amb Adafruit Feather NRF52840 Express: 8 passos
Ús de Pimoroni Enviro + FeatherWing amb Adafruit Feather NRF52840 Express: El Pimoroni Enviro + FeatherWing és una placa plena de sensors dissenyats per funcionar amb la sèrie de taules Adafruit Feather. És un lloc útil per començar per a qualsevol persona interessada en la vigilància ambiental, la contaminació atmosfèrica i la combinació de dades. Jo
Mesures del sensor de corrent ACS724 amb Arduino: 4 passos
Mesures del sensor de corrent ACS724 amb Arduino: en aquesta instrucció, experimentarem amb la connexió d’un sensor de corrent ACS724 a un Arduino per fer mesures de corrent. En aquest cas, el sensor actual és una varietat de +/- 5A que genera 400 mv / A. L’Arduino Uno té un ADC de 10 bits, així que bones preguntes
Interruptor de llum controlat per control remot Bluetooth: reforma. El commutador de llum encara funciona, sense escriptures addicionals: 9 passos (amb imatges)
Interruptor de llum controlat per control remot Bluetooth: reforma. El commutador de llum continua funcionant, no hi ha cap escrit extra. Alguns taulers BLE / programari emmagatzemen
Penjoll de llum de llum de vidre de color microcontrolat: 5 passos (amb imatges)
Penjoll de llum de llum de vidre de color microcontrolat amb LED: aquest manual us guiarà pels passos necessaris per fer un penjoll de vidre de colors amb un LED que parpellegi amb un patró mitjançant un microcontrolador. El patró de parpelleig és una cançó de lluerna real d’un tipus de lluerna japonesa. És una versió reduïda
Mini llum de nit de llum de nit / llum: 5 passos
Llum / làmpada nocturna de nit de mini LED: primer, hauria de dir que es va inspirar en la làmpada LED de peu Mini de Sunbanks. En lloc d’utilitzar un biro per mantenir el led allunyat de l’escriptori, he utilitzat un clar perspex per projectar la llum de la base. Aquest petit projecte és un prototip