L’oscilloscope numérique.

Constitution des divers écrans et des choix esthétiques :

La programmation, qu’elle soit professionnelle ou de loisir, permet de créer exactement ce que l’on désire. Avec les produits commerciaux figés, on bénéficie d’ensembles directement utilisables. En contrepartie, on est victime des choix effectués par le développeur. Sa philosophie n’est pas forcément la notre. L’immense avantage d’un dispositif programmable, moyennant de consacrer du temps à sa modification, et sans bourse déliée de surcroit,  consiste à pouvoir le faire muter pour satisfaire pleinement nos désirs. Mon prototype est idéal au regard de mes préférences esthétiques, et pour la notion de convivialité dans l’interprétation des informations présentes à l’écran. Rien ne prouve qu’il en soit ainsi pour vous. Il vous sera très facile de reprendre la présentation sur l’écran en utilisant P09_Simuler_oscilloscope.ino dont la structure logicielle est élémentaire. Puis, arrivé à une pleine satisfaction, il ne vous restera qu’à reprendre P10_Oscilloscope_seul.ino et enfin à remplacer le module dans P30_PICOLAB_complet.ino.

Les contraintes de programmation.

Toute activité humaine n’est jamais totalement libre. Elle est forcément assujettie à des contraintes plus ou moins restrictives. Par exemple, pour avoir le plaisir de programmer « librement » sur votre Arduino UNO il faut au moins satisfaire deux incontournables : Posséder un système complet de développement et dégager du temps libre pour pouvoir « vous amuser ».
Créer une belle présentation pour l’écran de notre oscilloscope numérique n’échappe pas à cette règle. C’est avant tout un instrument de mesure, et à ce titre on doit pouvoir interpréter facilement la trace représentée sur l’afficheur. Tout électronicien face à un tel graphique doit pouvoir sans se torturer les méninges déterminer les intervalles de temps en « horizontal » et les tensions en vertical. Dans cette optique, la solution classique consiste à ajouter à la courbe visualisée une grille d’évaluation. Comme le CAN convertit des tensions comprises entre 0 et +5V, il devient naturel de prévoir cinq « carreaux » verticalement pour le « réticule gradué ».

Pour la base de temps en largeur, la liberté est plus grande. On peut à notre guise placer un nombre quelconque de « colonnes ». Suite à diverses expériences, le choix s’est porté sur dix « carreaux » horizontalement. Deux critères ont influencé cet arbitraire. Premier avantage : Restant en base dix, si on adopte une base de temps de façon à n’avoir qu’une ou deux alternances sur l’écran, on peut très facilement en déduire sa période. Le deuxième avantage est plus personnel. Avec dix graduations en largeur, la grille est constituée de « carrés », ce qui me séduit esthétiquement.

Contrainte informatique résultant de ces choix : Le minuscule écran OLED SSD1306 présentant une définition de 128 pixels en largeur, on en déduit facilement que chaque colonne devra utiliser 128 / 10 = 12,8 pixels de large. Mince, ça ne tombe pas juste ! Par ailleurs, ayant porté mon dévolu sur le type bicolore, il faut s’accommoder de la présence de la « ligne morte ». Ces deux incontournables aboutissent aux conclusions suivantes :
1) En simple définition, la zone orange sera réservée aux données numériques et la zone bleue à la grille graphique. Horizontalement chaque colonne
x   occupera 12 pixels. Verticalement chaque carreau présentera une étendue de 9 pixels.
2) (12 x 10) + 1 = 121 pixels de large pour la grille placée à gauche. Il reste 7 pixels disponibles à droite. Pour des raisons esthétiques de centrage des
x   données dans la zone orange, cette dernière n’utilise que les 13 premières lignes du haut. Par ailleurs la grille est placée en bas et occupe une
x   hauteur de (9 x 5) + 1 = 46 pixels. La zone des données et celle de la grille seront par conséquent séparées par 5 lignes de pixels non allumés
x   en simple définition.
3) La plage des 7 pixels située à droite est disponible et suffisamment large pour y écrire des petits caractères. Cette opportunité permet d’y tracer
x   une flèche montrée ci-contre à droite. Elle indiquera en hauteur, donc sur l’échelle des tensions, la valeur efficace du signal calculée sur la
x   totalité des mesures numérisés dans la mémoire d’échantillonnage. (Si cette valeur empiète dans la zone orange la flèche ne sera pas affichée.)
4) La définition en largeur de l’écran est suffisante pour visualiser entre deux et cinq alternances du signal. Ainsi la totalité de l’échantillonnage
x   sera  affichée et l’on abandonne la notion de fenêtre de visualisation à déplacement latéral ce qui simplifie grandement le programme et son utilisation.

Les options possibles et leurs particularités.

Suite à de nombreuses tentatives avec des présentations très différentes les unes des autres, quatre variantes séduisantes à mes yeux ont émergé du lot et retenu mes suffrages. Elles sont directement influencées par des impressions esthétiques, mais tiennent compte des contraintes techniques listées ci_avant. Par ailleurs, la campagne d’évaluation et de faisabilité a été conduites en alternant systématiquement écran couleur et monochrome pour aboutir à une solution entièrement compatible qui n’imposera strictement aucune modification logicielle pour adapter au modèle que vous aurez approvisionné. Visualisées sur la Fig.70 passons en détails leurs spécificités.
L’écran A est celui de base en entrée dans la fonction. L’écran des données dans la zone orange occupe toute la largeur. Il précise la valeur de la base de temps, les consignes de synchronisation ainsi que le gain en amplification automatique. (Cet aspect sera abordé plus avant.)


Si un nombre important d’alternances est présent à l’écran ou si la forme de l’onde est complexe, la présence de la grille surcharge exagérément le graphique. Dans la configuration B cette dernière n’est plus visualisée. Quand on désire une finesse maximale de la trace visualisée, il vient immédiatement à l’esprit d’utiliser la hauteur totale de l’afficheur pour représenter le graphe temporel. Les options C et D répondent à ce souhait. En option C il y a rappel du paramètre temporel et des paramètres de déclenchement. On peut donc « mesurer » sur le graphe. La « surbrillance » des textes en zone orange adoptée pour des raisons esthétiques n’est plus viable, car elle masquerait la trace visualisée. L’option D est la plus dépouillée, celle sur laquelle le dessin est le plus facile à observer. Comme la grille n’est plus tracée, les informations numériques ne sont plus indispensables, autant ne plus les superposer et ainsi ne pas surcharger le graphe. (La ligne « morte » n’est pas trop pénalisante.)

>>> Page suivante.

2 réflexions sur « L’oscilloscope numérique. »

  1. bonjour

    je ne vois pas ou trouver les programme pour arduino, je clik sur le liens P10_Oscilloscope_seul.ino rien ne ce passe.

    merci d avance bonne apres midi

Laisser un commentaire

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