Retrouvez moi le 5 octobre 2024 à la Librairie Eyrolles, 55 boulevard Saint-Germain à Paris. Un atelier / dédicace organisé avec les Editions ENI et avec Kubii. Je serai en compagnie de Sarah Lacaze qui présentera son dernier livre sur Scratch, et avec Alexandre Svetec, je présenterai la famille Raspberry Pi ! Une sacré famille […]
Votre smartphone commence à agir bizarrement ? Pop-ups intempestifs, applications inconnues, ou encore batterie qui fond comme neige au soleil ? Ce sont peut-être les signes d’une infection par un malware. Voici 6 signes clairs auxquels faire attention pour protéger votre appareil ! 1. Utilisation de données anormalement élevée 📶💸 Un malware fonctionne souvent en […]
Dans le projet Steam Belgian Knife (sbk.education), il y a l'utilisation d'une cellule de charge comme capteur de pesée ou de capteur force. La cellule de charge est l'élément principale d'une balance électronique.
L'une des application envisagées est la mesure de la poussée d'une fusée à eau (sur un banc d'essai). Cela ne sera malheureusement pas possible et nous verrons pourquoi
A propos de la cellule de charge
La cellule de charge est un élément mécanique prévu pour tolérer une déformation en fonction de la force qui y est appliquée. Cette force résulte soit de la pesée d'un objet, soit d'un effort appliqué directement sur la cellule de charge (au bon endroit et dans la bonne direction).
La cellule de charge est composé d'un pont de Wheatstone, pont constitué de 4 résistances dont l'une d'entre elles est solidaire de la cellule de charge. Lorsqu'une force déforme la cellule de charge, la résistance est également déformée et sa valeur change sensiblement. Cela modifie l'équilibre du point de Wheatstone et modifie la tension de sortie d'un ordre de grandeur de l'ordre de quelques millivolts.
Cellule de charge
Les différences de tensions est tellement faible qu'il faut faut employer un amplificateur. Le plus connu est le hx711, un amplificateur 24 bits qui prend en charge l'alimentation et la mesure d'une cellule de charge.
HX711 avec MicroPython
Le HX711 dispose d'une bibliothèque Arduino mais comme vous le savez c'est avant tout l'utilisation avec MicroPython qui nous intéresse.
Pour commencer, voici comment brancher le capteur sur un Raspberry-Pi Pico.
Une fois le fichier hx711.py copié dans sur la carte MicroPython, il est possible d'exécuter l'un des programmes de test.
La tare
Les gauches de contraintes et cellules de charges n'ont pas vraiment de "point Zero". Ces capteurs sont plus ou moins contraint au repos... et passent dans un autre état de contrainte lorsqu'une masse/force est appliquée.
Il faut donc effectuer une tare qui lit l'état du capteur au repos et mémorise la valeur comme point Zero. Les autres mesures se feront donc par rapport à ce point Zéro.
C'est exactement que fait une balance électronique lorsqu'elle est activée! Sa première opération consiste à réaliser une série de mesures pour déterminer le "point zéro" de repos (elle "tare"). C'est pour cela que l'affichage du "0" n'est pas immédiat sur une balance électronique.
Dans la bibliothèque la méthode HX711.tare() permet de réaliser cette opération.
test.py : mesure brute
ce simple programme de test qui affiche la valeur lue sur la cellule de charge.
from hx711_gpio import HX711
from machine import Pin
import time
pin_OUT = Pin(12, Pin.IN, pull=Pin.PULL_DOWN)
pin_SCK = Pin(13, Pin.OUT)
hx711 = HX711(pin_SCK, pin_OUT, gain=128)
hx711.tare()
while True:
print( "---------------------------------" )
# Raw value of load cell. Not scaled, no offset compensation
print( "read: ", hx711.read() )
print( "get_value: ", hx711.get_value() )
time.sleep_ms( 500 )
Ce script retourne des "valeurs brutes". Après avoir étalonné mes masses de test, j'ai effectué un relevé des "valeurs brutes" retournée par la fonction get_value().
Remarque: je me serais attendu à une erreur plus petite sur le poids de 1 Kg.
Si l'on reporte les valeurs dans un graphique, nous pouvons voir qu'il y a une belle relation proportionnelle.
En appliquant la règle de trois, entre les masse et get_value(), ma cellule de charge de 5Kg présente un rapport d'échelle de 404.4715 (le facteur d'échelle est calculée pour une mesure en grammes).
test_unit.py : mesure en gramme
Lorsque le facteur d'échelle est identifié (ex: 404.4715), il est possible d'obtenir la valeur de la mesure directement en grammes si e facteur d'échelle à été calculé pour une cellule de 5000 grammes (un gamme de valeur de 0 à 5000).
Dans l'exemple ci-dessous, set_scale() est utilisé pour mentionner le facteur d'échelle. A partir de ce instant, la valeur retournée par get_unit() sera la masse (en grammes).
from hx711_gpio import HX711
from machine import Pin
import time
pin_OUT = Pin(12, Pin.IN, pull=Pin.PULL_DOWN)
pin_SCK = Pin(13, Pin.OUT)
hx711 = HX711(pin_SCK, pin_OUT, gain=128)
hx711.tare()
hx711.set_scale( 404.4715 ) # 5000gr Gauge with 128 bit gain. Output unit will be in grams
while True:
print( "get_units: %s gr" % hx711.get_units() )
time.sleep_ms( 500 )
La constante de temps!
Avez-vous déjà remarqué qu'une balance réagit relativement vite mais qu'il faut quelques secondes pour que la mesure soit stabilisée (surtout sur les balances de précision).
Ce même comportement s'applique aussi aux cellules de charges de cet article. La valeur augmente rapidement mais requière un certain laps de temps avant de se stabiliser près de la valeur finale.
J'ai ajouté un script plot_value.py qui attend la présence d'une masse pour effectuer une rafale de mesures toutes les 200ms jusqu'au retrait de la masse. En reportant les données dans un tableur, puis un graphique de l'évolution de la mesure en fonction du temps.
Qu'il faut environ 4 secondes pour obtenir la valeur finale.
Que la section droite de la courbe présente une courbure à partir 2/3 de la valeur finale (très intéressant!).
Suivez la démonstration suivante
A partir de la valeur finale connue (400000), on calcule la valeur à 66% (soit 266666). Le report de cette valeur de 266666 sur le tracé coupe la courbe de lecture là où celle-ci décolle de la tangente (ligne verte).
Encore mieux, il faut à peine 1077ms pour atteindre 66% de la valeur finale.
Ces 1077ms (ou 1.077 sec) est la constante de temps, temps minimal qu'il faut attendre pour avoir une idée raisonnable de la valeur finale.
Lecture rapide
En faisant une mesure à 1.077sec après que la mesure décolle du Zéro, nous obtenons une valeur indicative qu'il faut multiplier par 1.66 pour estimer le poids/force finale.
Il suffit d'attendre 3 secondes de plus pour lire la valeur finale et éventuellement corriger la valeur finale.
Incompatibilité avec la mesure de poussée
Rappelez vous, en début d'article, nous parlions d'un banc d'essai pour mesurer la poussée d'une fusée à eau.
Il faut savoir que la majorité de la poussée se produit durant les premiers 1/500 de seconde du lancement (cf. Planète Sciences > Fusée à eau, un superbe document).
Avec une constante de temps de 1.077 sec pour l'obtention d'une mesure approximative... durant le lancement d'une fusée à eau il sera impossible d'effectuer plus d'une mesure avec la cellule de charge!
Conclusion
La cellule de charge est un excellent outil permettant de mesurer force statique ou une masse.
Ce capteur ne conviendra pas pour la mesure de force dynamique (comprenez: qui change rapidement).
Note: il me faudra aussi poursuivre la documentation du pilote HX711 qui reste très embryonnaire.
Nombre de nouveau venu dans le monde de l'électronique se lancent dans la soudure.
Parmi les gestes indispensables, il y a ce reflex qu'ont les initiés de passer la pointe du fer sur une éponge humide... réflexe qui se répète toutes les deux minutes.
Ce n'est ni un tic, ni un toc!
Si la pointe n'est pas nettoyée alors apparaîtra un dépôt brun/noir qui s'oxyde sur la pointe. Cela diminue la conductivité thermique, empêche l'étain de mouiller la panne (et donc de fondre). Pire encore, cette oxydation peut, et va, contaminer le métal de la panne... panne qui mouillera de moins en moins à l'étain rendant les opérations de soudures de plus en plus difficile.
La fausse bonne action consiste à gratter l'oxydation avec un cutter/couteau ou utiliser de la toile Emeri/papier de verre pour poncer délicatement la pointe. Cela ne marchera qu'un nombre limité de fois car vous allez éliminer le traitement de surface de la panne, ce même traitement qui facilite le mouillage de l'étain.
Note: Il paraît qu'il existe du rénovateur de panne, une sorte de pâte. Je ne sais pas si cela fonctionne, je n'en ai jamais eu besoin. Ma plus vieille panne à 30 ans!
Donc: attrapez ce réflexe de nettoyer votre panne toutes les deux minutes :-)
Le géant de l’informatique taïwanais Acer a été victime d’une attaque de ransomware REvil, les pirates exigeant une rançon record de 50 millions de dollars pour décrypter les données volées. Pour ceux qui suivent l’actualité en cybersécurité, ce n’est plus une surprise. Les attaques de ce type deviennent courantes. Mais c’est quoi exactement un malware […]
Depuis plus d’une semaine, le blog est muet. J’ai travaillé sur des pages de présentation du réseau MESHTASTIC et sa version Française GAULIX. Cet article vous présente les grandes lignes du réseau MESHTASTIC, vous pourrez visiter les pages accessibles par le menu pour en savoir plus. Le travail n’est pas terminé, d’autres pages vont venir […]
Le jeu vidéo est l’un de mes passe-temps préférés, et je crois fermement qu’il offre des avantages considérables à un large éventail de personnes. Voici pourquoi je recommande à presque tout le monde de se lancer dans l’univers du gaming. 📱 L’Accessibilité des jeux vidéo n’a jamais été aussi facile Autrefois, pour profiter pleinement des […]
Au cours de sa vidéo on découvre les différentes itérations de turbines, la vitesse maximale de 18.000 tour/minutes et le développement de la puissance maximale de 12W.
Commençons par la roue libre (en métal) et engrenage réducteur.
Avec l'axe d'entraînement (au premier plan) sur lequel vient se placer la turbine à tester avec la canule y soufflant le l'air, sous pression, contenu dans les bouteilles. Cet air est comprimé à 18 PSI (Pound per squate Inch).
1 PSI = 6894.75 Pa. A 18 PSI, la pression dans la bouteille est donc 124105 Pascal (un peu plus d'une atmosphère).
A l'aide d'une électronique adéquate, Tom mesure la vitesse de rotation (RPM) et le couple (dit Torque en anglais).
Le graphe ci-dessous présente l'évolution de la vitesse avec le temps. En début de graphe, la vitesse augmente rapidement car la pression élevée dans la bouteille permet de développer un couple important. En fin de bouteille, la pression chute, raison pour laquelle la vitesse plafonne.
Si l'on représente le couple (torque) en fonction de la vitesse de rotation nous obtenons une répartition qui ressemble fort une droite.
Sur le graphe ci-dessous, il est possible de refaire les même constats que précédemment. C'est au démarrage (0 RPM) que le couple est le plus important (quand la pression est au maximum dans la bouteille). A vitesse maximale (18000 RPM), la bouteille est presque vide... moment où la couple développé par la turbine est le plus faire.
L'intérêt d'un moteur étant quand même d'obtenir une puissance maximale et surtout de maintenir cette puissance au maximum.
Voici une petite formule fournie par Tom permettant de convertir le couple ne puissance.
Puissance (Watt) = (Couple en Nm * vitesse en RPM) / 9.549
Une fois converti en graphique Puissance (Watt) par vitesse (RPM), il est très facile de constater que la puissance maximale est obtenue aux alentours de 10000 RPM (10000 tours par minutes).
Voici enfin le montage du bloc moteur avec la turbine équipée de l'engrenage d'entraînement des roues. Le bloc moteur reprend également une valve de recharge pour remettre la bouteille sous pression.
Cette dernière capture montre l'utilisation de la valve de recharge.
En 2015, lors d’une conférence TEDx, Matt Abrahams a captivé son public avec une déclaration étonnante : « Les gens me détestent. Les gens ont peur de moi… J’ai un outil qui suscite cette peur et ce mépris. En tant que professeur, j’ai une capacité appelée interpellation à froid. C’est lorsque je regarde un étudiant et […]
Je reprend ci-dessous quelques captures de la vidéo où l'on retrouve des informations utiles pour d'autres projets similaire (merci Kevin pour ce partage).
Composition générale de l'interface
Les différentes icones de la barre d'outils (toolbar) propose les fonctionnalités décrites ci-dessous
L'icone sélectionnée dans la Toolbar (barre à outil) est affiché en négatif!
Les ressources/icones graphiques sont disponibles sous forme de fichier BPM, un format facile à lire pour un microcontrôleur
La documentation sur les animations est aussi instructive. Je me suis demandé quel pouvait être l'intérêt d'une séquence REVERSE mais a bien y réfléchir, cela permet de déplacer Baby à un endroit puis, plus tard, de revenir à sa position initiale.
Kevin prend le temps de présenter les concepts utilisés et les éléments de programmation exploités.
Amélioration possibles
Je vois quand même quelques possibilités d'amélioration (électronique et logiciel).
Prévoir de l'autonomie (avec un Accu Lipo) et recharge
Prévoir du son (du moins un minimum).
Diminuer la quantité de fichiers BPM (regrouper les ressources dans un fichier commun)
Envisager des personnages différents (et comportements différents)... d'où l'intérêt de regrouper les ressources.
Clarifier les relations entre état psychologique et paramètres vitaux (état émotionnel, actions et leurs conséquences). J'ai trouvé ce point un peu confus dans l'implémentation de Kevin.
Il y a quelque temps, je vous ai présenté la carte de développement ANAVI Dev Mic de Léon Anavi. Léon a publié une vidéo [en Anglais] pour utiliser sa carte sur un Raspberry Pi 5 en reconnaissance vocale. Il utilise Whisper, un réseau neuronal entraîné par OpenAI qui se rapproche de la robustesse et de […]
assez-vous la plupart de votre temps à dormir, à faire défiler votre fil d’actualité, ou à regarder Netflix ? Il est probable que vous vous laissiez piéger par votre zone de confort. Il est temps de changer cela et de transformer vos moments de détente en opportunités d’apprentissage et de développement personnel. Heureusement, il existe […]
Ce qui m'excitait beaucoup c'est la possibilité d'utiliser des objectifs de type "Microscope". Dans les faits, sur le plan microscopique il n'y a pas eu grand chose de concluant.
J'ai donc entamé quelques recherches et regroupé une série de vidéos assez intéressantes pour réaliser MicroScope DIY et le couplage d'un capteur CCD (comme la caméra HQ ou la Cam V3 qui dispose aussi de 12 Mpixels).
La méthode Pure DIY
Cette vidéo est celle qui a relancer mon intérêt pour un MicroScope Raspberry-Pi. Il utilise un matériel et des méthodes très basique mais l'intérêt réside dans la récupération de lentilles! .
Du point de vue des cours de physique, il y a là un excellent sujet d'étude sur les lentilles, les distances focales, comment comment ré-identifier ces paramètres s'ils ne sont pas connus.
L'autre intérêt est que la méthode est d'être abordable pour réaliser un atelier avec des ados.
DIY Microscope avec PiZero W et Pi Camera
Ce microscope réalisé par Brauns CNC utilise une Spy Camera Raspberry-Pi (2 Mpixels) et une lentille Macro pour SmartPhone afin de créer un agrandissement modéré avec des images de qualités.
C'est déjà un bel agrandissement... mais pas encore du domaine microscopique
The Post Acpocalyptic Inventor est un maker porté sur les projets mécaniques que je classerais dans la catégorie des "projets poids lourds". Si vous ne connaissez pas encore, je vous invite vivement à visiter sa chaîne!
Il n'empêche que de temps à autre TPAI s'attaque aussi à des projets Makers plus commun en partant d'un MicroScope existant.
Cette approche est l'une des plus abouties en terme de grossissement et de faisabilité!
Kit d'occasion acheté pour une dizaine d'euro
Il existe bien des caméras oculaires (USB) mais leur définition est de l'ordre de 2 MegaPixel là où une caméra Pi offre une définition bien supérieure!
L'intérêt d'une Caméra Pi est aussi de fonctionner avec du logiciel OpenSource alors que les solutions commerciales vous imposent leur propre logiciel.
Dans son projet de test, TPAI a remplacé le monoculaire par une caméra sans objectif (donc avec le capteur CCD directement exposé).
Capteur CCD sans lentille
Mise à la place du monoculaire
Dans un second essai, TPAI a remplacé le support monoculaire par une section de tube d'aspirine et la caméra montée sur un capuchon ajustable (pour ajuster le back-focus de la caméra).
Ce qui permet, au final, d'obtenir des résultats très impressionnant.
J’utilisais un « petit » appareil de nettoyage à ultrasons, pour les lunettes et quelques autres babioles. Avec le FabLab j’ai découvert des besoins plus « importants » et surtout plus volumineux. Ici il est question de nettoyer un carburateur ou une figurine en résine et mon nettoyeur fait un peu « jouet ». Je me suis donc tourné vers VEVOR […]
Vous en avez peut-être déjà entendu parler, mais vous n’avez jamais testé le service ? Aujourd’hui, nous allons vous présenter l’un des réseaux sociaux les plus populaires du moment : Discord. À vrai dire, ce n’est pas réellement un vrai réseau social comme l’on peut avoir avec Facebook, Instagram ou même Twitter (qui est devenu X entretemps), non, c’est plus un espace privé où des groupes peuvent échanger sur leurs passions… Mais bien plus encore.
Un réseau social pensé pour les joueurs
Il suffit de découvrir des serveurs Discord pour s’en rendre compte : la majorité d’entre eux sont pensés pour le gaming ! La raison en est très simple : ce réseau social a été pensé d’abord pour les joueurs. Son fonctionnement est plutôt intuitif. Pour accéder à un serveur, vous devez recevoir un lien d’invitation. Soit un proche vous l’envoie, soit vous le trouvez dans des annuaires en ligne. Une fois que vous êtes sur l’un de ces serveurs, vous pouvez découvrir qu’il existe plusieurs salons, classés par thématiques. Ces derniers servent à catégoriser avec précision les sujets sur lesquels les membres peuvent discuter, un peu comme dans un forum des années 2000. Souvent, les communautés de sites web ou de blogs disposent salons Discord pour échanger sur leur passion.
Des fonctionnalités qui vont plus loin
Retenez aussi que Discord dispose de fonctionnalités bien plus poussées que la discussion par écrit. En effet, il est possible de diffuser des live directement depuis la plateforme, un peu comme Twitch ou YouTube. Une nouvelle fois, c’est un élément pensé pour le jeu vidéo : vous pouvez jouer tout en diffusant votre partie auprès de votre communauté. Si certains membres le souhaitent, ils peuvent même booster un peu le serveur en prenant un petit abonnement payant. Aussi, il est possible d’avoir des salons vocaux : chacun des membres présents peut parler et écouter (il suffit de s’équiper avec un micro-casque par exemple). Enfin, si vous avez des fichiers à partager auprès de personnes ou dans un salon, c’est tout à fait possible. Bref, un service à tout faire pour les communautés en ligne !
Une utilisation qui s’est étendue au fil des années pour Discord
C’est d’ailleurs un service tellement complet, que les utilisateurs sont de plus en plus nombreux… Et pas uniquement pour le jeu vidéo ! On voit de plus en plus de communautés sur des thématiques bien différentes apparaître sur les serveurs Discord comme les paris sportifs, de l’entraide, les anime, la musique, l’intelligence artificielle (comme Midjourney), etc… Si vous avez une passion sur laquelle vous souhaitez échanger avec d’autres personnes, alors il y a de grandes chances pour qu’un serveur Discord existe. Pour aller encore plus loin, sachez que les entreprises utilisent de plus en plus Discord pour les échanges entre les collaborateurs, notamment en matière de télétravail. Comme vous avez pu le voir, les fonctionnalités sont nombreuses et variées : c’est donc un outil parfait pour les entreprises… Surtout qu’il est entièrement gratuit, autant en profiter pour booster la communication entre les équipes, non ?
Il y a 8 ans… déjà je vous avais proposé un article pour installer un WATCHDOG (Chien de garde) sur votre Raspberry Pi. Il est peut être temps de remettre ça à jour… Je vous propose cet article qui est une synthèse d’articles dont la référence est dans les sources, en bas de l’article. Vous […]
Le Trinkey est une mini-clé USB produite par AdaFruit et équipée d'un microcontrôleur RP2040 (le
même que le Raspberry Pico) ainsi que de 8 Mio de mémoire Flash QSPI.
Le TrinKey permet de créer des rapidement des solutions simples et efficaces... branchez là et le projet qu'elle contient est prêt à l'emploi.
Le TrinKey est un produit qui m'excite beaucoup, j'aime l'idée d'avoir une clé USB compacte que l'on peut adapter à ses besoins. Son connecteur I2C permet de chaîner capteur I2C et actionneur mais il est aussi possible de détourner ce connecteur pour exploiter les deux GPIOs ou un UART.
Le récent déploiement d'USBDevice permet maintenant d'écrire des pilotes USB en MicroPython... une autre raison de trouver le TrinKey vraiment très attractif.
La productivité est un sujet qui nous touche tous, que nous soyons professionnels de la technologie, créatifs ou entrepreneurs. En effet, nous sommes nombreux à chercher des moyens pour améliorer notre efficacité tout en préservant notre bien-être mental. Et si je vous disais que des petites briques en plastique, aussi simples que les LEGO, peuvent […]
Elecrow a profité de la puissance du Raspberry Pi RP2040 (issu du Raspberry Pi PICO) pour créer une gamme d’écrans tactiles HIM (Interface Homme-Machine). Le développement software se fait classiquement avec l’IDE Arduino ou avec SquareLine Studio (qui commence à tourner sur Raspberry Pi 4 et 5). La compatibilité avec la librairie LGVL* (Light and […]
La console de jeu Wii utilise des manettes appelées Nunchuk, baptisées ainsi à cause d’une lointaine ressemblance avec le nunchaku… De forme ergonomique, elles comprennent deux boutons (C et Z), un joystick analogique et un accéléromètre 3 axes. Le souci c’est qu’elles sont équipées d’une prise spécifique, qui sort un bus I2C, vers la Wii. […]