Pages

mercredi 13 février 2019

Utiliser une matrice à LED (Max7219) avec Flowcode 7 et une carte Arduino

Il existe de très nombreux article sur internet montrant l'utilisation de matrices à LED, avec Arduino et les librairies Arduino, comme celles-ci (à noter que cet article est aussi valable pour les cartes de développement à base de PIC) :



L'avantage de ce type de composants est la possibilité de cascader les cartes, c'est à dire de les connecter à la suite sans avoir besoin de plus de connecteurs :

Bien entendu, on peut connecter davantage de modules. Et bien entendu aussi, il existe des modules de 4 matrices. Attention cependant, 8 matrices en série sont le maximum par ligne. Si on veut plus de matrices, il faut une autre connexion sur la broche CS :
Malheureusement, Il est n'est pas possible, avec la version de Flowcode 7 de base de piloter directement ces composants. Mais, bien entendu, la solution existe !

Un des plus actifs contributeurs (Martin) du forum Matrix (pas un jeu de mot), l'éditeur de Flowcode, a créé le composant idéal pour la programmation !

Je vous évite la recherche fastidieuse sur le forum et je vous fournis ici le fichier👍
Il suffit ensuite de copier ce fichier dans :

On lance Flowcode et on saisit dans la barre de recherche Max7219 :
Et voici la liste des routines composants :
Confortable, n'est-ce pas ?

Connexions à respecter (On connecte en suivant le protocole SPI) :

D'accord, il y a un inconvénient, un seul, le composant n'est pas simulable.

Petit programme d'exemple :

Je lis la valeur de la tension sur AN0 sous forme de chaîne l'envoie vers la matrice :


Pas mal ! ;-)


Un effet de défilement :



Je vous laisse maintenant découvrir les autres possibilités de la bibliothèque.....













lundi 4 février 2019

Récupérer une donnée sur un port USB et l'afficher avec Python et Tkinter

Il peut être intéressant de lire des données depuis un port série afin de les traiter par la suite. Ici, je montre qu'il est possible de le faire, assez simplement (après avoir un peu cherché, je l'avoue). Après, il est possible d'afficher n'importe quoi, dès l'instant que l'on sait ce que l'on envoie.

Dans cet exemple, une Arduino Uno envoie toutes les deux secondes la température issue d'un DHT11. La valeur est envoyée sous forme de chaîne de caractères. De plus, le programme reconnait automatiquement le bon port COM ! Pas besoin de le saisir à la main...

Écran de départ :
 Port COM trouvé, attente d'une connexion :
 Deux secondes après la connexion, les premières données arrivent :
En vidéo :



Pour récupérer le fichier source, merci de m'adresser un mail...

Par contre, je suis gentil, je fournis l'exécutable ;-)



Bien entendu, si rien n'est connecté au port COM, un message s'affiche :




Comme d'habitude, les images proviennent de Pixabay




dimanche 3 février 2019

Créer un mélangeur de couleurs avec Python et Tkinter

Dans cet article, vous allez découvrir l'utilisation des "slider" et des "canvas" en réalisant un mélangeur de couleur. Oui, je sais, il existe déjà tout fait dans Tkinter et partout sur Internet. Mais c'est bien aussi de le faire soi-même.

Toujours aussi beau ce que je fais ;-)


Le code :

Initialisation et création de la fenêtre :

Les widgets et la boucle principale :

En fonctionnement :


Téléchargement du fichier source :


Téléchargement de l'exécutable :



Je ne détaille pas plus le code, pour toute question, envoyez-moi un courriel....









Gérer des déplacements sur Processing avec la librairie G4P

Petit retour sur Processing et une nouvelle série sur les IHM et GUI. Seul souci, les démos seront réalisées avec Processing 2, la seule à fonctionner correctement en salle de classe dans de nombreux lycées.
Lien pour la librairie : http://www.lagers.org.uk/g4p/ (attention à la version pour Processing 221)
La librairie peut aussi être installée ainsi :

Dans cet article, démonstration simple de deux boutons qui font bouger un rectangle en x.

Simple mais ça fonctionne !


Ci-dessous, le code commenté pour cet exemple :

En fonctionnement :


Et simulation vidéo :

Et voilà !!!!