Pages

samedi 29 février 2020

Utilisation basique de Folium sous Python

Folium est une librairie (ou module) Python permettant de travailler en cartographie, à partir de OpenStreetMap. On peut ainsi, avec juste quelques lignes de code, afficher dans une page Web une carte avec des options.

Par exemple, ces trois lignes :

Donnent cela :

Vous ne le voyez pas, mais on est centré sur la Tour Eiffel ! Si Si !!!

Détails sur ce script :
  • ligne 1 : On importe le module folium (à condition qu'il soit déjà installé, bien sur, sinon, voir partie correspondante ci-dessous...)
  • ligne 2 : on crée la carte sous une variable en instanciant un objet et en incluant les coordonnées GPS en degrés décimaux
  • ligne 3 : on demande à folium d'enregistrer la carte "sous". Ici, c'est ma clef USB f: et dans le répertoire SNT à la racine. Pour ouvrir la carte, on clique dessus comme un raccourci Web, cela ouvre votre navigateur par défaut.
Note : Si vous utilisez Edupython, folium est déjà intégré.
 Si Folium n'est pas sur le système, voici comment faire avec Thonny (C'est la méthode PIP mais simplifiée dans Thonny)  :

Aller dans "Outils" et "Gérer les plugins" :
Cette fenêtre apparaît : En théorie, folium n'est pas dans la liste à gauche :
Saisir folium puis cliquer sur le bouton :

C'est bien ce que l'on cherche ! On clique sur "Installer" :
Et voilà ! folium est installé, on peut fermer la fenêtre !

 Il est possible de changer le zoom de la carte en ajoutant un argument lors de la création :
L'argument saisi donne un certain zoom, bien sûr, on peut le changer...


Alors, j'avais pas raison ???? C'est bien la Tour Eiffel !

Pour le montrer à la Terre entière, on va ajouter un marqueur. Cela est on ne peut plus facile !

On veut ceci :
 on saisi la ligne 3 entre la 2 et la 4 :
On a bien les mêmes coordonnées mais là, c'est pour le marqueur.
Bien sûr, on peut autant de marqueurs que l'on veut...

On peut aussi ajouter une légende au marqueur :
 Il a juste fallu changer la ligne 3 avec :


Folium permet également de tracer des itinéraires :
 Le script correspondant :


Il est possible également d'automatiser l'ouverture de la carte à l'excution du script en insérant juste deux lignes :

  •  en ligne 2, on importe le module webbrowser qui gère la navigation Web
  •  en ligne 13, on demande au module d'ouvrir le fichier HTML, avec le navigateur par défaut,  correspondant à la carte, c'est tout !
 A vous de jouer !

jeudi 27 février 2020

Utiliser simplement une jauge de masse et un HX711

Cet article présente, le plus simplement possible, l'utilisation d'une jauge de masse et d'un module HX711.
Ce module est un pont de Wheatstone (non présenté dans cet article) couplé à un convertisseur analogique-numérique de 24 bits.

Aspect physique :

En règle générale, les produits "asiatiques" sont comme ceci (image Banggood) :
Le fabricant Sparkfun propose ce modèle :
 Et DFROBOT celui-ci :

Le montage de test de cet article :

Et pour faire joli (et pour mettre en conditions réelles), j'ai imprimé des pièces à partir de ce modèle :

Mon montage :




La librairie que j'ai utilisée est ici : https://github.com/bogde/HX711
 
Le programme ci-dessous est la version très édulcorée du fichier full_example.ino disponible avec la librairie.
 
 

Ce fichier est téléchargeable ici

Le programme est assez simple et le commentaires sont suffisants pour comprendre le principe.
Cependant, des explications sont nécessaires pour la ligne 16 :

La valeur "895" n'a pas été trouvée par hazard, celle-ci est déterminée par tests succéssifs.
Au départ, on lance le programme, balance à vide (juste avec son montage imprimé) et on lit la valeur en console. Celle-ci peut sembler aberante mais c'est normal, la balance n'est pas tarée. Il faut utiliser des objets, au préalable, pesés. Ainsi, on en connait les masses.
Il suffit de poser un objet sur la balance, et de lire la valeur en console. Ensuite, on change la valeur de la ligne 16, en plus, ou en moins, par tâtonnement (attention, il faut téléverser à chaque fois (et penser à retirer l'objet à chaque téléversement)).
Une fois que la masse affichée est au plus prêt de la masse de l'objet connue, le réglage est terminé. On peut obtenir facilement une précision de +/- 1g.

Vous trouverez sur Internet d'autres possibilités : utiliser la console série et entrer des valeurs à la volée ou utiliser +- pour augmenter ou diminuer le coefficient. Il y a aussi le montage avec un potentiomètre qui tare en temps réel en utilisant une entrée analogique (à venir) .

Exemples :