Leçon 6

Les entrées analogiques

Le potientiomètre analogique


Le potentiomètre est une résistance qui varie.
Il a trois a trois bornes (pattes). Les deux bornes à ses extrémités, A et B, représentent la résistance totale du potentiomètre. Cette résistance est fixe. Celle du mileu, C, représente la partie variable de la résistance.
En se basant sur le shcéma de droite, la résistance totale du potentiomètre est R=R1+R2. Si on tourne le potentiomètre vers la gauche, R1 diminue et R2 augmente, la différence de tension entre A et C sera minimale et celle entre C et B maximale. Inversement si on tourne le potentiomètre vers la droite , R1 augmente et R2 diminue, la différence de tension entre A et C sera maximale et celle entre C et B minimale.
Ce montage est appelé pont diviseur de tensions.
Comme le montre le dessin ci-dessous nous allons l'utiliser en branchant la patte du milieu au 5v de l'Arduino.
Puis nous mettrons une LED et sa résisatnce de 220v avant le Groung.
Reproduire le montage ci-dessous où seulement la résistance R1 sera sollicitée.

Nous voyons que la résistance passe de 0 (lampe qui éclaire avec le plus d'intensité) à une résistance maximale (lampe éteinte).

Les entrées analogiques

Dans les cours précédents nous avons utilisé des entrées numériques qui ne prenaient que deux valeurs : 1 ou 0 . Nous avons branché un bouton poussoir sur une des pin allant de 1 à 13 que nous avons déclaré en lecture avec l'instruction pinMode(pin,INPUT), puis nous avons lu la valeur 0 ou 1 à l'aide de l'instruction digitalRead(pin).
On dira que dans un cas plus général une entrée numérique prendra un nombre fini de valeurs.
En faisant tourner le bouton du potentiomètre on fait varier la tension à ses bornes de 0 V à 5 V. Autrement dit on peut obtenir un nombre infini de valeurs comprises dans l'intervalle [0;5]. Et donc l'idée est de transformer cette infinité par un nombre fini. Chercher la valeur numérique d'un signal analogique s'appelle la quantification. Pour transformer un signal analogique en signal numérique, il nous faut un convertisseur analogique numérique, qu'on appelle plus simplement CAN. La carte Arduino possède 6 CAN : A0, A1, A2, A3, A4 et A5.
Et enfin, contrairement aux entrées numériques nous ne déclarerons pas le mode du pin (INPUT) et pour lire sa valeur nous utiliserons l'instruction analogRead(pin)

En connectant un fil sur une de ces entrés pour recevoir un signal analogique, la carte Arduino le transformera en signal numérique compris entre 0 et 1023.
Reproduire le montage et recopiez_le script can_A0 ci-desous puis testez-le.

Exercice 1

Dans cet exercice vous allez proposer un montage puis écrire un script potentiometre_led qui permettra de faire clignoter une LED plus ou moins vite en fonction de la position du curseur du potentiomètre.

Pour le montage, nous connecterons une diode sur le pin 8 (avec la résistance qui va bien ) et le potentiomètre sur le pin A0.
Complétez le script ci-dessous pour obtenir le résultat souhaité.

Le mappage des valeurs

Le langage de l'Arduino permet de convertir une valeur entière située dans l'intervalle [0;1023] en une valeur entière située dans un autre intervalle. Autrement dit on fait un changement d'échelle.
Cette conversion se fait à l'aide de la fonction map(valeur,min,max,transMin,transMax)
Ainsi dans l'exercice précédent il suffit d'écrire dt = map(valPot,0,1023,500,100) pour passer de l'intervalle [0;1023] à l'intervalle [100;500] sachant que 1023 est transformé en 100 et 0 en 500.
La valeur valPot située entre 0 et 1023 sera convertie en un entier situé entre 500 et 100.
Modifiez le srcipt précédent en utilisant cette fonction.

Les capteurs de température

Exercice 2 : le détecteur de mensonges

Dans cet exercice nous allons utiliser le capteur de température TMP36 pour mesurer la chaleur de votre peau.
Comme avec le potentiomètre le capteur de température va faire varier une résistance, mais contrairement au premier, on ne tourne pas un bouton mais c'est la température qui fera varier la résistance.
Ce composant délivre une tension proportionnelle à la température captée. Il a trois pattes, une qui se connecte au 5 v de la carte Arduino, une autre qui se connecte à la masse et enfin celle du milieu communiquera la tension variable à la carte Arduino via un connecteur logique.
Dans cet exercice vous allumerez une ou deux ou trois LED en fonction du signal fourni par le capteur comme décrit ci-dessous.

Enfin pour convertir la signal analogique envoyé par le capteur, valeur entre 0 et 1023, en tension comprise entre 0v et 5v on utilisera la formule : voltage=(valCapteur/1024.0)*5.0
Et pour convertir la tension en degré celsus on utilisera la formule : temperature=(voltage-0.5)*100;

Pour le montage vous brancherez les trois LED aux sorties numériques 2, 3 et 4.
Puis vous brancherez le capteur sur la breadboard avec la partie ronde opposée à la carte. Puis la partie plate face à vous, vous reliez la patte de gauche au 5 v de la carte, la patte de droite à la masse et la patte du milieu à la broche A0.

Compétez le code ci-dessous.

Les photorésistances

Exercice 3

Dans cet exercice nous allons utiliser le une photorésistance . C'est un capteur dont la résistance varie en fonction de la quantité de lumière reçue. Dans cet exercice une LED s'allumera au dessous d'une certtaine quantité de lumière.

Modifiez l'exercice précédent afin d'allumer une, deux ou trois LED selon l'intensité lumineuse.

Le buzzer

Dans cet exercice nous allons utiliser une photorésistance et un buzzer.
Le buzzer émettra un son dont la fréquence sera liée à la quantité de lumière perçue par la photorésistance.
Le buzzer fonctionne via l'instruction tone(pin,frequence,temps)pin est la broche qui envoie du courant, frequence, la fréquence du son et temps, la durée du son.
Reproduire le montage ci-dessous où le buzzzer est branché à la masse et à la broche 8 de l' Arduino puis la photorésistance au 5 v et à l'entrée analogitque A0 via une résistance de 10 kΩ. Enfin recopiez le script.

Modifier l'intervalle [400;500] des fréquences pour obtenir d'autres sons.

Exercice 4 : un clavier

Dans cet exercice vous allez construire un clavier à quatre touches qui seront des boutons poussoirs pour les sons do, ré, mi et fa. Le buzzer sera relié à la broche 8 et le signal éléectrique à la broche A0. C'est l'intensité du signal électrique qui indiquera le son à jouer car les boutons poussoirs placés en parallèle seront précédés d'une résistance différente.
Reproduire le montage ci-dessous sachant que le premer bouton n'a pas de résistance, le second, une résistance de 220 Ω la troisième de 10 kΩ et la quatrième de 1MΩ. Enfin on utilisera une nouvelle résistance de 10 kΩ juste avant la sortie du signal électrique pour éviter le côté erratique vu précédemment.
Après avoir réalisé le montage, recopiez et complétez le script.