Horloge Chromatique en MicroPython - partie 1: le débrouissaillage

Bonjours à tous,

Je me suis mis en tête de réaliser une horloge chromatique à l'aide de LEDs NeoPixels et d'une carte MicroPython Pyboard (microcontrôleur programmé en Python).
Avant de se lancer dans le montage et la programmation, je me suis d'abord penché sur l'aspect esthétique et lumineux.

Qu'est ce qu'une horloge chromatique?
Et bien, c'est une horloge où les chiffres sont remplacés par des codes couleurs et si cela produit de la lumière c'est encore mieux!

Voici un exemple d'horloge chromatique réalisée avec Arduino dont nous avions parlé dans cet article.

En utilisant un code couleur comme pour les résistances, il est alors possible de codifier des chiffres.
Ci-dessous un exemple de codification couleur de résistance permettant de fixer l'idée du principe (nous aurons l'occasion d'y revenir plus tard).

Recherche esthétique et lumineuse


J'ai eu envie de faire quelque chose d'un peu différent... je me suis donc rendu dans un magasin AVA .

Mon but était de trouver des éléments translucides pouvant servir a diffuser la lumière des NeoPixels.

J'y ai sélectionner un bougeoir (verre, parallélélipède massif) , une ampoule décorative (verre) et des tubes (plastique, 15cm x 3cm)

J'ai ensuite fais des essais dans différentes conditions de luminosités avec 3 LEDs NéoPixel d'un Stick Neopixel et les 7 LEDs d'un NeoPixel Jewel.

Voici les résultats obtenus:

le NeoPixel Jewel:
NeoPixel Jewel disponible chez MCHobby

NeoPixel Jewel disponible chez MCHobby
le Stick NeoPixel:
Seules les 3 dernières LEDs sont allumées (celle en dessous du composant.
Stick Neopixel disponible chez MCHobby

Stick Neopixel disponible chez MCHobby
Conclusion
C'est le bougeoir (retourné) avec le NeoPixel Jewel qui offre la meilleure diffusion dans les divers conditions de luminosité. Le réceptacle pour la bougie y est certainement pour beaucoup dans le processus de diffusion.
J'irais même jusqu'à dire que le résultat est même magnifique.

Par contre, je suis très déçu du résultat offert par l'ampoule de verre... il faudrait certainement essayer de glisser les NéoPixels à l'intérieur (ou découper la base) pour un résultat de meilleure qualité.

PYBOARD-UNO-R3
Le lecteur attentif aura remarqué la carte Pyboard-Uno-R3 sur la dernière photo (carte en cours de finalisation). Celle-ci qui propose une interface NeoPixel 5V à partir d'une Pyboard, raison pour laquelle je l'ai utilisée dans ce projet.
Il faut bien avouer qu'un connecteur NeoPixel prêt à l'emploi c'est vraiment pratique.

la carte Pyboard-Uno-R3

Grâce à la bibliothèque pixels du projet Pyboard-Uno-R3, commander les LEDs est un véritable jeux d'enfant!
>>> from uno import pixels
>>> leds = pixels( 9 ) 
>>>
>>> # Eteindre les Pixels
>>> def clear():
...     global leds
...     leds.fill( (0,0,0) )
...     leds.write()
... 
>>> # Commande du Stick
>>> def set( r,g,b ):
...     global leds
...     leds[8] = (r,g,b)
...     leds[7] = (r,g,b)
...     leds[6] = (r,g,b)
...     leds.write()
... 
>>> clear()
>>> set( 255, 0, 0 )
>>> 
>>> 
>>> # Commande du Jewel
>>> def setj( r,g,b ):
...     global leds
...     for i in range( 1,8 ):
...         leds[i] = (r,g,b)
...     leds.write()
... 
>>> clear()
>>> setj( 255,0,0 )
>>> clear()
>>> 

A tout bientôt pour la suite des aventures... là, je vais acheter 5 autres bougeoirs pour les 6 chiffres de l'horloge chromatique.

1 commentaire: