Jewel For Her with Adafruit Gemma

Salut à tous, comment allez-vous? Aujourd’hui, je vais vous présenter un objet qui n’a pas grande utilité à part peu être rendre votre compagne heureuse et surtout cela me sert à donner une excuse pour bidouiller, car quand c’est pour elle, elle râle moins si je passe de longues heures à  bricoler. Comme d’habitude vous aurez la liste de ce qu’il faut, les prix, les schémas, le code :  tout est open-source…😀

Afin de faciliter la compréhension et de donner le maximum d’informations, je vais découper l’article en partie bien distinctes qui malheureusement parlent de sujets bien différents… Mais pour le moment que nous faut-il pour faire un jolie cadeau personnalisé?

Budget total ? Un peu moins de 50 dollars pour ce qui vient de chez adafruit , 15 euros chez Snootlab, une vingtaine d’euros de PLA pour l’impression 3D erreurs et tests compris. 😎

Le but ? Créé un prototype de pendentif unique à base de microcontrôleur qui réagit à la lumière. Si la photo résistance capte suffisamment de lumière les LED s’éteignent afin d’économiser de la batterie sinon elles sont allumées pour un effet ravageur dans le noir : j’ai fait simple pour un premier essai dans le monde du wearable… Je ne voulais pas alimenter les LED en 5V car elles sont trop éblouissantes dans le noir qui plus est le gemma ne sort que du 3,3V sur les sorties digitales… J’en profite pour parler de l’autonomie, vu qu’on éteint les LED souvent et qu’elles fonctionnent en dessous de leur puissance normale pour le moment une charge a tenu tous les tests et les premiers essais : en gros 15 heures et je compte encore… :mrgreen:

1 – Le boitier

Récupérez le modèle, rendez-vous dans votre FabLab préféré pour imprimer le modèle, au moment de l’impression changez l’échelle du modèle et mettez-la à 110% (sinon la batterie ne rentre pas dans le boitier) :

Cura Collier
Cura Collier
100 % Cura Collier
100 % Cura Collier
110 % Cura Collier
110 % Cura Collier

Une fois le boitier froid et décollé du plateau de l’imprimante 3D, coupez une des boucles à l’aide de la pince coupante et raboter le restant de PLA au cutter afin d’avoir une surface lisse… Ou bien ne coupez rien et réalisez un pendantif avec deux attaches 😊

Il faudra ensuite percer le couvercle à l’aide d’un forêt à métal et à petite vitesse afin de faire passer nos câbles sans casser le PLA. Le PLA n’est pas fragile en soi, mais il faut percer de l’intérieur vers l’extérieur sur une surface que vous pouvez facilement traverser comme un morceau de bois afin de ne pas lui appliquer des contraintes inutiles… Ces trous serviront à alimenter nos LED et incruster la photo résistance. Le diamètre des perçages va dépendre de vos composants… Je n’ai pas collé les LED, elles tiennent grâce à la soudure…

2 – Code & Schéma

Vous l’avez bien compris vu la simplicité de l’utilisation de l’objet créé ici, le montage et le code sont très simple…

Schéma Montage Collier
Schéma Montage Collier

 

Le code est court et facile à comprendre :

int ledG = 0;//On définit le port de la première rangé de LED 
int ledD = 1;//On définit le port de la seconde rangé de LED
int phre = 0;//On définit le port de la photo resistance
 
void setup()
{
//Serial.begin(9600); //On peut faire du Serial @ 9600 baud pour faire du debug
pinMode(ledG, OUTPUT); //On définit les port en OUTPUT
pinMode(ledD, OUTPUT); //On définit les port en OUTPUT
}

void loop()
{
phre = analogRead(1); //On lit la valeur de la photo résistance
phre = map(phre, 0, 200, 255, 0); //On map la valeur de la photo résistance en fonction de l'amplitude de PWN
phre = constrain(phre, 0, 255); //On restreint le nouvel interval entre à-255
analogWrite(ledG, phre ); //On utilise la lecture de la photo résistance pour piloter les LED
analogWrite(ledD, phre ); //On utilise la lecture de la photo résistance pour piloter les LED

}

Là où cela devient plus dur, c’est pour incruster le tout dans le boitier :

Vue interne Boitier
Vue interne Boitier
Vue interne couvercle
Vue interne couvercle

Bon, on ne regarde pas comment est connecté la batterie au passage, car j’ai dût un peu petit peu réduire la hauteur du connecteur JST 2.0. Qui plus est, je suis sûr que les coses ne peuvent pas se toucher une fois le boitier fermé 😉

Dernière difficulté : envoyer le code à partir de l’Arduino IDE étant donné que sur le gemma c’est un ATtiny85… Il va donc falloir modifier une ou deux petites choses…

3 – Installation des fichiers requis

Voyons comment envoyer le code sur notre gemma en passant par la version officiel de l’Arduino IDE, la manipulation est faite sur la version 1.5.5, bah oui j’ai un Arduino Yùn à la maison j’ai pas le choix… Mais normalement si vous faites la même manipulation sur un IDE en version 1.0.5 cela doit aussi fonctionner sinon si vous n’avez pas besoin de la version 1.5.5 utiliser la version modifiée de Adafruit directement…

J’ai trouvé la solution sur le learn de Adafruit il y’en a pour tous les goûts, Linux, Max & Windows : https://learn.adafruit.com/introducing-trinket/setting-up-with-arduino-ide

Il suffit de suivre ce que l’on demande de faire à savoir :

  • Télécharger le compilateur pour ATTiny85 et le mettre dans le dossier hardware. Il peut ne pas exister, il faut alors le créer et le mettre dans le même dossier que votre dossier librairie (au même niveau hiérarchiquement).
  • Télécharger le fichier de configuration avrdude.conf et remplacer l’existant dans hardware\tools\avr\etc . Attention à bien utiliser la version qui est sur le forum pour avoir un fichier avrdude.conf qui fonctionne sur 1.5.5.
  • Puis il faut mettre à jour le linker. Pour cela on télécharge le fichier fourni et on se rend dans Arduino.app/Contents/Resources/Java/hardware/tools/avr/avr/bin pour remplacer l’ancien…
  • Enfin on peut essayer d’envoyer l’exemple blink pour tester la connexion. Attention, pour uploader du code sur un Gemma il doit être mis en mode Bootloader. Pour cela, appuyez plus de 2 secondes sur le bouton reset et relâchez le. La diode D1 doit s’allumer gagner en intensité, diminuer en intensité, s’éteindre et recommencer 3 – 4 fois… Lancez l’upload du code pendant que la diode D1 à ce comportement bizarre 😉

Ca y est tout est près il n’y a plus qu’à regarder le résultat :

collier_vue_allume1 collier_vue_allume2 collier_vue_eteint1 collier_vue_eteint2

4 – Améliorations

  • Le boitier, clairement c’est le point noir de ce projet… Si je dois refaire un collier, il faudra concevoir un boitier à imprimer en fonction de mes besoins la prochaine fois et ne pas aller à la facilité… 😅
  • La section des câbles dans le couvercle, je fais passer du 3,3V, pas du 12V pourquoi j’ai utilisé une section aussi grosse???? 😡

Les deux point évoquées ci-dessus peuvent paraître anodin, mais vu la taille du projet gagner quelques millimètres et réaliser un boitier sur mesure en fonction de ces composants n’est vraiment pas un must…

Nous sommes arrivés à la fin, j’espère que cet article vous aura plût et vous donnera des envies et des idées…

@ bientôt  😃

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 comment les données de vos commentaires sont utilisées.

Traduction :