Cahier des charges

Plan de câblage

plan cablage lumiere2

Description du fonctionnement

L'objectif est d'améliorer le programme précédent en ajoutant le potentiomètre qui permet de régler la durée de clignotement entre 0s et 0,5s.

Le branchement du potentiomètre est sur l'entrée 0 du micro-processeur :

branch potar

Comme le potentiomètre est branché sur le 0V et le +5V, la valeur de V0 variera de 0V à +5V.

Pour lire la valeur de la tension V0, il existe une instruction dans PICAXE : READADC => comme READ Analog Digital Converter

Cette instruction permet de faire une CONVERSION ANALOGIQUE -> NUMÉRIQUE

Celle-ci va convertir la valeur de la tension en un nombre compris entre 0 et 255 : c'est avec ce nombre que vous allez faire varier la durée du clignotement.

Conception du programme

Conseil sur la méthode :

- Lancer Picaxe Editor 6 et ouvrir votre précédent.

- Faites une copie de ce programme en "Enregistrer sous" le programme dans Mes documents -> Technologie, en changeant le numéro de programme -> "lumière potentiomètre"

1- Créer une variable pour la durée

- Créer une variable varB au début de votre programme principal que vous initialisez à 250, correspondant à la durée d'un quart de seconde.

- Remplacez alors dans votre programme tous les WAIT 0,5s par WAIT varB, afin d'attendre de la durée mémorisée dans VarB.

- Tester le fonctionnement de votre programme en simulation et sur la maquette

2- Lire la valeur du potentiomètre

- Placer au début de votre programme l'instruction read adc

Elle permet de lire la valeur analogique sur l'entrée C_0 et de la stocker dans la variable varB. (Pour mémoire on ne peut pas utiliser varA qui sert à la boucle !)

- Enlever l'initialisation de VarB à 250 que vous avez fait précédemment.

- Tester le fonctionnement de votre programme en simulation et sur la maquette

3- Obtenir une durée plus grande que 250ms

Le problème avec le langage Picaxe6 est qu'une variable ne peut pas stocker une valeur supérieure à 255.

Il faut donc trouver une astuce pour obtenir une durée supérieure :

- Créer une fonction qui permet d'obtenir une durée jusqu'à 1s (soit 1000ms).

- Remplacer les "wait varB" par l'appel de cette fonction

- Tester le programme en simulation et sur la maquette

4- Améliorer la réactivité du potentiomètre

Vous aurez remarqué que la lecture du potentiomètre ne se fait qu'une fois : au tout début du programme.

Cela a pour conséquence que si l'on tourne le potentiomètre il faut attendre que le programme recommence au début pour être lu de nouveau.

- Trouver une solution pour que le changement de valeur du potentiomètre soit pris en compte plus rapidement.

- Tester le programme en simulation et sur la maquette