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é?
- Une imprimante 3D 😀 bah oui le boitier rose que vous voyez a été imprimé… Alors non je n’ai pas gagné au loto, je me suis rendu à la Fabrique d’Objets Libres aka le FabLab de Lyon pour pouvoir imprimer… C’est d’aileurs là-bas que l’on ma expliqué les rudiments de l’impression 3D à la mode Open-Source… (Lien Site Fabrique d’Objets Libres ). Mais vous pouvez utiliser autre chose pour faire le boitier…
- Un fichier à imprimé forcément… J’ai pris un modèle Open-Source sur Thingiverse : http://www.thingiverse.com/thing:247249
- Un Adafruit Gemma : https://www.adafruit.com/products/1222
- Une toute petite batterie : https://www.adafruit.com/products/1317
- Un chargeur de batterie : https://www.adafruit.com/products/1304
- 10 LilyPad LED violettes de chez snootlab : http://snootlab.com/lang-en/e-textile/556-lilypad-led-purple-5pcs-en.html
- Une photo résistance qui me restait.
- Un bouton on/off qui me restait.
- Une Résistance 10Kohm qui me restait.
- Du câble qui me restait.
- Un fer à souder l’étain suffit ainsi qu’une pince coupante et un cutter.
- Du temps et un peu de patience…
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…
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) :
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…
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 :
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 :
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 😃