INHOUDSOPGAWE:
- Stap 1: Gebruikte materiaal
- Stap 2: Die MakeCode/JavaScript -skrip
- Stap 3: RGB -metings doen: transmissieligmodus
- Stap 4: Weerkaatsing van ligte RGB en helderheidmetings
- Stap 5: Weerspieël ligmetings: blomme
Video: Ligte en kleurmetings Met die Pimoroni Enviro: bit vir die Micro: bit: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Ek het voorheen gewerk aan 'n paar toestelle wat lig- en kleurmetings moontlik maak, en u kan baie vind oor die teorie agter sulke metings, die instruksies hier en hier.
Pimoroni het onlangs die enviro: bit vrygestel, 'n byvoeging vir die micro: bit, met 'n MEMS-mikrofoon vir klankvlakmetings, 'n BME280 temperatuur/humiditeit/lugdruksensor en 'n TCS3475 lig- en kleursensor (RGBC). Daarbenewens is daar twee LED's aan die kante van die kleursensor geplaas, waarmee u die kleur van voorwerpe met weerkaatsende lig kan meet. Dit was nog nooit so maklik om 'n instrument te bou om hierdie metings uit te voer nie.
Ek wil hier beskryf hoe die enviro: bit gebruik kan word vir kleur- en ligmetings en die MakeCode -script waarmee u dit kan uitvoer. Die kombinasie van micro: bit en enviro: bit is 'n goeie en goedkoop toestel om die beginsels van wetenskaplike metings prakties te demonstreer en daarmee te speel.
Hierdie instruksies is deel van die "Rainbow" -kompetisie. As jy daarvan hou, gee dit asseblief jou stem. Dankie H.
Stap 1: Gebruikte materiaal
Mikro: bietjie, 13 GBP by Pimoroni.
Pimoroni Enviro: bietjie, 20 GBP by Pimoroni.
Pimoroni Power: bietjie, 6 GBP by Piomoroni. U kan ook batterypakke of 'n LiPo vir die micro: bit gebruik
Rosco Cinegel kleurfiltermonsterblok. Ek het myne by Modulor, Berlyn, gekry.
IKEA gekleurde plastiekbekers. IKEA, Berlyn.
Wilde blomme. 'N Weide by Potsdam-Golm.
Stap 2: Die MakeCode/JavaScript -skrip
Pimoroni het 'n biblioteek vir die Enviro: bit ontwikkel, beide vir die MakeCode/JavaScript -koderingsomgewing en vir MicroPython. Ek het hier MakeCode gebruik, aangesien die skrifte direk na die micro: bit opgelaai kan word en blokkodering moontlik is.
Die skrif lees die waardes van die rooi, groen en blou (RGB) en die duidelike (C) kanale. Die eerstes word gegee in waardes van 0 tot 255, die tweede in die hele reeks van 0 tot ongeveer 61000.
Die omvang van die duidelike kanaal is baie breed en maak metings moontlik van helder daglig tot 'n donker kamer.
Ek verstaan nou nie al die besonderhede van die kleurmetingsfunksie nie, maar ek neem aan dat dit 'n paar regstellings- en normaliseringsmeganismes het.
Aanvanklik word die waardes van al vier kanale geneem. Om die resultate op die 5x5 LED -matriks te kan vertoon, word meetwaardes gebruik om die resultate in 5 (RGB) of 10 (C) bakke te plaas, wat deur een LED in een (R, G, B) of twee (C) rye.
In die geval van RGB is die skaal lineêr en is die intervalgrootte van elke as 51 eenhede breed. In die geval van C is die skaal logaritmies oor 10 stappe (log3, dus is elke stap die drievoud van die vorige). Dit laat baie swak en baie helder toestande toe.
Deur op knoppie A te druk, word die R-, G- en B -waardes in getalle gedruk, terwyl B op die C -waarde gedruk word. A+B aktiveer die LED's en B sluit hulle af.
laat bR = 0 // asblikke
laat bG = 0 laat bB = 0 laat bS = 0 laat bC = 0 laat bCx = 0 laat S = 0 // gemeet waardes laat C = 0 laat B = 0 laat G = 0 laat R = 0 basies.vir altyd (() => {if (input.buttonIsPressed (Button. AB)) {envirobit.setLEDs (envirobit. OnOff. On)} anders as (input.buttonIsPressed (Button. A)) {basic.showString ("R:" + R + "G:" + G + "B:" + B)} anders as (input.buttonIsPressed (Button. B)) {basic.showString ("C:" + C) envirobit.setLEDs (envirobit. OnOff. Off)} anders {basic.pause (100) R = envirobit.getRed () G = envirobit.getGreen () B = envirobit.getBlue () C = envirobit.getLight () bC = 5 bCx = 5 if (R> = 204) { // binning, maksimum 255 bR = 4} anders as (R> = 153) {bR = 3} anders as (R> = 102) {bR = 2} anders as (R> = 51) {bR = 1} anders {bR = 0} as (G> = 204) {bG = 4} anders as (G> = 153) {bG = 3} anders as (G> = 102) {bG = 2} anders as (G> = 51) {bG = 1} anders {bG = 0} as (B> = 204) {bB = 4} anders as (B> = 153) {bB = 3} anders as (B> = 102) {bB = 2} anders as (B> = 51) {bB = 1} anders {bB = 0} as (C> = 60000) {// Versadiging bCx = 4} anders as (C> = 20000) {bCx = 3} anders as (C> = 6600) {bCx = 2} anders as (C> = 2200) {bCx = 1} anders as (C> = 729) {bCx = 0} anders as (C> = 243) {bC = 4} anders as (C> = 81) {bC = 3} anders as (C> = 27) {bC = 2} anders as (C> = 9) {bC = 1} anders {bC = 0} // skryf aan led basic.clearScreen () as (bCx <5) {led.plot (1, bCx)} anders {led.plot (0, bC)} led.plot (2, bR) led.plot (3, bG) led.plot (4, bB)}})
Stap 3: RGB -metings doen: transmissieligmodus
Soos voorheen aangedui, is daar twee maniere van kleurmetings: transmissie- en weerkaatsende ligspektroskopie. In die transmissieligmodus gaan lig deur 'n gekleurde filter of oplossing na die sensor. In weerkaatsingsmetings word lig uitgestraal bv. van die LED's word deur 'n voorwerp gereflekteer en deur die sensor bespeur.
Die RGB -waardes word dan in die 3de tot 5de rye van die mikro: bis 5x5 LED -matriks vertoon, met die boonste LED's laag, die onderste LED's die hoë waardes.
Vir die eksperimente wat hier op transmissieligte metings getoon word, het ek daglig gebruik en gekleurde filters uit 'n Rosco -monsterpakket voor die sensor geplaas. U kan die effekte op die skerm sien, veral in die rooi kanaal. Kyk na die prente en vergelyk die patrone.
Druk die knoppie A. om die werklike waardes te lees.
Stap 4: Weerkaatsing van ligte RGB en helderheidmetings
Vir metings van weerkaatsende lig het ek die LED's aangeskakel (knoppie [A+B]) en 'n paar helderkleurige stukke IKEA kinderbekers voor die sensor geplaas. Soos uit die foto's blyk, verander die RGB -waardes soos verwag.
Vir helderheidmetings word lae waardes in die eerste, hoë waardes in die tweede ry vertoon. Lae waardes in die boonste, hoër waardes deur die onderste LED's. Druk die knoppie B. om die presiese waarde te lees.
Stap 5: Weerspieël ligmetings: blomme
Ek het 'n paar wilde blomme uit 'n weide gepluk en probeer om 'n paar kleurmetings daarop uit te voer. Dit was papawer, mielieblom, bruin rietweefsel, muurharkweed en 'n blommetjie van dilleblomme. Die RGB -waardes was [R, G, B]:
- geen [92, 100, 105]
- papaver (rooi) [208, 98, 99]
- koringblom (blou) [93, 96, 138]
- bruin knypweed (lila) [122, 97, 133]
- muurharkweed (geel) [144, 109, 63]
- paardeblaarblaar (groen) [164, 144, 124]
Dit pas by die verwagtinge, ten minste vir die eerste drie plante. Om die kleure uit die waardes te vertoon, kan u 'n kleurrekenaar gebruik soos hier.
Aanbeveel:
Die Pimoroni Enviro+ FeatherWing met die Adafruit Feather NRF52840 Express gebruik: 8 stappe
Gebruik van die Pimoroni Enviro+ FeatherWing Met die Adafruit Feather NRF52840 Express: Die Pimoroni Enviro+ FeatherWing is 'n bord vol sensors wat ontwerp is om te werk met die Adafruit Feather -reeks planke. Dit is 'n nuttige plek om te begin vir almal wat belangstel in omgewingsmonitering, atmosferiese besoedeling en data -ontginning. Ek
Instruksies vir die maak van 'n vierstaaf -koppeling vir voetsteun in die middel: 9 stappe (met foto's)
Instruksies vir die maak van 'n viertrekstang vir voetsteun in die middel: middelwielaangedrewe rolstoele (PWC) het die afgelope paar jaar gewilder geword. As gevolg van die plasing van die voorste wiele, is die tradisionele voetstutte aan die sykant egter vervang deur 'n enkele voetsteun in die middel. Ongelukkig is die sentrum
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: 9 stappe (met foto's)
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: die middelste voetsteunhysers moet goed onder die sitplek geberg word en laer om te ontplooi. 'N Meganisme vir die onafhanklike werking van die opberging en ontplooiing van voetsteun is nie ingesluit by rolstoele op die mark nie, en PWC -gebruikers het die behoefte uitgespreek
Goedkoop alternatief vir ligte tente vir foto's: 3 stappe
Goedkoop ligte tent -alternatief vir foto's: Hallo, dit is my eerste instruksie. Ek het 'n goedkoop oplossing nodig gehad om beter foto's van kleiner items te neem. Daarom het ek hierdie ligte tent gemaak van materiaal in die huis. Uiteindelik kos dit my ongeveer 1,00 vir 'n paar plakkaatborde. Alles word herwin
Charlieplexed -ry LED -ligte, vir die Arduino: 9 stappe (met foto's)
Charlieplexed Row of LED Lights, vir die Arduino: Dit is my instruksie om 'n LED -ry/string met die arduino te kombineer. Ek het opgemerk dat daar nie baie instruksies was oor die gebruik van 'n arduino nie, maar ek het dit gemaak. Ek het probeer om die projek eenvoudig te hou, maar dit werk nie so goed nie