Jewel85

Bonjour à tous, j’espère que vous allez bien. Aujourd’hui, j’ouvre les sources d’un projet : le Jewel85

Vous vous en doutez, c’est l’évolution du TinyJewel85 que je vous aie présenté ici : http://anderson69s.com/2017/08/03/tinyjewel85/

On garde toujours le même principe que le TinyJewel85 à porter en collier ou à utiliser où bon vous sembles, mais j’ai rajouté deux LED et il est maintenant possible de charger une batterie 1S LiPo 3,7V via micro-USB :

1. Remerciements

Je vais commencer par remercier toutes les personnes // entreprises qui ont rendu ce projet possible techniquement :

Les liens utiles du projet se trouvent dans la partie source. 😃

2. Recommandations Générales

Le non-respect des consignes de sécurité peut causer des dommages matériels et corporels très graves.

Il faut monter une batterie LiPo sur le collier, veuillez prendre en compte les informations suivantes :

  • Conserver les accus hors de portée des enfants.
  • Ne pas tenter de percer l’enveloppe de la batterie.
  • Ne pas essayer de démonter ou modifier les accus.
  • Ne pas jeter dans l’eau ou le feu.
  • Éviter tout contact avec des liquides.
  • Ne pas mettre les accus dans un micro-onde.
  • Comme tout autre type de batterie, les accus Lithium-Polymère génèrent un courant électrique. Si une batterie subit un court-circuit ou décharge trop importante, les éléments internes peuvent être endommagés et entraîner un incendie.
  • La recharge des batteries doit être faite sous la surveillance d’un adulte.
  • Ne pas laisser de batteries en charge sans surveillance.

2.1 Apparence

Les éléments ne doivent présenter aucun défaut extérieur visible. Des courts-circuits internes, avec tous les risques qu’ils entraînent, sont susceptibles de survenir lorsqu’on laisse tomber les accus, ou que ceux-ci reçoivent un choc. Si la température de la batterie semble excessive, il faut immédiatement:

  • Débrancher le chargeur.
  • Mettre la batterie dans un espace correctement ventilé de préférence en extérieur sur du béton et loin de toute matière inflammable.
  • Observer la batterie pendant 30 minutes en respectant une distance de sécurité. Surveillez plus précisément les déformations ou réchauffements de l’accu. Ces deux facteurs sont des indicateurs attestant de dommages internes.
  • Ne pas tenter de recharger une batterie ayant subi des déformations ou étant gonflée.

2.2 Charge

  • Ne jamais recharger une batterie ayant subi des déformations ou étant gonflée.
  • Toujours laisser refroidir la batterie jusqu’à température ambiante avant d’effectuer une nouvelle charge.
  • Ne jamais laisser l’accu sans surveillance durant le processus de charge.
  • Ne jamais effectuer de charge sur un support inflammable comme un établi en bois, à proximité de produits inflammables ou à l’intérieur d’un véhicule.
  • Les batteries LiPo doivent être rechargées exclusivement avec des chargeurs étudiés et prévus pour cette application. Il est impératif de lire et appliquer les consignes données par le fabricant du chargeur.

2.3 Consignes

  • Mettre la carte sur la position OFF :
Mettre sur position OFF le Jewel85
  • Brancher une alimentation 5V – 1A dans le connecteur micro-USB. La LED rouge s’allume pour confirmer la mise en charge :
En Charge
  • La charge ce fait à un rythme de 100mA/h par sécurité. La fin de la charge est indiqué par la LED verte :
La batterie est chargée.

2.4 Stockage

  • Ne jamais exposer les batteries LiPo directement au soleil, ou dans un endroit ou la température peut dépasser 60°C. (Voiture en plein soleil par exemple)
  • Une batterie LiPo ne doit pas être stockée avec une tension inférieure à 3V par élément. Conserver la batterie trop déchargée risquerait de l’endommager irrémédiablement.

3. Histoire

Le TinyJewel85 est bien mais il souffre toutefois de quelques soucis d’après les retours que j’ai eu :

  • Les trous de fixation sont trop gros.
  • Le connecteur de batterie prend beaucoup de place pour rien.
  • Devoir débrancher la batterie pour la recharger est long et peu pratique.
  • Les condensateurs en 0402 ne sont pas évident à souder pour quelqu’un qui débute et veut monter sa PCB.
  • Il n’est pas évident de réaliser facilement un boitier pour la PCB.
  • 3 SK6812 c’est bien, 5 SK6812 c’est mieux. 😅

Il est clair que l’on apprend de ces erreurs et que la persévérance paie un jour ou l’autre. Du coup j’ai repensé pas mal de choses afin d’améliorer les points précédemment cités. Petit bonus, la résolution de ces problèmes, réduit les coûts de production…

Avec bien entendu toujours la même philosophie derrière l’objet : simple, sobre et solide. 😎

Il en résulte un projet open source qui met à disposition une plateforme électronique toute simple permettant à qui le veut de se l’approprier et de la personnaliser à base de logiciel open-source ou non. 😊

4. Design

Symétrique, j’aime les formes géométriques de bases que nous connaissons tous. La symétrie se trouve être un paramètre qui attire toujours l’oeil et qui, m’a toujours été exposé durant mes études de chimie.

Néanmoins, ce design épuré, vous permet de laisser libre cours à votre imagination et vous permet de réaliser le collier ou bijou qui vous plaît. Vu qu’il est possible de tout modifier…

Le boitier, la parure, le support, l’assemblage, l’utilisation c’est à vous de l’imaginer… Les animations et les couleurs affichées par les LEDS étant également personnalisable par vos soins à moindres frais.

5. Hardware

https://github.com/anderson69s/jewel85

5.1 PCB

Il a fallu rajouter des composants, mais tout rentre sur un format réduit. 😃

PCB double couches au format rond ou carré, alimenté par une batterie LiPo 1s délivrant une tension de 3,7V permettant à un ATTINY85, de piloter 5 SK6812. Il devient alors facile d’utiliser le bouton pour changer d’animation. Un interrupteur vous rendant maître de l’énergie…

5.2 CASE

Bonus, j’ai même dessiné des boitiers tout simples facilement reproductibles en FabLab. Outils nécessaires une imprimante 3D, une découpe laser, un peu de PLA ou d’ABS et un morceau de PMMA de 2 ou 3mm d’épaisseur :

Circle Case 3D Render
Square Case 3D Render

6. Software & Source

https://github.com/anderson69s/jewel85

Simple, avec la communauté Arduino, la polyvalence de l’ATTINY85 et la simplicité de la librairie NeoPixels, il devient possible de personnaliser les objets facilement. Toujours la même routine pour changer les animations :

  • Un appui simple : Changer d’animation
  • Une pression de 1s : Luminosité moyenne
  • Une pression de 3s : Luminosité forte
  • Une double pression : Luminosité faible

Il y a aussi du *.svg, du *.stl, les fichiers FreeCAD, tout ce qu’il faut pour fabriquer le votre… 😁

L’écosystème Arduino nous servant alors de passerelle USB <-> Serial <-> ISP pour personnaliser les couleurs jouées sur les LEDS au travers la librairie NeoPixels.

Voici les instructions pour personnaliser le code et fabriquer son programmateur à partir d’un Arduino UNO :

AVANT TOUTE MANIPULATION, PLACEZ TOUJOURS LE BOUTON EN POSITION OFF SUR LE JEWEL85.

6.1 Matériel nécessaire

  • 1 Arduino UNO
  • 1 Jewel85
  • 1 câble USB type A
  • 6 câbles de prototypages Mâle/Mâle

6.2 Installation Arduino IDE

Rendez-vous sur le site Arduino (https://arduino.cc) dans la section Software :

Page d’Accueil Arduino

Télécharger la dernière version de l’IDE pour votre système d’exploitation :

Page de Download

Vous pouvez choisir de faire une donation ou non juste avant de lancer le téléchargement :

Pensez à faire une Donation

Installez l’Arduino IDE sur votre ordinateur. Pour les utilisateurs de Windows je vous recommande d’utiliser l’installeur qui contient le pilote USB pour les cartes Arduino.

6.3 Mise en place du programmateur

Lancez l’Arduino IDE :

Image de Lancement

Ouvrez ensuite l’exemple -> Arduino ISP :

Connectez ensuite juste votre Arduino UNO à votre ordinateur à l’aide du cordon USB et uploadez le code :

C’est terminé, votre Arduino UNO est prêt pour envoyer du code sur votre TinyJewel85.

6.4 Librairie NeoPixel & Définition de carte

Il ne nous reste qu’à indiquer les bons paramètres à l’Arduino IDE pour que celui-ci puisse compiler et envoyer notre code au travers de l’Arduino UNO sur notre TinyJewel85.

6.4.1 Librairie NeoPixels

Les LED ont besoin d’une librairie pour être piloter par l’ATTINY85, le projet utilise la très connue NeoPixel de Adafruit. Voici comment faire pour l’installer :

Si l’installation de librairie c’est bien passé, vous devriez avoir accès aux exemple de la librairie NeoPixel :

6.4.2 Définition de carte

Rendez-vous dans les préférences de l’Arduino IDE :

Ajoutez l’adresse suivante :

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

À la liste de cartes supplémentaires pour obtenir le type de carte ATTINY85 dans l’Arduino IDE :

Réglages Préférences Arduino

Validez en cliquant sur OK. Allez alors dans le gestionnaire de cartes :

Vous pouvez alors choisir les bons paramètres pour le Jewel85 :

6.5 Sources & Upload sur Jewel85

Rendez-vous sur le Github du projet : https://github.com/Anderson69s/Jewel85

Téléchargez le contenu du repo :

Ouvrez le code Jewel85. Il y a plusieurs parties assez faciles à reconnaître voici une explication, qui vous aidera à comprendre :

  • lignes 1 à 7 : Remerciements.
  • lignes 8 à 11 : Définition des librairies.
  • lignes 13 à 302 : Pilotage des LEDS.
  • lignes 304 : Routine pour les interruptions.
  • lignes 308 : Création de l’objet pour les LEDS.
  • lignes 310 : Définition de showType qui permet de choisir l’animation.
  • lignes 312 à 324 : Setup.
  • lignes 326 à 336 : Loop.
  • lignes 331 à 354 : Action à effectuer en fonction du bouton.
  • lignes 355 à 422 : Choix de l’animation sur les LEDS.
  • lignes 425 à 433 : Routine de fin.

L’onglet button servant principalement pour le debounce et le repérage des évènements, vous n’avez normalement rien à modifier dedans.

Il ne reste plus qu’à connecter l’Arduino UNO avec le Jewel85 comme pour le TinyJewel85 :

Connexion

Puis à envoyer le code sur le Jewel85 comme avec le TinyJewel85:

Vous savez maintenant comment faire pour modifier les animations affichées par les LEDS et il ne vous reste plus qu’à vous amuser à fabriquer votre bijou personnalisé…

@Bientôt Anders 😁

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.

Traduction :