Pages

jeudi 11 avril 2019

Mise en œuvre du Programme GPS (Article précédent)

Dans l'article : https://sti2d-sin-isn.blogspot.com/2019/04/lire-une-trame-gps-avec-python-et.html , je propose un programme Python permettant de lire et décoder une trame GPS.

Un de mes collègues m'a fait cette suggestion : "On ne pourrait pas avoir un récepteur GPS et envoyer les trames sans fil à plusieurs PC pour que les élèves travaillent ensemble ?".... heu oui ! (Merci Alain M.)

C'est fait !

Ci-dessous, un boitier regroupant une alimentation, un module GPS et un HC-11: 
A ne réaliser qu'une fois....





Le récepteur pour un PC :

Juste un UART-USB et un HC-11
A reproduire autant de fois que désiré...



vendredi 5 avril 2019

Créer une application Android sans App Inventor 2 ni Android Studio

J'ai déjà présenté quelques possibilités de AppInventor 2, qui permet de créer des applications Android sans ligne de code.

Sachez qu'il est possible, avec Processing et le mode Android de créer également des applications. Certes, cela est plus difficile, mais pas insurmontable.

Ci-dessous, une application qui reçoit en Bluetooth des valeurs (température et humidité) envoyées par une Arduino (et un DHT11).



Je sais, il y a un travail de mise en page....


Sélection du mode Android :

Si le mode n'est pas installé, il suffit de l'ajouter. Je conseille également d'installer la librairie Ketai qui facilite grandement les choses...

Installation du mode :



Installation de la librairie :




Prochain article : le programme !

A suivre.......



lundi 1 avril 2019

Lire une trame GPS avec Python et Tkinter juste en connectant un module bas coût

J'ai réalisé un programme avec un GUI sous Tkinter qui permet de lire une trame GPS NMEA (en particulier la GGA).
Ce programme donne :

  • La trame reçue,
  • Les coordonnées DMS (Degrés, minutes, secondes)
  • L'altitude
  • Le nombre de signaux satellites
De plus, on peut obtenir la carte, avec différentes échelles, correspondante à la géolocalisation.

Détail :



On retrouve ici les mêmes fonctionnalités que le programme réalisé sous Processing déjà présenté sur ce blog...
Le matériel est le même, seule la plateforme de programmation change...

Le programme sera détaillé et téléchargeable dans un prochain article.

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à !!!!