Inhaltsverzeichnis:

Licht- und Farbmessungen mit dem Pimoroni Enviro:bit für das Micro:bit - Gunook
Licht- und Farbmessungen mit dem Pimoroni Enviro:bit für das Micro:bit - Gunook

Video: Licht- und Farbmessungen mit dem Pimoroni Enviro:bit für das Micro:bit - Gunook

Video: Licht- und Farbmessungen mit dem Pimoroni Enviro:bit für das Micro:bit - Gunook
Video: Color measurement with fiber optic sensor technology or Farbmessung mit faseroptischer Sensorik 2024, Juli
Anonim
Licht- und Farbmessungen mit dem Pimoroni Enviro:bit für das Micro:bit
Licht- und Farbmessungen mit dem Pimoroni Enviro:bit für das Micro:bit
Licht- und Farbmessungen mit dem Pimoroni Enviro:bit für das Micro:bit
Licht- und Farbmessungen mit dem Pimoroni Enviro:bit für das Micro:bit
Licht- und Farbmessungen mit dem Pimoroni Enviro:bit für das Micro:bit
Licht- und Farbmessungen mit dem Pimoroni Enviro:bit für das Micro:bit

Ich hatte zuvor an einigen Geräten gearbeitet, die Licht- und Farbmessungen ermöglichen, und Sie können hier und hier viel über die Theorie hinter solchen Messungen finden.

Pimoroni hat kürzlich das enviro:bit veröffentlicht, ein Add-On für das micro:bit, das mit einem MEMS-Mikrofon für Schallpegelmessungen, einem BME280 Temperatur-/Feuchtigkeits-/Luftdrucksensor und einem TCS3475 Licht- und Farbsensor (RGBC) ausgestattet ist. Darüber hinaus befinden sich zwei LEDs an den Seiten des Farbsensors, die es ermöglichen, die Farbe von Objekten durch reflektiertes Licht zu messen. Es war noch nie so einfach, selbst ein Werkzeug zu bauen, um diese Messungen durchzuführen.

Ich möchte hier beschreiben, wie das enviro:bit für Farb- und Lichtmessungen verwendet werden kann und das MakeCode-Skript, mit dem diese durchgeführt werden können. Die Kombination aus micro:bit und enviro:bit ist ein schönes und preiswertes Gerät, um die Prinzipien wissenschaftlicher Messungen praxisnah zu demonstrieren und damit zu spielen.

Dieses anweisbare ist Teil des "Regenbogen" -Wettbewerbs. Wenn es Ihnen gefällt, geben Sie es bitte ab. DankeH

Schritt 1: Verwendete Materialien

Micro:bit, 13 GBP bei Pimoroni.

Pimoroni Enviro:bit, 20 GBP bei Pimoroni.

Pimoroni Power:bit, 6 GBP bei Piomoroni. Sie können auch Akkupacks oder einen LiPo für das micro:bit verwenden

Rosco Cinegel Farbfilter-Probenblock. Ich habe meine von Modulor, Berlin.

IKEA farbige Plastikbecher. Ikea, Berlin.

Wilde Blumen. Eine Wiese bei Potsdam-Golm.

Schritt 2: Das MakeCode/JavaScript-Skript

Pimoroni hat eine Bibliothek für Enviro:bit entwickelt, sowohl für die Codierungsumgebung MakeCode/JavaScript als auch für MicroPython. Ich habe hier MakeCode verwendet, da die Skripte direkt auf das micro:bit hochgeladen werden können und Blockcodierung ermöglicht.

Das Skript liest die Werte der Rot-, Grün- und Blau- (RGB) und der klaren (C) Kanäle. Die ersten werden in Werten von 0 bis 255 angegeben, die zweiten im gesamten Bereich von 0 bis etwa 61000.

Die Reichweite des klaren Kanals ist sehr groß und ermöglicht Messungen von hellem Tageslicht bis in einen dunklen Raum.

Ich verstehe jetzt nicht alle Details der Farbmessfunktion, gehe aber davon aus, dass sie einige Korrektur- und Normalisierungsmechanismen implementiert haben.

Zunächst werden die Werte aller vier Kanäle genommen. Um die Ergebnisse auf der 5x5 LED-Matrix anzeigen zu können, werden Messwerte verwendet, um die Ergebnisse in 5 (RGB) oder 10 (C) Bins zu platzieren, die durch eine LED in entweder einem (R, G, B) oder. dargestellt werden zwei (C) Reihen.

Im Fall von RGB ist die Skalierung linear und die Intervallgröße jedes Bins ist 51 Einheiten breit. Im Fall von C ist die Skalierung logarithmisch über 10 Schritte (log3, also ist jeder Schritt das 3-fache des vorherigen). Dies ermöglicht es, sehr dunkle und sehr helle Bedingungen gleichermaßen anzuzeigen.

Durch Drücken von Knopf A werden die R-, G- und B-Werte in Zahlen angezeigt, durch Drücken von B wird der C-Wert angezeigt. A+B aktiviert die LEDs und B schaltet sie aus.

sei bR = 0 // Bins

lass bG = 0 lass bB = 0 lass bS = 0 lass bC = 0 lass bCx = 0 lass S = 0 // Messwerte lass C = 0 lass B = 0 lass G = 0 lass 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) } 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) { // Sättigung 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 } // schreibe in 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) } })

Schritt 3: Durchführen von RGB-Messungen: Durchlichtmodus

Durchführen von RGB-Messungen: Durchlichtmodus
Durchführen von RGB-Messungen: Durchlichtmodus
Durchführen von RGB-Messungen: Durchlichtmodus
Durchführen von RGB-Messungen: Durchlichtmodus
Durchführen von RGB-Messungen: Durchlichtmodus
Durchführen von RGB-Messungen: Durchlichtmodus
Durchführen von RGB-Messungen: Durchlichtmodus
Durchführen von RGB-Messungen: Durchlichtmodus

Wie bereits erwähnt, gibt es zwei Modi der Farbmessung: Durchlicht- und Auflichtspektroskopie. Im Durchlichtmodus gelangt Licht durch einen Farbfilter oder eine Lösung zum Sensor. Bei Auflichtmessungen wird emittiertes Licht z. B. von den LEDs wird von einem Objekt reflektiert und vom Sensor erkannt.

Die RGB-Werte werden dann in der 3. bis 5. Reihe der micro:bit 5x5 LED-Matrix angezeigt, wobei die oberen LEDs die niedrigen, die unteren LEDs die hohen Werte darstellen.

Für die hier gezeigten Experimente zur Durchlichtmessung habe ich Tageslicht verwendet und Farbfilter aus einem Rosco-Probenpaket vor den Sensor gelegt. Besonders im roten Kanal sieht man die Effekte auf dem Display. Schauen Sie sich die Bilder an und vergleichen Sie die Muster.

Um die Istwerte abzulesen, drücken Sie einfach die Taste A.

Schritt 4: Reflektiertes Licht RGB und Helligkeitsmessungen

Reflektiertes Licht RGB und Helligkeitsmessungen
Reflektiertes Licht RGB und Helligkeitsmessungen
Reflektiertes Licht RGB und Helligkeitsmessungen
Reflektiertes Licht RGB und Helligkeitsmessungen
Reflektiertes Licht RGB und Helligkeitsmessungen
Reflektiertes Licht RGB und Helligkeitsmessungen

Für Auflichtmessungen habe ich die LEDs eingeschaltet (Taste [A+B]) und einige bunte Stücke von IKEA Kinderbechern vor den Sensor gestellt. Wie auf den Bildern zu sehen ist, ändern sich die RGB-Werte erwartungsgemäß.

Bei Helligkeitsmessungen werden niedrige Werte in der ersten, hohe Werte in der zweiten Zeile angezeigt. Niedrige Werte in den oberen, höhere Werte in den unteren LEDs. Um den genauen Wert abzulesen, drücken Sie die Taste B.

Schritt 5: Messungen des reflektierten Lichts: Blumen

Messungen des reflektierten Lichts: Blumen
Messungen des reflektierten Lichts: Blumen
Messungen des reflektierten Lichts: Blumen
Messungen des reflektierten Lichts: Blumen
Messungen des reflektierten Lichts: Blumen
Messungen des reflektierten Lichts: Blumen
Messungen des reflektierten Lichts: Blumen
Messungen des reflektierten Lichts: Blumen

Ich habe einige Wildblumen von einer Wiese gepflückt und versucht, einige Farbmessungen an ihnen durchzuführen. Es waren Mohn, Kornblume, braune Flockenblume, Mauer-Harkweed und ein Dilandelonblatt. Die RGB-Werte waren [R, G, B]:

  • keine [92, 100, 105]
  • Mohn (rot) [208, 98, 99]
  • Kornblume (blau) [93, 96, 138]
  • braune Flockenblume (lila) [122, 97, 133]
  • Mauer-Harkwee (gelb) [144, 109, 63]
  • Löwenzahnblatt (grün) [164, 144, 124]

Was zumindest für die ersten drei Pflanzen den Erwartungen entspricht. Um die Farben aus den Werten anzuzeigen, können Sie einen Farbrechner wie den hier verwenden.

Empfohlen: