Logo Mon Club Elec

Mes interfaces PyQt : Oscilloscope simple monovoie à communication série compatible Arduino

L’utilisation des interfaces PyQt pour créer des oscilloscopes simples monovoie à communication série compatible Arduino est une excellente solution pour les développeurs qui souhaitent créer des applications graphiques interactives. Cet article vous expliquera comment créer une interface PyQt pour un oscilloscope simple monovoie à communication série compatible Arduino, ainsi que les avantages et les inconvénients de cette solution. Vous apprendrez également comment configurer et utiliser votre oscilloscope pour vos projets.

Mes interfaces PyQt : Oscilloscope simple monovoie à communication série compatible Arduino

Mes interfaces PyQt : Oscilloscope simple monovoie à communication série compatible Arduino

Intro

  • Interface permettant de réaliser un simple oscilloscope utilisable avec Arduino.
  • Interface Série permettant de fixer le port à utiliser, le délai entre 2 mesures, stopper/démarrer la communication
  • Interface graphique permettant le zoom sur la courbe, l’export du graphique dans fichier ou clipboard au format données, vectoriel ou image !

Pré-requis

  • python 2.7
  • pyqt4.x
  • modules :
    • numpy
    • serial
    • pyqtgraph

L’interface PyQt

Pratique : l’archive est disponible ici : http://ubuntuone.com/3vB0UMIAusGIyedXZy1tXs

Les 2 fichiers suivants sont à enregistrer dans un même répertoire :

Le fichier d’interface *.py

Le fichier d’application *Main.py

Code Arduino d’exemple

Code minimal

// — Programme Arduino —
// par X. HINAULT – 01/2010

// — Que fait ce programme ? —
/* Affiche le résultat brut d’une conversion analogique numérique sur la fenêtre terminal du PC*/

// — Fonctionnalités utilisées —
// Utilise la connexion série vers le PC
// Utilise la conversion analogique numérique 10bits sur les voies analogiques  analog 0,

// — Circuit à réaliser —
// Connexion série entre la carte Arduino et le PC (utilise les broches 0 et 1)  

// Broche Analog 0 (=broche 14) en entrée Analogique  : connecter la sortie d’une résistance Variable 10K elle-même connectée entre 0 et 5V

//**************** Entête déclarative *******
// A ce niveau sont déclarées les librairies, les constantes, les variables…

// — Inclusion des librairies utilisées —

// — Déclaration des constantes —

// — constantes des broches —

const int RVar=0; //declaration constante de broche analogique

// — Déclaration des variables globales —
int mesureBrute=0;// Variable pour acquisition résultat brut de conversion analogique numérique

// — Initialisation des fonctionnalités utilisées —

//**************** FONCTION SETUP = Code d’initialisation *****
// La fonction setup() est exécutée en premier et 1 seule fois, au démarrage du programme

void setup()   { // debut de la fonction setup()

// — ici instructions à exécuter au démarrage —

Serial.begin(115200); // initialise connexion série à 115200 bauds
// IMPORTANT : régler le terminal côté PC avec la même valeur de transmission

} // fin de la fonction setup()
// ********************************************************************************

//*************** FONCTION LOOP = Boucle sans fin = coeur du programme *************
// la fonction loop() s’exécute sans fin en boucle aussi longtemps que l’Arduino est sous tension

void loop(){ // debut de la fonction loop()

// — ici instructions à exécuter par le programme principal —

// acquisition conversion analogique-numerique (CAN) sur la voie analogique
mesureBrute=analogRead(RVar);

// affiche valeur numerique entière ou à virgule au format décimal
Serial.println(mesureBrute);

delay(20);

} // fin de la fonction loop() – le programme recommence au début de la fonction loop sans fin
// ********************************************************************************

// — Fin programme —

Code permettant de fixer le débit de mesure

Utilisation

  • Connecter une carte Arduino au PC
  • Lancer l’interface côté PC
  • Clic sur init pour lancer la mesure
  • Interactivité du graphique :
    • zoom par clic gauche maintenu
    • autoscale par clic que mini bouton <A> du graphique
    • boutons de configuration des axes et de ré-initialisation
Noter cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Archive Mon Club Elec

Articles populaires

Newsletter

Inscrivez-vous maintenant et bénéficiez d'un soutien continu pour réaliser vos travaux électriques en toute sécurité.