Skip to main content

Les écrans LCD texte et leur conversion I2C

vignette vidéo écrans LCD texte et conversion I2C

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!).

Plus d’explications dans la vidéo :

Boitier de contrôle de Rlieh, contrôleur automatique d’aquarium

Panneau de contrôle de Rlieh

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

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

É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.

boitier de contrôle de Rlieh de face, en fonctionnement.

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

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.

 

Création d’un boitier pour le panneau du contrôleur d’aquarium Rlieh

Facade du boitier de commande de Rlieh

Pour mon contrôleur d’aquarium, Rlieh, j’utilise un écran LCD 4×20, connecté à un Arduino nano, et des sondes diverses. Pour l’instant, je n’ai qu’un bouton, pour allumer et éteindre le tout, mais j’en prévois d’autres. Jusqu’ici, l’ensemble était simplement vissé sauvagement, et la carte électronique posée sur la vitre qui protège les LED.  Du coup, il est temps de reprendre tout ça pour tout installer proprement!

En savoir plus

Alitest : écran LCD 10 pouces HDMI 1280×800 IPS

Le bureau de Raspbian sur l'écran LCD 10 pouces HDMI 1280x800 IPS

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.

En savoir plus

Alitest : écran lcd 40×2

alitest : écran lcd 40x2, face avant, allumé avectexte

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!

En savoir plus

Contrôleur d’aquarium : circuit de base

Aquascape dans un aquarium de 50l

Aujourd’hui, je vais vous présenter rapidement le circuit de base de mon contrôleur d’aquarium. Pour l’instant, il y a juste un écran LCD, une sonde waterproof immergée dans l’aquarium, et une sonde prenant la température de l’air. Cette base est amenée à évoluer, mais je poste déjà les schémas simples de sorte que si quelqu’un veut juste ces fonctionnalités, elles sont facilement accessibles 🙂

Je mets également le code Arduino pour le schéma. Enfin, tant qu’à faire, je rajoute le fichier source frizing, au cas ou vous vouliez modifier le schema!

En savoir plus

Création d’un contrôleur d’aquarium

Caridina cantonensis en aquarium

Depuis quelques temps, je me suis mis aux aquariums, avec principalement des guppys. Mais je suis devenu fana de crevettes d’aquarium, telles les neocaridina heteropoda , maintenant appelées neocaridina davidi. Dans mon bac à crevettes, j’ai donc diverses crevettes, des micro poissons (rasboras brigitae et corydoras pygmaeus), mais aussi de nombreuses plantes (mousse de java, anubias barteri naine, diverses plantes gazonnantes …).

 

Pour que tout ce petit monde soit heureux, il faut que l’aquarium respecte certains paramètres, par exemple la lumière, la température, le PH, etc. En magasin spécialisé, on peut trouver du matériel dédié, mais il est souvent cher, et on a peu de possibilités de personnalisation. Par exemple, pour l’éclairage, ce sera des néons, qui peuvent être allumés ou éteints par un interrupteur. Pour la température, on trouve des thermomètres basiques sans possibilité de collecter les données.

Bref, je me dis que je peux faire mieux, moins cher, et plus adapté à mes besoins. Je vous propose donc de suivre avec moi mon projet de contrôleur d’aquarium, qui sera charger de mesurer les paramètres et si possible de les modifier automatiquement, avec toujours une possibilité de contrôle manuel, gérer l’éclairage, voire automatiser certaines tâches comme par exemple la gestion de la lumière ou la compensation de l’eau évaporée.

En savoir plus

Interfacer un écran LCD texte avec un ATmega ou un Arduino

LCD Sparkfun 5V White on black
LCD Sparkfun 5V White on black

LCD Sparkfun 5V blanc sur noir

Dans l’optique de mon projet Milapli, Il faudra bien, à un moment donné, afficher les données quelquepart. Dans l’absolu, on pourrait se contenter de stocker ces données, puis d’y accéder par le réseau. Cependant, on peut trouver pour une dizaine d’euros des écrans LCD 2*16 caractères RGB, ou divers autres coloris. Avec un tel écran, il est possible d’afficher directement les informations de notre choix. Ils sont simples à utiliser, et permettent une visualisation directe des données. Dans le cas présent, j’utilise un écran 2*16 caractères, avec un rétro-éclairage blanc de Sparkfun, qui produit des lettres blanches sur fond noir. Ce modèle à un contraste très important, et je vous le recommande pour des projets devant être utilisés en extérieur. Nous allons ici voir comment connecter un tel écran à un ATmega328p (ça devrait fonctionner avec les autres ATmega), ou tout simplement un Arduino.

En savoir plus

Lire la valeur d’une sonde de température et d’hygrométrie DHT11/DHT22/AM2301

montage DHT22 sur arduino avec LCD
DHT22 et DTHT11 de face

DHT22 et DTHT11 de face

Dans ce billet, nous poursuivons la construction de notre station météo. Cette fois ci, nous ajouterons la lecture de l’hygrométrie, à savoir le taux d’humidité dans l’air. Pour cela, l’un des composants les moins chers que j’ai pu trouver est le DHT11. Ce composant regroupe à la fois une sonde de température et un capteur d’humidité. Il existe une autre version, le DHT22 qui est plus précise et possède une plus large plage de fonctionnement, mais qui coûte environ le double du prix. Il existe également un capteur portant la référence AM2302, qui est en fait un DHT22 avec des fils au lieu de broches, et une résistance pull-up. Dans tous les cas, le montage présenté ici sera valable pour les trois, et le code similaire.

En savoir plus