Il traîne souvent dans les labos une vieille carte arduino pleine de toiles d’araignées et quelques composants électroniques oubliés. Voici un premier tutoriel pour vous permettre de les prendre en main : la fabrication d’un « luxmetre »

Loin de moi l’idée de vous proposer un capteur calibré, nous allons juste réaliser un capteur sensible à la luminosité.

Matériel nécessaire :

– 1 carte arduino (uno, nano, etc… tout marche, on a juste besoin d’une entrée analogique)

– 1 photoresistance

– 1 resistance (ici 1 kiloohm mais on peut utiliser d’autres valeurs)

– quelques fils et une plaquette de prototypage

Il suffit de brancher les deux résistances en série, alimentées par l’arduino (entre le PIN 5V et le PIN GND pour ground) et ajouter un fil pour la mesure de la tension (ici le fil jaune) branché à une entrée analogique de la carte (ici le PIN A5 mais on peut prendre n’importe que PIN noté A pour analogique).

Cela donne le montage suivant :

Il faut ensuite programmer la carte arduino. Pour ça, on peut utiliser l’ide arduino téléchargeable ici https://www.arduino.cc/en/Main/Software.

Il faut bien choisir le type de carte (uno, nano ou autre), bien choisir le port com (normalement il apparaît dans la liste « ports » mais il faut le selectionner). Si vous avez un modèle chinois low cost, il sera nécessaire d’installer le pilote CH340 disponible ici car la puce qui gère l’USB est différente.

Une fois le code tapé, il faut le compiler et l’envoyer vers l’arduino grâce au bouton en forme de flèche vers la droite (téléverser).

Un premier code source utilisable pour mesurer la luminosité :

int value;       //declaration d’une variable de type integer,

//valeur mesuree par le CAN de l’arduino

void setup(void) {      //sera lancé une fois au demarrage

Serial.begin(9600);                        //initialisation de la connexion serie à

//9600 bauds

}

void loop(void) {                    //sera répété en boucle

value = analogRead(5);      //lecture du PIN analogique A5

Serial.println( (5000. / (value * 0.00488) – 1000.) ); //calcul et affichage de la valeur de la resistance

delay(10);                                                     //delai de 10 ms donc mesure à environ 100 Hz

}

Mais pourquoi 5000./(value*0.00488)-1000. ?

Le convertisseur analogique numérique de l’arduino nano (ou uno) est un convertisseur 10 bits, et il mesure entre 0 et 5V. Cela veut dire qu’il renvoie une valeur entière entre 0 et 1023 correspondant à la tension mesurée avec un pas de (5-0)/1023.=0.00488 V. Ainsi value*0.00488 donne la valeur de la tension aux bornes de la résistance fixe. En utilisant la loi d’ohm U = RI, on peut retrouver

Rphoto = 5000./(value*0.00488)-1000. Ohm

On peut ensuite obtenir les valeurs à partir de l’ide arduino en faisant « outils » puis « moniteur série ». Si le débit est bien fixé à 9600 bauds sur le moniteur, vous avez les valeurs qui défilent à l’écran.

On peut faire mieux et tracer directement une courbe. On utilise le menu « outils » puis « traceur série ». Encore une fois, il faut fixer le bon débit 9600 bauds et la courbe se trace et se met à l’échelle toute seule. Vous pouvez maintenant mesurer les variations de luminosité des néons de la salle 😉

 

Have fun ! Et à bientôt pour l’épisode 2

Jeremy Camponovo