ACQUERIR
Conversion Analogique/Numérique

 
I) Maquette à base de picaxe 08M/ carte 'schools Experimenter'

Objectif: comprendre 
la notion de conversion grandeur analogique/grandeur numérique  au travers d'un exemple.

Observation Fonctionnelle:



le boitier des 3e
Principe physique: '... en passant la main devant la photorésistance ...nous  modifions la valeur de cette résistance... permettant ainsi d' effectuer une mesure de l'intensité lumineuse'.

Ce que nous observons:
En passant la main devant un capteur, en éloignant et rapprochant cette main,... nous faisons varier le son émis par un 'petit haut parleur' (un buzzer de qualité)
Nous savons par ailleurs que le son est une fréquence audible par l'oreille.

FU:
Nous avons donc la Fonction d'Usage:
..... POUVOIR MODIFIER UNE HAUTEUR de SON/NOTE par une COMMANDE  SANS CONTACT.

Exemple d'application 'ludique':  nous pouvons utiliser ce montage comme une 'harpe à détection de lumière'.
 Exemple d'application 'sanitaire':  nous pouvons utiliser ce montage comme un 'déclenchement d'un robinet automatique'.
 
Principe et fonction technique, élément d'analyse:

FT:   Nous allons reformuler la fonction d'usage sous forme de 'fonctions techniques':
 
Le phénomène physique:
 'En passant la main devant le capteur, en éloignant et rapprochant cette main nous faisons varier la lumière reçue.'
 
1er élément fondamental du système.
Ce capteur est un photo détecteur, ici une LDR (Light Dependant Resistor).
Donc nous pouvons reformuler le principe sous la forme:
 '... en passant la main ..... nous modifions une valeur de résistance...'

  Nous sommes ici dans une expression technique du système, car nous approchons le 'comment cela fonctionne-t-il?'.

Cette variation de résistance va produire une variation de la tension aux bornes du microcontrôleur (µC).
(Il s'agit d'une conséquence de la loi d'ohm qui est au programme de 4e et que nous rappelons ici: U=Rxi )
 
Mais alors le microcontrôleur est capable de voir?

En fait le microcontrôleur est bien incapable de 'voir la lumière' mais il est parfaitement capable de lire une tension sur une de ses ' pattes'.
Nous pouvons donc reformuler la chaîne fonctionnelle sous forme de fonctions techniques:
 '... en passant la main devant la photorésistance ...nous (...modifions une valeur de résistance...) effectuons une mesure de l'intensité lumineuse'.
 
2e élément fondamental du système.
La microcontrôleur est capable de se comporter comme un Voltmètre que vous connaissez bien pour l'avoir utilisé en physique.

Pour cela il suffit de programmer l'instruction READ suivi du numéro de patte du microcontrôleur Picaxe.
Ce READ 'transforme' temporairement le µC en Voltmètre.

Dispositions constructives:
Par construction, nous avons 'soudé' la LDR sur la patte N°4 du picaxe 08M.
L'instruction complète devient alors:
 
readadc 4,b0
 
Grâce à cette instruction, nous mémorisons la valeur de la lumière dans un point mémoire interne au µC:
Ce point mémoire interne b0 EST APPELE UNE VARIABLE (3) qui, comme en maths, peut prendre plusieurs valeurs.

Hypothèse:
Nous pouvons en déduire que le logiciel des 3e  doit disposer d'une instruction qui peut TESTER LA VALEUR de ce b0.
Cette instruction vous la connaissez déjà, ....
   il s'agit de l'instruction 'If ... '
.... ici appliquée à une variable.
 
II) ACTIVITE de SIMULATION:

Démarrer Picaxe Programming  Editor (2) (sous le volume Techno si vous êtes en classe).
Mode Flowchart.
Programmer une lecture par readac 4,b0
programmer un test 'if variable .....
Suivant les valeurs de lumière (aujourdh'hui avec le plein soleil choisir 160 à 180) dérouter le programme vers:
  -> if 'Y':  Allumer la led rouge
  -> if 'N': Allumer la led verte.
Reboucler votre programme bien sûr avant la lecture de la lumière pour avoir la dernière mesure de luminosité à jour (!!)
Paramétrer Schools Experimenter et lancer  Simulate.
 
Questions:
a) Quelle est la différence entre un 'if logique' sur une patte (rappel if pin3 = 0 then ...) de notre première programmation du feu rouge et le if sur une variable?.
b) Que faut-il faire pour ne pas laisser tout le temps les led allumées?
 
Après celà , .... libre à vous de programmer des comportements plus élaborés.
 
III) SYNTHESE:

Nous avons réalisé la numérisation d'un flux lumineux, càd la transformation d'une valeur continuement variable par une mesure numérique représentée ici par un nombre entier (on dit aussi digital(e)).
Ce flux lumineux, qui peut varier de façon continue est dit ANALOGIQUE.
Le µC nest pas capable de traiter des valeurs analogiques mais uniquement de traiter des nombres.
Le µC traite des valeurs dîtes 'digitales'  (ou 'numériques' dans le langage courant).
NOUS AVONS EFFECTUE L'ACQUISITION et la CONVERSION ANALOGIQUE en une valeur DIGITALE.
On parle aussi d'échantillonnage ou de mesure pour l'acquisition.
Le µC ne voit pas... il n'a pas 'd oeil électronique'....
Il ne peut que mesurer des valeurs de tension, de courant ou de résistance au travers de différents montages électroniques.

Vocabulaire:
Une variable est dîte analogique lorsqu'elle peut varier de façon très fine, souvent continuement.
Une variable est dîte numérique lorsqu'elle ne peut varier qu'en suivant une progression de nombres, souvent discontinue.
Ex le plus simple: 0 ou 1. Nous avons sur le boitier 08M une variation discontinue de 0,1,2,3...à 255 maxi.

Nous avons mis en oeuve la FONCTION TECHNIQUE FT= ACQUERIR.
Cette FT fait partie d'une chaîne d'information plus complexe que nous traiterons par ailleurs.

Question: à votre avis que signifie le 'adc' dans l'instruction  readadc 4, b0 ? Piste: il faut chercher du côté de la langue de Shakespeare et nous disons 'digital' à la place de 'numérique' dans cette langue.

Ressource a) Le coin du programmeur

nota: on parle de programmeur en informatique.... pas de programmateur qui est tout autre chose!!




Ressource b) Vue 'organique' de la carte et synthèse des instructions de programmation.



Je connais:

high + numéro de LED   FT1= 'allumer' LED ex: high 0 pr la rouge
low + numéro de LED     FT2 = 'éteindre' LED
readadc + numéro de la patte sur laquelle est relié/soudé le capteur  FT = mesurer/numériser et déposer dans un registre
ex: readadc 4,b1 déposera la valeur du flux lumineux dans la variable b1.
if pin3=1 then goto ....   teste l'appui du µswitch (ici soudé à la patte 3) et déroute le programme vers d'autres instructions.


instruction sound: ... chut c'est encore un secret car je souhaite encore profiter d'un silence (tout relatif) dans la classe.



Annexe .. en savoir +:

(1) b0 ( dire 'b zéro')
    b0 est une point mémoire interne au µC Picaxe. Nous le nommons registre ou encore ' general purpose byte variables'.
Le 08M dispose de b0, b1 ..... b13 soit 14 points mémoire.
Sur ces petits µC, les données stockées dans leurs registres sont des entiers compris entre 0 et 255: pourquoi cette limitation ?.... nous verrons bientôt la représentation binaire.
Il s'agit de véritables variables au sens mathématique que vous connaissez par ailleurs, avec la restriction que celle ci sont entières et toujours <255 sur le 08M et 08M2.

(2)   pour disposer du programme Picaxe téléchargeable copier et coller l'adresse: http://www.picaxe.com/Software/PICAXE/PICAXE-Programming-Editor/

(3)  .... Tu verras que ces variables numériques prennent souvent la forme de combinaisons de puissance de 2 (.. tiens des maths!)




Document made with KompoZer          PORTAIL version 1.2  0504/2020 D:/..portail2016/4eme/CAD/convertirAnalogToDigital.html  JC  HOLSTEIN / 13100 Aix en Provence