Vue lecture

Défi scolaire: des piles maisons pour alimenter un Pico

Bonjour à tous,

Commençons par vous souhaiter un joyeux Noel et un maximum de joie en famille.

Introduction

Il n'y a pas si longtemps, Kev écrivait un article où il se demandais s'il était possible d'alimenter un Pico avec des pommes de terre (avec du Zinc et du Cuivre).

La réponse est non car s'il est possible d'atteindre une tension raisonnable, le courant disponible est limité à quelques µA!

Le sujet n'est pour autant pas clôturé... il y a d'autres façons de créer des piles.
Je me suis penché sur ce sujet passionnant et captivant.
Les options intéressantes ne manquent pas... voici ma petite liste aide-mémoire :-)

Piles salines - Aluminium / Air / eau salée

La vidéo ci-dessous présente la réalisation d'une pile saline à l'aide d'aluminium, charbon de bois, eau salée et quelques éléments d'usage courant (tube PVC, essui-tout, ...).

Voir cette vidéo YouTube

Selon l'auteur, la configuration démontrée permet de d'obtenir une pile capable de produire 4V et un courant de 20mA.

Ce que j'aime dans cette approche, c'est qu'il est possible de réaliser cette pile SANS avoir besoin d'outils énergivores (comme une foreuse).


Lien vers la vidéo

Pile Cuivre - Zinc

Mon premier réflexe a été de penser à cette combinaison. Je vous propose deux vidéos sur le sujet. 

Ce qui est intéressant c'est que le zinc et le cuivre sont faciles à trouver.
Par contre la production en tension et courant sont relativement faible. Par contre, il est envisageable de recharge ce type de batterie (avec un électrolyte adéquat).


Les matériaux étant faciles à trouver, il est possible d'expérimenter différents types d'assemblage des électrodes (série,parallèle,espacement) et d'électrolytes.

Pile Saline Aluminium / Cuivre 

Voici un autre type de pile saline a base de tube en aluminium, fil de cuivre, eau salée et sable. Des éléments faciles a trouver.
L'intérêt ici réside dans l'épaisseur des matériaux, grâce notamment au tube en aluminium.

Le sable est ici utilisé comme "électrolyte". Initialement utilisé comme élément de remplissage, cet isolant est ensuite mouillé avec de l'eau salée!

Selon la vidéo, l'assemblage permet de produire ~5.3V. Le courant de court-circuit est inconnu mais l'expérience n'est pas dénuée d'intérêt.

J'ai tendance a penser qu'il faudrait maximiser la surface de cuivre et réduire l'espace entre le cuivre et l'aluminium.

Remarque:
le fil de cuivre va inévitablement s'oxyder et se couvrir de vert-de-gris... qui est aussi un isolant. Attention en manipulant le vert-de-gris car il est toxique pour l'environnement (et l'homme en cas d'ingestion).

La pile canette

Juste un dérivé de la pile ci-dessus. les canettes utilisées dans cette vidéo sont certainement en aluminium (attention, il en existe en fer avec revêtement protecteur). La réalisation des piles est probablement plus aisée.


Electrolyte polymère en Gel

L'électrolyte est un des éléments principaux des piles. Jusqu'ici c'est de l'eau salée qui sert d'électrolyte.

En navigant sur Internet, on se rend rapidement compte qu'il est existe beaucoup d'autres.... mais sans vraiment savoir lequel resterait à la portée des Maker.

La vidéo ci-dessous propose de réaliser un électrolyte Polymer sous forme de Gel. Les constituants peuvent être achetés sur Internet et la réalisation est relativement simple.

Cerise sur le gâteau, il est possible de régénérer le films électrolyte en le plaçant dans l'eau.


Bon visionnage
Dominique

Encodeur à quadrature, Pico et MicroPython

Bonjour à tous,

L'article d'aujourd'hui regroupe plusieurs domaines.
Il démarre en effet de la récupération d'éléments sur l'imprimante HP DesignJet T520 ou je m'arrête spécifiquement sur les moteurs équipés de disques optiques.


Equipé d'un moteur 5V (CN459-60067 BN026Y18), d'un disque optique et d'un encodeur à quadrature optique, je voulais savoir s'il était possible de l'utiliser avec MicroPython.

Le disque optique

La photo haute résolution du disque optique permet de relever plusieurs informations utiles.

Le disque présente 50 interstices transparents entre deux numéro successif. Le disque étant numéroté de 1 à 12, cela représente 600 pulsations par tour (ce que reprend l'une des références sur le disque).

Les autres références/informations sur le disque ne renvoi malheureusement que vers les imprimantes HP.

L'encodeur optique

Pour sa part, l'encodeur optique est monté sur une plaquette fixée directement sur le support métallique.
Cet encodeur contient un LED (émetteur de lumière) ainsi que deux capteur photo-sensibles. Le décalage entre les deux capteurs permet d'identifier le sens de rotation du moteur.



Le connecteur 4 contacts est utilisé pour:

  • la masse
  • l'alimentation 5V (déduit de la résistance utilisée pour la LED).
  • Deux signaux à quadrature.

Les signaux

Quelques mesures rapides permettent de savoir que le capteur produit une tension de sortie (pas besoin de résistances pull-up ou pull-down).

Maintenant que le brochage est identifié, il ne reste plus qu'à branché un oscilloscope sur les deux canaux de sorties.


 


Notez le décalage entre les deux signaux entre marche avant et marche arrière!

L'oscilloscope nous informe aussi que la fréquence des pulsations est de 24.4 KHz (soit 24400 fois par seconde). La période est de 1/24400 soit 41µSec (temps en deux impulsions sur un même canal).

Brancher sur Raspberry-Pi Pico

Les signaux de sortie étant étant en 5 volts (ou presque), il faut utiliser un pont diviseur de tension pour ramener la tension sous 3.3V.

 

Bibliothèque et code d'exemple

D'autre part la période de 41µSec nécessitera un code particulièrement rapide pour ne pas rater d'impulsion.
Une section de code en PIO permettra de suivre suivre la cadence... même sous MicroPython!

La bibliothèque adéquate est disponible dans le dépôt esp8266-upy ( esp8266-upy/LIBRARIAN/rp2lib ).
rp2qenc.py contient le code PIO et la classe PIO_QENC permettant d'utiliser un encodeur à quadrature autonome sur un Pico.
La classe PIO_QENC permet de compter (ou décompter) un compteur permettant de connaître le nombre de tour moteur (valeur signée encodée sur 32 bits).

Le code permettant de lire le compteur est relativement simple.

from machine import Pin
from time import sleep_ms
from rp2qenc import PIO_QENC

pinA = Pin(15, Pin.IN, Pin.PULL_UP)
pinB = Pin(16, Pin.IN, Pin.PULL_UP)

qenc = PIO_QENC(0, (pinA, pinB))
print('starting....')
for i in range(120):
    print('iter %3i : Quadrature value = %i' % (i,qenc.read()) )
    sleep_ms(500)
qenc.sm_qenc.active(0)
print('stop')


Voici qui termine ce petit article.

Atelier-Conférence le 5 octobre 2024 – Librairie Eyrolles à Paris

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 […]

Cet article Atelier-Conférence le 5 octobre 2024 – Librairie Eyrolles à Paris a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

PicoTamachibi : créer un animal virtuel/Tamagotchi avec Raspberry-Pico 2

Bonjour à tous,

01 sept 2024: Ajout d'une petite étude des niveaux, des actions utilisateurs et actions tamagotchi sur le Wiki.

Pour ce week-end, je vous propose un chouette projet MicroPython à base de Raspberry-Pi Pico 2, d'un écran OLED 128x64 I2C et de trois boutons poussoir.

Kevin McAleer nous propose de créer un animal virtuel appelé Tamachibi.
Sorti tout droit de notre enfance ces animaux virtuels se nommait Tamagotchi.

Ce que j'adore dans la vidéo de Kevin ce sont les animations de "Baby".

écran OLED 128x64 I2C

La disposition des composants sur la carte est également bien pensé.

Source: vidéo de Kevin McAleer

Les graphiques sont stockés dans des fichiers au format BPM que nous avions déjà abordé dans l'article "Lecture d'image PBM sous MicroPython".

Quelques informations pratiques

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.


En vidéo

Je vous propose de découvrir la vidéo de Kevin (YouTube).

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.
     
J'ai pris un peu de temps pour réaliser un petite étude des des niveaux, des actions utilisateurs et actions Tamagotchi sur le Wiki.

Bon visionnage,
Dominique

CrowPanel Pico Display : Ecran tactile RP2040 – 3,5 pouces 480×320 TFT C/C++ LVGL

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 […]

Cet article CrowPanel Pico Display : Ecran tactile RP2040 – 3,5 pouces 480×320 TFT C/C++ LVGL a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

Anavi Handle : transformez une manette de jeu Nunchuk en souris ou en joystick

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. […]

Cet article Anavi Handle : transformez une manette de jeu Nunchuk en souris ou en joystick a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

Transmission de données série en 433MHz avec les modules EBYTE E49-400T20D

Il existe de nombreuses solutions pour transmettre des données, depuis le câble série, en passant par le câble réseau, le WiFi, LoRa… Ebyte couvre plusieurs de ces domaines en particulier le a transmission série avec des modules peu chers. J’ai approvisionné plusieurs de ces modules pour entreprendre de faire communiquer en 433MHz des Raspberry Pi […]

Cet article Transmission de données série en 433MHz avec les modules EBYTE E49-400T20D a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

Sortie du nouveau Raspberry Pi PICO 2 avec le RP2350 ARM ou RISC V

Depuis la sortie du Raspberry Pi PICO j’ai pris du plaisir à l’utiliser et vous avez vu de nombreux articles sur le blog. Sur le stand framboise314 il y a régulièrement des projets à base de Raspberry Pi PICO comme les LEDs rebondissantes ou le jeu de mémoire. On trouve le RP2040 du PICO sur […]

Cet article Sortie du nouveau Raspberry Pi PICO 2 avec le RP2350 ARM ou RISC V a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

❌