Dans cette expérience, on utilise le montage précédent pour faire l'acquisition de la tension analogique délivrée par le potentiomètre. Il s'agit maintenant de rajouter l'utilisation d'un programme Python pour :

  • lire les couples (temps d'acquisition, valeur de la tension) sur la liaison série USB,
  • tracer la courbe correspondante (tension fonction du temps),
  • enregistrer les données acquises (temps d'acquisition, valeur de la tension) dans un fichier ASCII qui pourra être utilisé pour traiter ultérieuremebt les résultats d'une acquisition.

Schéma électrique et montage ARDUINO

identiques au schéma précédent.

Algorithme

C'est le même que pour la partie 1, avec comme seule modification le fait d'écrire une ligne contenant la seule donnée "-1" quand on arrête l'acquisition. Ceci permet de prévenir le programme Python que l'expéreience est arrétée.

Programme

Duppliquer le programme ARDUINO AcquisitionTension_1 sous le nom AcquisitionTension_2, et modifiez le :
- pour configurer le port série avec une vitesse de transfert plus élevée  : Serial.begin(19200),
- pour écrire sur le port série uniquement le couple (temps écoulé depuis le START, tension),
- pour écrire une ligne "-1" quand on arrête l'acquisition.

Téléverser le programme AcquisitionTension_2, faire afficher le moniteur (en réglant sa vitesse sur 19200) : appuyer sur le bouton Start/Stop pour déclencher les acquisitions, faire tourner à la main l'axe du potentiomètre... appuyer de nouveau sur le bouton Start/Stop pour arrêter l'acquisition. Vérifier l'affichage des valeurs (temps, tension) dans le moniteur.

Tracé des données par un programme Python sur le PC

Le programme Python SerialReadTimeVolt.py. effectue les opérations suivantes :

  • lecture de du port série (à la vitesse de 19200 baud),
  • traitement des données lues (couple "temps, tension"),
  • écriture des données dans un fichier ASCII nommé Tension.txt, situé dans le même répertoire que le programme Python,
  • Tracé de la courbe des données acquises.

Pour pouvoir exécuter ce programme, il faut ajouter le module serial à la distribution Python en tapant la commande pip install pyserial (Windows : taper la commande dans la Fenêtre Anaconda Command Prompt, GNU/Linux et Mac Os X : lancer un terminal pour taper la commande).

Télécharger le fichier SerialReadTimeVolt.py et l'ouvrir avec IDLEx.

La séquence des opérations pour une acquisition est celle-ci :

  1. Téléverser le programme ARDUINO AcquisitionTension_2,
  2. Lancer d'abord le programme Python SerialReadTimeVolt.py. en appuyant sur la touche F5 dans l'atelier IDLE
  3. Démarrer l'acquisition en appuyant sur le bouton Start/Stop,  jouer avec l'axe du potentiomètre pour faire varier la tension... appuyer de nouveau sur Start/Stop pour stopper l'acquisition : la courbe se trace.

Après le tracé de la courbe, Vous pouvez observer le fichier des résultats : Tension ...... .txt

Modifié le: dimanche 1 mai 2016, 22:31