Mon horloge à encre électronique
Que diriez vous de réaliser une horloge originale, imprimée en 3d qui utilise un écran à encre électronique plutôt que des aiguilles. De cette manière il est également possible d’y afficher d’autres informations telle que la température et l’humidité.
Un avantage de cet affichage est qu’il ne consomme rien une fois les données affichées ! Ceci permet alors de porter tout le projet sur batterie, tout en ayant une autonomie raisonnable pour une horloge !
Matériel requis
Ce projet a été conçu pour fonctionner avec ces composants. Vous pouvez le réaliser avec d’autres équivalents. Prêtez juste attention aux tensions et aux dimensions, surtout pour le cadre imprimé !
Pour tester et développer :
- 1 Waveshare 7.5inch E-Ink Display Hat for Raspberry Pi 880×528
- EDIT: Le modèle exact que j’ai utilisé possédait trois couleurs (noir, blanc et rouge) mais semble ne plus être disponible pour le moment, moyennant quelque changement dans les fichiers du code source (voir la doc de Waveshare en fin d’article), la version noir et blanc devrait fonctionner également
- 1 Arduino BLE sense 3.3V
- 1 plaque d’essai avec fils straps
Pour créer la version finale, ajoutez ceci :
- 1 18650 battery coupler with 3.3V output ou équivalent
- 1 batterie 18650
–Pour information, ma version possède une batterie de 4200mAh, elle permet un mois d’autonomie - La carte électronique PaperClock dédiée
- Les deux pièces du cadre à imprimmer
- 12 Inserts filetés en laiton M3x3mm
- 12 Vis M3x6mm
- 4 boutons poussoirs
- 1 connecteur femelle 2×20 broches
- 2 connecteurs femelle 15 broches
- Pour les connecteurs, vous pouvez aussi opter pour l’achat d’un ensemble mâle + femelle comme celui ci qui reviendra peut-être moins cher !
Logiciel requis
- Arduino IDE v1.8+
- Ajoutez cette librairie depuis le gestionnaire de cartes : Arduino Mbed OS Nano Boards
- Ajoutez cette librairie depuis le gestionnaire de librairies : Arduino_HTS221 (for temperature and humidity sensors of the Nano 33 BLE Sense)
Installation pour test et développement
Pour vos premiers essais, vous n’avez pas besoin de batterie. Vous pouvez alimenter l’arduino nano BLE directement par USB depuis votre PC.
- Branchez l’écran à encre électronique comme expliqué dans la documentation Waveshare E-Ink display à la section “User guides of Arduino” (Si vous n’avez pas exactement le même écran, recherchez le chapitre de votre modèle). Vous pouvez par contre alimenter l’écran avec les 3.3V de l’arduino (pin 3.3V)
- Branchez également deux boutons poussoir. l’un entre GND et D4, l’autre entre GND et D5.
e-Paper | Arduino | Boutons |
---|---|---|
Vcc | 3.3V | |
GND | GND | |
DIN | D11 | |
CLK | D13 | |
CS | D10 | |
DC | D9 | |
RST | D8 | |
BUSY | D7 | |
D4 | Heures | |
D5 | Minutes |
- Une fois que tout est branché. Alimentez l’Arduino depuis l’USB.
Charger le programme dans l’Arduino
Tout le code source se trouve sur mon dépot Gitlab PaperClock.
- Clonez le projet sur votre PC
- Ouvrez le projet Arduino se trouvant dans
src/paperclock/paperclock.ino
- Chargez le programme dans l’Arduino, vous pouvez suivre la documentation officielle Arduino
Comment régler l’horloge
- Une fois mis en route, l’écran devrait clignoter plus ou moins 20 secondes puis afficher l’horloge à 00:00, la température et l’humidité.
- Uniquement lorsque l’affichage ne clignote pas, vous pouvez régler l’horloge en appuyant sur le bouton des heures (D4 sur l’Arduino, key3 sur la carte) autant de fois que vous souhaitez incrémenter l’heure, faite la même chose avec le bouton des minutes. (D5, key4 sur la carte).
- Notez que l’affichage ne changera pas immédiatement donc vous devez compter ! (C’est un écran à encre électronique ! pas un moniteur 60 images par secondes 😉 )
- Vous pouvez vérifier si l’Arduino prend bien en compte vos appuis de bouton en regardant la del intégrée. Elle s’allumera brièvement à chaque pression, si elle ne le fait pas, l’Arduino n’est peut être pas sous tension ou occupé à rafraichir l’écran.
- Sauf si vous l’avez changé dans le code, l’horloge ne se rafraichira que toute les 5 minutes, pour économiser la batterie et la longévité de l’écran.
Installation pour la version finale
Mise en place de l’Arduino
- Premièrement, vous pouvez charger le programme comme expliqué plus haut.
- En utilisation réelle, l’Arduino est directement alimenté par la batterie (par la sortie 3.3V du coupleur) sur la patte 3.3V. Vous devez donc couper le lien entre les pastilles nommées 3.3V. Faire ceci va déconnecter le régulateur de tension 5V vers 3.3V interne, utiliser moins d’énergie et moins chauffer l’Arduino, afin d’avoir une meilleure précision pour la température.
Lorsque vous coupez entre ces pastilles, vous isolez le circuit 5V du circuit 3.3V et l’Arduino ne peut plus être programmé par USB. Pour retrouver cette fonctionnalité, vous avez besoin de reconnecter les deux pastilles avec une légère soudure.
Sur l’Arduino de mon horloge, j’y ai soudé deux fils vers des connecteurs femelle, je peux alors les connecter ou non selon l’utilisation
Créer le circuit imprimé
Ce circuit imprimé est conçu pour imiter la connectique du GPIO de la carte Raspberry pi. De cette manière il est possible de brancher la carte “epaper Driver HAT” (fournie avec l’écran) directement dessus. La carte s’occupe de tous les branchements entre l’arduino, l’écran et les 4 boutons. (actuellement, deux sont inutilisés, prévus pour de futures utilisations)
Vous pouvez trouver le schéma électrique et le plan de la carte sur the open Source Hardware Lab. Cliquez sur le lien “Open in the editor” en dessous de l’image de la carte, puis générez le fichier Gerber en cliquant dans le menu Fabrication > PCB Fabrication File (Gerber)
. Vous pouvez commander directement sur le site JLCPCB ou simplement télécharger le fichier pour le faire réaliser ailleurs.
Créer le cadre
Les fichiers STL d’impression sont gratuitement disponible sur la plateforme Cults3D. Il y a deux pièces:
- Le cadre en lui même pour maintenir l’écran et rendre jolie votre horloge
- Le support pour tenir la carte électronique, la batterie et l’écran par l’arrière
Ces pièces sont maintenues ensemble avec des vis M3 de 6mm. Une fois vos pièces imprimées, vous devez placer les inserts filetés en laiton M3x3mm avec l’aide d’un fer à souder. (Faite attention de ne pas faire fondre votre cadre en plastique imprimé !! pour du PLA, 200°C est bien assez pour arriver à les placer)