Inhaltsverzeichnis:
- Schritt 1: Verwendete Materialien
- Schritt 2: Das MakeCode/JavaScript-Skript
- Schritt 3: Durchführen von RGB-Messungen: Durchlichtmodus
- Schritt 4: Reflektiertes Licht RGB und Helligkeitsmessungen
- Schritt 5: Messungen des reflektierten Lichts: Blumen
Video: Licht- und Farbmessungen mit dem Pimoroni Enviro:bit für das Micro:bit - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
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
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
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
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:
Arduino-Programmierung über das Handy -- Arduinodroid -- Arduino-Ide für Android -- Blinzeln: 4 Schritte
Arduino-Programmierung über das Handy || Arduinodroid || Arduino-Ide für Android || Blink: Bitte abonnieren Sie meinen Youtube-Kanal für weitere Videos…… Arduino ist ein Board, das direkt über USB programmiert werden kann. Es ist sehr einfach und günstig für College- und Schulprojekte oder sogar für Produktprototypen. Viele Produkte bauen zunächst darauf für i
IMovie für das Klassenzimmer: 4 Schritte
IMovie für das Klassenzimmer: In dieser Anleitung erfahren Sie, wie Sie Ihr eigenes iMovie planen, erstellen und bearbeiten, um bei dieser lästigen Videoaufgabe ein A zu bekommen. Um einen iMovie zu erstellen, benötigen Sie diese Materialien: einen Mac-Computer, die iMovie-Anwendung
Wir stellen vor: 'Deodorino' - das Infrarot-gesteuerte Arduino in einem leeren Deodorant-Stick. Klicken Sie auf das 1. Foto: 7 Schritte
Wir stellen vor: 'Deodorino' - das Infrarot-gesteuerte Arduino in einem leeren Deodorant-Stick. Klicken Sie auf das 1. Foto: Jetzt zum Detail
So erstellen Sie einen Tiefpassfilter für einen Subwoofer mit dem NE5532-IC - DIY (ELECTROINDIA): 4 Schritte
So erstellen Sie einen Tiefpassfilter für einen Subwoofer mit dem NE5532-IC | DIY (ELECTROINDIA): In diesem Projekt zeige ich Ihnen, wie Sie einen Tiefpassfilter für Subwoofer herstellen können. Los geht's
Das Optimierungshandbuch für Windows XP: 7 Schritte
Der Leitfaden zur Optimierung von Windows XP: Der vollständige Leitfaden zur Optimierung von Windows XP. Diese Anleitung hält Ihren Computer reaktionsschnell und bissig