J’ai fait une nouvelle vidéo sur ma chaine youtube, sur les écrans LCD texte classiques, à base de HD44780 (ceux qu’on trouve partout), et sur leur conversion en écrans I2C en utilisant une carte additionnelle qui permet de passer de 6-8 GPIOs occupés à 2 (qui restent utilisables en plus!).
Dans un précédent billet, nous avons décrit le modèle 3D du panneau de commande de Rlieh. J’ai maintenant imprimé le boîtier, et je vais vous présenter le résultat, qui me sert de boîtier de contrôle de rlieh, mon système de gestion automatique d’aquarium.
Boitier de rlieh imprimé en PLA
Le boîtier a été imprimé en PLA. Il s’agit de la façade présentée dans le précédent billet, avec trois trous pour les boutons, et un grand rectangle pour l’écran LCD.
L’écran est fixé par l’arrière, avec 4 vis, et le tout est prévu pour que l’écran soit tout juste au niveau de la façade. Le fichier scad peut toutefois être modifié pour changer cela, si l’on souhaite par exemple que l’écran dépasse pour qu’il soit au niveau d’une autre plaque. Tous les fichiers sont disponibles sur le github du projet Rlieh.
Les boutons se fixent par l’avant, avec un écrou à l’arrière. Sur la version imprimée, les trous étaient un peu juste, je les ai donc élargis, mais sur ceci à été mis à jour, et la taille des trous permet maintenant une installation facile de boutons de 16mm standards.
Écran et boutons installés sur le module de contrôle de Rlieh
Sur la photo précédente, vous pouvez voir le rendu lorsque l’écran et les boutons sont en place. Sur la droite, une carte SD et un Raspberry pi zero à titre de comparaison pour la taille.
boîtier de contrôle de Rlieh de face, en fonctionnement.
Pour connecter le tout, il suffit de brancher quatre fils pour l’écran I2C : le vcc (5v), la masse, et les broches sca et scl. Il faut deux câbles supplémentaires pour chaque bouton.
Pour l’instant, seul le bouton du haut est utilisé : il allume ou éteint l’éclairage. Toutefois, puisqu’il s’agit d’un contrôleur automatique, il n’allume pas simplement de façon instantanée et continue l’éclairage. En effet, celui ci s’allume et s’éteint automatiquement selon l’heure. L’éclairage s’allume également progressivement, comme illustré dans cette vidéo :
L’extinction est également toujours progressive.
Si l’on appuie sur le bouton alors que l’éclairage est allumé, alors l’éclairage s’allumera (progressivement), mais pour une durée (réglable) de 5 minutes, avant de s’éteindre progressivement. Dans l’autre sens, si l’éclairage est allumé, alors un appui sur le bouton l’éteindra progressivement pour 5 minutes avant de le rallumer. Ce comportement sera bientôt changé, en effet, si quelqu’un éteint l’éclairage, c’est sans doute pour avoir de l’obscurité (par exemple pour dormir). Du coup dans la prochaine version du code, l’éclairage restera éteint jusqu’au prochain cycle d’allumage programmé.
Dans mon cas, l’éclairage s’allume a 11h et s’éteint à 23h, sur une période de plusieurs minutes.
façade du module de commande de rlieh en fonction
Sur l’écran, la première ligne sert à afficher l’état des lumières (on ou off). La seconde affiche quelque chose si l’on est en train d’allumer ou d’éteindre (pendant les transitions). Ces messages sont surtout utiles pour le développement et le débogage, ils seront sans doute remplacés par autre chose plus tard.
La troisième ligne affiche la température de l’air, et la température de l’eau. Enfin, sur la dernière ligne, on affiche l’heure courante et la date.
Une version ultérieure affichera le temps restant avant le prochain allumage/la prochaine extinction, ainsi que d’autres indications utiles.
Le Raspberry pi est capable d’utiliser des écrans HDMI variés, du moniteur d’ordinateur à la télévision de salon. Toutefois, pour certains projets, on peut souhaiter utiliser un écran plus compact, sans se ruiner. Dans cet article, nous testerons un écran LCD 10 pouces HDMI 1280×800 IPS acheté sur Aliexpress. aux alentours de 60€. Il existe des écrans moins chers pour cette diagonale, mais celui ci à l’avantage d’avoir une définition de 1280×800, donc compatible avec le 720p (les modèles moins chers sont plutôt en 1024×600), et également d’être vendu comme ayant une dalle IPS. Nous verrons donc ce que vaut cet écran en pratique, ce que l’on reçoit, et comment assembler le tout (très simple), et nous vérifierons qu’il s’agit bien d’un IPS.
On peut trouver sur Aliexpress des écrans LCD de 40 caractères sur 2 lignes (appelés 40×2), avec diverses couleurs de rétro-éclairage. J’en ai sélectionné un modèle avec rétro-éclairage blanc, acheté chez Buydisplay pour 29€ le pack de 2, frais de ports inclus. Je vous propose dans ce billet un test de cet écran, ainsi qu’un petit guide d’assemblage et de connexion à un Arduino. L’écran fonctionne il correctement? Est il lisible? Fonctionne il comme les écrans HD44780 habituels? Réponse dans ce billet!