top of page

CULTURE INFORMATIQUE

Processing - Décrypter un code complexe

  • Photo du rédacteur: Miya & Max
    Miya & Max
  • 2 nov. 2018
  • 2 min de lecture

Une fois que l'on a acquis les principes de base de la programmation (voir Analyse de ligne de code ), il est nécessaire pour progresser de savoir décrypter un code complexe et inconnu afin de le comprendre et de pouvoir réutiliser les structures qui le composent.

Le programme que nous allons étudier en guise d'exemple combine l’utilisation d’un micro et d’un micro-contrôleur arduino.

L’arduino peut communiquer par un port série avec l’ordinateur.


Le code


ree

Cette première ligne est une importation de toutes les fonctionnalités (comme l'indique le caractère "*") de la bibliothèque audio « minim ».


ree

C’est la déclaration de la variable décimale nommée « stockage » à laquelle on affecte avec float la valeur 250.


ree

Création de l’objet minim de la classe Minim.


ree

Création de l’objet in de la classe AudioInput.


ree

Importation de la librairie permettant la communication série avec l’arduino.



ree

Déclaration de la variable entière "val" et de la variable "var 1".


ree

Appel de la fonction serialinitilisation écrite dans le dernier onglet.


ree

"serialread" lit les données envoyées par l’arduino. Les données lues vont permettre de dessiner à l’écran un rectangle proportionnel à la charge du condensateur.


ree

La fonction "textSize" définit la taille du texte et admet un seul paramètre (ici, 20).


ree

La fonction "text" est une fonction qui prend trois paramètres et qui affiche par exemple « canal gauche » en position x et y = 20 (à partir de l’angle supérieur gauche).


ree

La fonction "fill" est une fonction qui prend pour paramètre une couleur exprimée en hexadécimale. Elle va s’appliquer sur les formes suivantes, des rectangles dans ce cas.

ree

La fonction "rect" est une fonction qui prend quatre paramètres : la position x, la position y (de l’angle supérieur gauche, à nouveau), puis largeur et longueur.


ree

Pour cette condition if, si le test est vrai, on affiche « batterie pleine », sinon on exécute un calcul.


ree


ree

"String" correspond à des objets chaînes de caractère.


ree

Il s’agit d’un copier-coller d’un exemple de la librairie « séries ».


Les librairies

Au lancement de Processing, il ne charge que les fonctions Java minimales. Si on veut rajouter d’autres possibilités, comme la gestion du son, il faut importer (menu/sketch/importer une librairie) une librairie qui ajoute des fonctionnalités.

Dans fichier/Exemples/Librairies, on trouve des exemples d’utilisation de la librairie.

Le programme ne fonctionne pas si il n’y a pas de micro (entrée in) et s’il n’y a pas d’arduino (entrée série). Donc, pour l’exécuter quand même sans arduino, il est possible de mettre en commentaire

« serialinitilisation(); ».


L'arduino


L’environnement de programmation d’arduino est sur le modèle de processing. Il permet de téléverser des applications dans la plaque arduino.

La fonction loop d’arduino s’exécute en boucle comme le draw de processing.


ree
Une plaque Arduino Uno

Voici une mémoire de code arduino insérée en commentaire dans le code processing:

ree

Déclaration d’une constante entière de valeur 1.


ree

Ouverture du port série à une vitesse d’échange des bits de 9600 bauds.



ree

Lecture de la valeur analogique de la voie 1. Un condensateur sera relié à cette voie et l’arduino transmettra par le port série une valeur image de la tension.

ree

La fonction "delay" indique qu'il y a 50 millisecondes d'attente.


"serialread" lit les données envoyées par l’arduino. (ligne processing). Les données lues vont permettre de dessiner à l’écran un rectangle proportionnel à la charge du condensateur.



Commentaires


Lycée B.Palissy

164 Bd de la Liberté

47000 Agen

© 2018 usethfrogsluke . ecole du baguette Créé avec Wix.com

 

bottom of page