Table des matières:

Calibrage de la luminosité des LED : 5 étapes
Calibrage de la luminosité des LED : 5 étapes

Vidéo: Calibrage de la luminosité des LED : 5 étapes

Vidéo: Calibrage de la luminosité des LED : 5 étapes
Vidéo: TUTO | CALIBRER SON ÉCRAN PC AVEC WINDOWS - AMÉLIORER LES COULEURS DE SON ÉCRAN 2024, Novembre
Anonim
Calibrage de la luminosité des LED
Calibrage de la luminosité des LED

Pendant que je faisais une guirlande lumineuse, j'ai réalisé que la valeur PWM n'est pas linéairement proportionnelle à la luminosité de la LED. En termes simples, si la valeur PWM est double, la luminosité n'est pas double; surtout lorsque PWM est proche du maximum, aucun changement n'est reconnaissable à mes yeux. J'ai pensé qu'il s'agissait d'un simple problème d'étalonnage ! et c'est ainsi que j'ai réalisé ce projet ! L'idée est de mesurer la luminosité d'une LED avec un appareil (capteur de luminosité ou photorésistance) et de trouver une corrélation entre la valeur PWM et la luminosité. Plus tard, si je règle la luminosité sur 50%, Arduino calculera le PWM correspondant et atténuera la LED en conséquence.

Par conséquent, j'ai besoin d'un capteur de luminosité et d'une LED pour mesurer la luminosité. En utilisant une carte SD, je vais enregistrer les données pour une procédure d'ajustement ultérieure. L'essayage se fera sous Excel (ou tout autre programme). La sortie sera utilisée dans le code Arduino, et c'est tout ! Cela devrait être fait une fois. Ensuite, vous pouvez utiliser le paramètre d'étalonnage pour toujours !

Étape 1: Pièces

1- WEMOS mini D1: Aliexpress 3€

2- TSL 2561 (Capteur de luminosité): Aliexpress 3€

3- Module carte SD: Aliexpress 1€

4- DEL

5- Résistance 220 ohm

6- fils

coût total: 8 -10 €

Étape 2: Câblage

Câblage
Câblage
Câblage
Câblage
Câblage
Câblage

Les fils du module de carte SD et du capteur de luminosité ne doivent pas être changés (la plupart d'entre eux). La LED doit être connectée à une broche PWM.

Étape 3: Coder

Code
Code

J'ai combiné trois morceaux de codes:

Carte SD: exemple utilisé >SD > ReadWrite dans Arduino IDE

TSL 2561: exemple utilisé de la bibliothèque Adafruit TSL2561 (sensorapi); vous le trouverez dans des exemples, si vous installez la bibliothèque (je suppose que vous savez comment installer une bibliothèque dans Arduino IDE).

LED fading: exemples utilisés > Analogique > fading

Le code, après avoir initialisé les modules, assombrira la led et lira la luminosité et l'enregistrera dans la carte SD. de cette façon, je vais collecter des données pour l'étalonnage.

J'ai modifié chacun des codes en fonction de mes besoins. le code final joint.

Le signal doit ressembler à l'image ci-jointe. Malheureusement j'ai oublié de prendre une photo donc je l'ai retracée dans excel pour vous montrer comment ça devrait être.

REMARQUE: j'utilise wemo mini D1 au lieu d'Arduino. pour une raison que je ne connais pas, le PWM est compris entre 0 et 1023. Dans Arduino, il devrait être compris entre 0 et 255. Si vous souhaitez utiliser le code pour arduino, vous devez vous en occuper (ligne 90).

Étape 4: montage et utilisation

Montage et utilisation
Montage et utilisation
Montage et utilisation
Montage et utilisation

après avoir collecté les données, j'ai ouvert le fichier dans Excel et tracé les données (regardez l'image). la première colonne est la valeur PWM et la seconde est le lux (lecture du capteur, l'unité importe peu). Par conséquent, tracez lux (axe des y) par rapport à PWM (axe des x). Comme vous pouvez le voir, la luminosité est linéairement proportionnelle à la valeur PWM. J'y ai mis une ligne.

Pour ajuster une ligne, procédez comme suit:

1- tracer les données (insérer> nuage de points), je suppose que vous savez comment.

2- clic droit sur les données tracées

3- cliquez sur la ligne de tendance.

4- (dans excel 2013) sur le côté droit un panneau apparaît. Choisissez linéaire. En bas, choisissez "afficher l'équation sur le graphique".

La relation linéaire est différente de ma perception. Par conséquent, je pense qu'il devrait y avoir une relation logarithmique entre ma perception et la luminosité (c'est le moyen le plus simple qui m'est venu à l'esprit !). J'ai donc pris la pente de l'ajustement. L'interception n'est pas importante, car elle dépend de la pollution lumineuse environnante ! à la place, j'ai ajouté 1. Parce que Log10(0) est infini. J'ai donc besoin d'une interception pour résoudre le problème. Dans mon cas, l'équation ressemble à ceci:

y = Log10 (0,08 x +1), y est la luminosité et x est la valeur PWM (0-1023)

J'ai normalisé l'équation à la valeur maximale. alors la sortie sonnée est toujours comprise entre 0 et 100. de cette façon, je peux demander à l'arduino une certaine luminosité relative, sans se soucier de la luminosité absolue maximale.

y =Log10 (0,08 x +1)*100/1,914

Parce que dans arduino, mon entrée est la luminosité relative, je dois réorganiser l'équation pour x (PWM):

x = (10^(y*1,914/100) - 1) / 0,08

en utilisant cette équation dans le code, nous pouvons obtenir un changement de luminosité linéaire. Vous demandez donc à arduino une luminosité (y) comprise entre 0 et 100, et arduino calcule la valeur PWM correspondante. de cette façon, si la luminosité est double, votre perception est également la même.

si vous souhaitez l'utiliser dans votre code, vous feriez mieux d'ajouter ces lignes:

luminosité=50; // en pourcentage

PWM = puissance (10, luminosité * 1,914/100)-1)/0,0793;

analogWrite (ledpin, PWM);

REMARQUE: la normalisation se fait pour un PWM maximum de 1023 (pour Wemos mini D1). Pour Arduino, le PWM est compris entre 0 et 255. vous devez le calculer en conséquence.

NOTE2: J'ai ajouté un graphique log-linéaire pour montrer comment notre perception et notre valeur PWM sont liées. vous ne devriez pas l'utiliser pour le montage!

Étape 5: Conclusion

l'étalonnage fonctionne bien pour moi. Lorsque les valeurs PWM sont grandes, je peux voir la différence. Avant, comme les grandes valeurs, je ne pouvais pas voir l'effet de la gradation. Fondamentalement, la plupart des changements ont été effectués dans une petite gamme de PWM. maintenant il est calibré !

chaque LED, spécialement de couleurs différentes, doit avoir ses propres paramètres d'étalonnage. Cependant, j'ai calibré une LED bleue et utilisé le paramètre pour une LED blanche et le résultat était acceptable. alors peut-être pouvez-vous utiliser mon paramètre d'étalonnage sans vous déranger !!

Conseillé: