Table des matières:

Mesures de la lumière et des couleurs avec le Pimoroni Enviro:bit pour le Micro:bit : 5 étapes
Mesures de la lumière et des couleurs avec le Pimoroni Enviro:bit pour le Micro:bit : 5 étapes

Vidéo: Mesures de la lumière et des couleurs avec le Pimoroni Enviro:bit pour le Micro:bit : 5 étapes

Vidéo: Mesures de la lumière et des couleurs avec le Pimoroni Enviro:bit pour le Micro:bit : 5 étapes
Vidéo: Review of Pimoroni's Enviro+ board- Part2: LCD, noise level, light+proximity 2024, Novembre
Anonim
Mesures de la lumière et des couleurs avec le Pimoroni Enviro:bit pour le Micro:bit
Mesures de la lumière et des couleurs avec le Pimoroni Enviro:bit pour le Micro:bit
Mesures de la lumière et des couleurs avec le Pimoroni Enviro:bit pour le Micro:bit
Mesures de la lumière et des couleurs avec le Pimoroni Enviro:bit pour le Micro:bit
Mesures de la lumière et des couleurs avec le Pimoroni Enviro:bit pour le Micro:bit
Mesures de la lumière et des couleurs avec le Pimoroni Enviro:bit pour le Micro:bit

J'avais déjà travaillé sur certains appareils qui permettent des mesures de lumière et de couleur et vous pouvez trouver beaucoup de choses sur la théorie derrière de telles mesures les instructables ici et ici.

Pimoroni a récemment publié l'enviro:bit, un module complémentaire pour le micro:bit, qui comprend un microphone MEMS pour les mesures de niveau sonore, un capteur de température/humidité/pression atmosphérique BME280 et un capteur de lumière et de couleur TCS3475 (RGBC). De plus il y a deux LED placées sur les côtés du capteur de couleur, permettant de mesurer la couleur des objets par lumière réfléchie. Construire vous-même un outil pour effectuer ces mesures n'a jamais été aussi simple.

Je voudrais ici décrire comment l'enviro:bit peut être utilisé pour les mesures de couleur et de lumière et le script MakeCode qui permet de les effectuer. La combinaison de micro:bit et enviro:bit est un appareil agréable et peu coûteux pour démontrer les principes des mesures scientifiques et jouer avec eux.

Cette instructable fait partie du concours « Rainbow ». Si vous l'aimez, s'il vous plaît donnez-lui votre vote. MerciH

Étape 1: Matériaux utilisés

Micro:bit, 13 GBP chez Pimoroni.

Pimoroni Enviro:bit, 20 GBP chez Pimoroni.

Pimoroni Power:bit, 6 GBP chez Pimoroni. Vous pouvez également utiliser des batteries ou un LiPo pour le micro:bit

Bloc échantillon de filtre couleur Rosco Cinegel. J'ai eu le mien de Modulor, Berlin.

Gobelets en plastique de couleur IKEA. IKEA, Berlin.

Fleurs sauvages. Une prairie à Potsdam-Golm.

Étape 2: le script MakeCode/JavaScript

Pimoroni a développé une bibliothèque pour Enviro:bit, à la fois pour l'environnement de codage MakeCode/JavaScript et pour MicroPython. J'ai utilisé ici MakeCode, car les scripts peuvent être téléchargés directement sur le micro:bit et permettent le codage par blocs.

Le script lit les valeurs des canaux rouge, vert et bleu (RVB) et clair (C). Les premiers sont donnés dans des valeurs de 0 à 255, les seconds dans toute la plage de 0 à environ 61000.

La plage du canal clair est très large et permet des mesures de la lumière du jour brillante à une pièce sombre.

À l'heure actuelle, je ne comprends pas tous les détails de la fonction de mesure des couleurs, mais je suppose qu'ils ont mis en œuvre des mécanismes de correction et de normalisation.

Dans un premier temps, les valeurs des quatre canaux sont prises. Pour pouvoir afficher les résultats sur la matrice LED 5x5, les valeurs mesurées sont utilisées pour placer les résultats dans 5 (RVB) ou 10 (C) bacs, qui sont représentés par une LED dans un (R, V, B) ou deux (C) rangées.

Dans le cas de RVB, la mise à l'échelle est linéaire et la taille d'intervalle de chaque bac est de 51 unités de large. Dans le cas de C, la mise à l'échelle est logarithmique sur 10 pas (log3, donc chaque pas est le triple du précédent). Cela permet d'afficher des conditions très sombres et très lumineuses.

Appuyer sur le bouton A affiche les valeurs R, V et B en chiffres, appuyer sur B la valeur C. A+B active les LED et B les éteint.

soit bR = 0 // bacs

let bG = 0 let bB = 0 let bS = 0 let bC = 0 let bCx = 0 let S = 0 // valeurs mesurées let C = 0 let B = 0 let G = 0 let 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) { // Saturation 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 } // écrire dans 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) } })

Étape 3: Prise de mesures RVB: Mode lumière transmise

Prise de mesures RVB: mode lumière transmise
Prise de mesures RVB: mode lumière transmise
Prise de mesures RVB: mode lumière transmise
Prise de mesures RVB: mode lumière transmise
Prise de mesures RVB: mode lumière transmise
Prise de mesures RVB: mode lumière transmise
Prise de mesures RVB: mode lumière transmise
Prise de mesures RVB: mode lumière transmise

Comme indiqué précédemment, il existe deux modes de mesure des couleurs: la spectroscopie en lumière transmise et en lumière réfléchie. En mode lumière transmise, la lumière traverse un filtre coloré ou une solution jusqu'au capteur. Dans les mesures de lumière réfléchie, la lumière émise, par ex. des LED est réfléchie par un objet et détectée par le capteur.

Les valeurs RVB sont ensuite affichées dans les 3e à 5e rangées de la matrice LED micro:bit 5x5, les LED supérieures représentant les valeurs basses, les LED inférieures les valeurs élevées.

Pour les expériences présentées ici sur les mesures de lumière transmise, j'ai utilisé la lumière du jour et placé des filtres colorés provenant d'un pack d'échantillons Rosco devant le capteur. Vous pouvez voir les effets sur l'écran, en particulier dans le canal rouge. Regardez les photos et comparez les motifs.

Pour lire les valeurs réelles, appuyez simplement sur le bouton A.

Étape 4: lumière réfléchie RVB et mesures de luminosité

Mesures de la lumière réfléchie RVB et de la luminosité
Mesures de la lumière réfléchie RVB et de la luminosité
Mesures de la lumière réfléchie RVB et de la luminosité
Mesures de la lumière réfléchie RVB et de la luminosité
Mesures de la lumière réfléchie RVB et de la luminosité
Mesures de la lumière réfléchie RVB et de la luminosité

Pour les mesures de la lumière réfléchie, j'ai allumé les LED (bouton [A+B]) et j'ai placé des morceaux de tasses IKEA pour enfants aux couleurs vives devant le capteur. Comme on peut le voir sur les images, les valeurs RVB changent comme prévu.

Pour les mesures de luminosité, les valeurs faibles sont affichées dans la première ligne, les valeurs élevées dans la deuxième ligne. Valeurs basses dans la partie supérieure, valeurs plus élevées par les LED inférieures. Pour lire la valeur précise, appuyez sur le bouton B.

Étape 5: Mesures de la lumière réfléchie: Fleurs

Mesures de la lumière réfléchie: fleurs
Mesures de la lumière réfléchie: fleurs
Mesures de la lumière réfléchie: fleurs
Mesures de la lumière réfléchie: fleurs
Mesures de la lumière réfléchie: fleurs
Mesures de la lumière réfléchie: fleurs
Mesures de la lumière réfléchie: fleurs
Mesures de la lumière réfléchie: fleurs

J'ai cueilli des fleurs sauvages dans une prairie et j'ai essayé d'effectuer quelques mesures de couleur sur elles. Il s'agissait de pavot, de bleuet, de centaurée brune, de harkweed des murailles et d'une feuille de dilandelon. Les valeurs RVB étaient [R, G, B]:

  • aucun [92, 100, 105]
  • coquelicot (rouge) [208, 98, 99]
  • bleuet (bleu) [93, 96, 138]
  • centaurée brune (lilas) [122, 97, 133]
  • harkwede des murailles (jaune) [144, 109, 63]
  • feuille de pissenlit (vert) [164, 144, 124]

Ce qui correspond aux attentes, du moins pour les trois premières plantes. Pour afficher les couleurs à partir des valeurs, vous pouvez utiliser un calculateur de couleurs, comme celui ici.

Conseillé: