Capteur de lumière analogique GA1A12S202

Capteur de lumière analogique GA1A12S202

L’éclairement lumineux mesure la sensation d’éclairement qu’on perçoit dans une situation donnée. Cette grandeur se mesure en lux, et correspond à 1 candela. stéradian/m². Nous verrons aujourd’hui comment mesurer cette valeur à l’aide d’un petit composant économique, la sonde analogique de luminosité GA1A12S202 de chez Adafruit.

Ce composant est minuscule (10 x 13 x 1.5mm), économique (moins de 4$, environ 3€), fonctionne avec une tension assez large (de 2.3 à 6V), et à une consommation négligeable (quelques centaines de µA au maximum). Le câblage est également très simple : il suffit de brancher la broche VCC (la plus à gauche) au 5V ou au 3.3V, la broche GND (la plus à droite) à la masse (0V du circuit), et enfin la broche OUT (broche centrale) à l’une des broches analogiques de votre Arduino ou votre Raspberry Pi. Ce composant est fait de façon à fournir une sortie inférieure à 3.3V même lorsqu’il est alimenté en 5V, on peut donc le brancher directement sur un composant 3.3V en sortie.

L’utilisation s’avère toutefois légèrement plus délicate que l’installation, sans toutefois être insurmontable. Nous verrons ceci en détails ici, et le code source complet d’un exemple fonctionnel est disponible sur le github du projet Milapli.

Le composant au centre de ce module retourne une intensité en µA qui est fonction de la mesure en lux. La sortie est logarithmique, et selon les spécifications complètes, celles ci obéissent à la formule suivante : Io=10*log(Ev), en µA.

Cependant, le module d’Adafruit retourne une tension, ce qui est plus simple à mesurer, puisqu’il suffit d’envoyer cette tension à notre convertisseur analogique-numérique. Une résistance de 68K a été utilisée pour réaliser cette conversion. Nous savons que U=R*I. U étant connue (c’est la valeur mesurée), et R fixe, on peut calculer I : I=U/R, soit I=U/68000.

Il est alors possible de calculer la quantité de lux mesurés :

Io=10*log(Ev), donc (Io/10)=log(Ev), donc Ev=(Io/10)^10. (Io/10 à la puissance 10).

Pour faire simple, je vous ai écrit un petit programme Arduino qui comporte des fonctions calculant la tension lue en volts, l’Intensité électrique en micro-ampères, et l’éclairement lumineux mesuré en lux.

Le code est commenté, et il y a également une fonction permettant de calculer la valeur moyenne de ce paramètre.

Je conduirai ultérieurement des tests pour avoir une idée de la précision de ce composant. Pour l’instant je trouve des valeurs cohérentes par rapport à des valeurs de référence.

Réseaux sociaux