Tartalomjegyzék:
- 1. lépés: Használt anyagok
- 2. lépés: A MakeCode/JavaScript szkript
- 3. lépés: RGB mérések: átvitt fény mód
- 4. lépés: Tükröződő fény RGB és fényerő mérések
- 5. lépés: Tükröződő fénymérések: Virágok
Videó: Fény- és színmérések A Pimoroni Enviro: bit segítségével: Micro: bit: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Korábban dolgoztam néhány olyan eszközön, amelyek lehetővé teszik a fény- és színmérést, és sokat találhat az elméletről az ilyen mérések mögött, itt és itt.
A Pimoroni nemrégiben kiadta az enviro: bit-t, a micro: bit kiegészítőjét, amelyhez tartozik egy MEMS mikrofon a hangszint méréséhez, egy BME280 hőmérséklet/páratartalom/légnyomás érzékelő és egy TCS3475 fény- és színérzékelő (RGBC). Ezenkívül két LED található a színérzékelő oldalán, amelyek lehetővé teszik a tárgyak színének mérését a visszavert fény által. Soha nem volt ilyen egyszerű a szerszám építése ezen mérések elvégzésére.
Itt szeretném leírni, hogyan használható az enviro: bit szín- és fénymérésre, valamint a MakeCode szkript, amely lehetővé teszi ezek elvégzését. A micro: bit és az enviro: bit kombinációja szép és olcsó eszköz a tudományos mérések elveinek gyakorlati bemutatására és a velük való játékra.
Ez az utasítás a "Szivárvány" verseny része. Ha tetszik, kérjük, adja meg a szavazatát. KöszönömH
1. lépés: Használt anyagok
Mikro: bit, 13 GBP a Pimoroni -nál.
Pimoroni Enviro: bit, 20 GBP a Pimoroni -nál.
Pimoroni Power: bit, 6 GBP a Piomoroni -nál. A micro: bithez akkumulátorokat vagy LiPo -t is használhat
Rosco Cinegel színszűrő minta blokk. Az enyémet a berlini Modulorból kaptam.
IKEA színű műanyag poharak. IKEA, Berlin.
Vadvirágok. Egy rét Potsdam-Golmban.
2. lépés: A MakeCode/JavaScript szkript
A Pimoroni fejlesztett egy könyvtárat az Enviro: bit számára, mind a MakeCode/JavaScript kódolási környezethez, mind a MicroPythonhoz. Itt a MakeCode -ot használtam, mivel a szkriptek közvetlenül feltölthetők a micro: bitre, és lehetővé teszik a blokk kódolását.
A szkript beolvassa a piros, zöld és kék (RGB) és a tiszta (C) csatornák értékeit. Az első értékek 0 és 255 között vannak megadva, a második a teljes tartományban 0 és körülbelül 61000 között.
A tiszta csatorna tartománya nagyon széles, és lehetővé teszi a mérést a világos napfénytől a sötét helyiségig.
Mostanáig nem értem a színmérési funkció minden részletét, de feltételezem, hogy vannak bizonyos korrekciós és normalizáló mechanizmusok.
Először mind a négy csatorna értékét veszik. Az eredmények 5x5 LED -es mátrixon való megjelenítéséhez a mért értékeket használjuk az eredmények 5 (RGB) vagy 10 (C) tárolóba helyezésére, amelyeket egy LED jelképez az egyikben (R, G, B) vagy két (C) sor.
RGB esetén a skálázás lineáris, és az egyes tartályok intervallum mérete 51 egység széles. C esetén a skálázás 10 lépésen keresztül logaritmikus (log3, tehát minden lépés az előző 3-szorosa). Ez lehetővé teszi a nagyon gyenge és nagyon világos körülmények megjelenítését egyaránt.
Az A gomb megnyomása számokkal jeleníti meg az R, G és B értékeket, B megnyomásával pedig a C értéket. Az A+B aktiválja a LED -eket, és a B kikapcsolja őket.
legyen bR = 0 // bins
hagyja, hogy bG = 0 legyen bB = 0 legyen bS = 0 legyen bC = 0 legyen bCx = 0 legyen S = 0 // mért értékek legyenek C = 0 legyenek B = 0 legyenek G = 0 legyenek R = 0 alapok. 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, 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} 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) {// Telítettség 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} // írjon 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)}})
3. lépés: RGB mérések: átvitt fény mód
Amint azt korábban jeleztük, kétféle színmérési mód létezik: áteresztett és visszavert fény spektroszkópia. Az áteresztett fény módban a fény színes szűrőn vagy oldaton keresztül jut az érzékelőhöz. A visszavert fény méréseiben a kibocsátott fény pl. a LED -ekről egy tárgy visszaveri, és az érzékelő észleli.
Az RGB értékek ezután a micro: bit 5x5 LED mátrix 3. és 5. sorában jelennek meg, a felső LED -ek alacsony, az alsó LED -ek a magas értékeket.
Az itt bemutatott, az áteresztő fény mérésével kapcsolatos kísérletekhez nappali fényt használtam, és Rosco mintacsomagból származó színes szűrőket helyeztem az érzékelő elé. Láthatja a hatásokat a kijelzőn, különösen a piros csatornában. Nézze meg a képeket, és hasonlítsa össze a mintákat.
A tényleges értékek leolvasásához nyomja meg az A gombot.
4. lépés: Tükröződő fény RGB és fényerő mérések
A visszavert fény méréséhez bekapcsoltam a LED -eket ([A+B] gomb), és néhány élénk színű darab IKEA gyermekpoharat helyeztem az érzékelő elé. Amint a képeken is látható, az RGB értékek a várt módon változnak.
A fényerő méréséhez az alacsony értékek jelennek meg az első, a magas értékek a második sorban. Alacsony értékek a felső, magasabb értékek az alsó LED -ek által. A pontos érték leolvasásához nyomja meg a B gombot.
5. lépés: Tükröződő fénymérések: Virágok
Egy rétről szedtem néhány vadvirágot, és megpróbáltam néhány színmérést végezni rajtuk. Pipacs, búzavirág, barna gyöngyfű, falfű és dilandelonlevél volt. Az RGB értékek [R, G, B] voltak:
- nincs [92, 100, 105]
- mák (piros) [208, 98, 99]
- búzavirág (kék) [93, 96, 138]
- barna gyöngyvirág (lila) [122, 97, 133]
- falfű (sárga) [144, 109, 63]
- pitypanglevél (zöld) [164, 144, 124]
Ami megfelel az elvárásoknak, legalábbis az első három üzem esetében. Az értékek színeinek megjelenítéséhez használhat egy színkalkulátort, mint itt.
Ajánlott:
A Pimoroni Enviro+ FeatherWing használata az Adafruit Feather NRF52840 Express segítségével: 8 lépés
A Pimoroni Enviro+ FeatherWing használata az Adafruit Feather NRF52840 Express segítségével: A Pimoroni Enviro+ FeatherWing egy olyan tábla, amely tele van érzékelőkkel, amelyek az Adafruit Feather tábla sorozatával való használatra lettek tervezve. Ez hasznos kiindulópont mindazoknak, akik érdeklődnek a környezetfigyelés, a légszennyezés és az adatgyűjtés iránt. ÉN
Fény- és hőmérsékletérzékelő adatok olvasása és ábrázolása a Raspberry Pi segítségével: 5 lépés
Fény- és hőmérsékletérzékelő adatok olvasása és ábrázolása a Raspberry Pi segítségével: Ebben az utasításban megtanulja, hogyan kell fény- és hőmérséklet -érzékelőt olvasni a málna pi és az ADS1115 analóg -digitális konverter segítségével, és grafikonozni a matplotlib segítségével. Kezdjük a szükséges anyagokkal
Automatikus IoT előszobai éjszakai fény ESP8266 segítségével: 4 lépés (képekkel)
Automatikus IoT folyosói éjszakai fény az ESP8266 segítségével: Ezt a projektet egy másik tanulságos bejegyzésből származó lépcsőfény ihlette. A különbség az, hogy az áramkör agya ESP8266 -ot használ, ami azt jelenti, hogy IoT -eszköz lesz. Arra gondolok, hogy a folyosó éjszakai fénye
Irányítsa a háztartási gépeket az Alexa segítségével az ESP8266 vagy az ESP32 segítségével: 8 lépés
Irányítsa a háztartási gépeket Alexa segítségével az ESP8266 vagy ESP32 segítségével: Hé, mi újság, srácok! Akarsh itt a CETech -től. Ez a projektem segíteni fog az életed megkönnyítésében, és úgy fogsz érezni magad, mint egy király, miután irányítottad a házban lévő eszközöket, csak parancsot adva Alexának. A legfontosabb dolog e
Húzza a fény - fénymodult a Neopixel és a felhúzó kapcsoló segítségével: 6 lépés (képekkel)
Húzza a fény - fény modult a Neopixel & Pull Up kapcsolóval: A Light modul jellemzői Arduino Uno Hardver & ház az internetről vásárolt Neopixel & Tápegység kölcsönzött az Informatikai Iskolától & Terméktervezés Tápegység által vezérelt fénymodul Minden funkció