Skip to main content

Fabrication d’un système anti-algues type twinstar DIY

Les pièces imprimées du double pulsar, un Twinstar DIY

Le twinstar, c’est LE truc à la mode ces temps ci. Dans mon club aquariophile (Kazanac), certains en ont, et tout le monde à envie de tester. En tous cas, on en parle, notamment sur l’excellent blog Hackquarium.

Pour une explication détaillée, suivez le lien juste au dessus. Mais en gros, c’est un bidule que vous mettez dans votre aquarium, branchez à un boitier, et qui fait de minuscules bulles. Et par ce biais, on est censés réduire drastiquement la prolifération de certaines algues. Dans ma cuve contrôlée par un système automatisé programmable Rlieh, je n’en ai pas besoin car je n’ai pas d’algues. Par contre je suis curieux, et j’ai bien un petit bac en train de démarrer qui commence à avoir des algues… Seul hic, le twinstar coûte assez cher (150-200€).

Du coup, de nombreuses initiatives apparaissent ici et là pour faire des Twinstar DIY, ou au moins des systèmes comparables.  Je vous propose dans cet article de nous pencher sur la question.

En savoir plus

Ramdrive sur un Raspberry pi : réduisez l’usure de la carte SD!

un ramdrive sur rlieh, pour enregistrer temporairement les valeurs des capteurs

Qu’est ce qu’un ramdrive?

Un ramdrive est un espace de stockage qui utilise la RAM (mémoire vive) au lieu du disque dur, SSD, mémoire flash ou autre moyen habituel de stockage. La RAM est plus rapide que tous ces supports, mais en cas de coupure de courant ou si on éteint l’ordinateur, les données sont perdues. Donc, à quoi ça sert, un stockage qui oublie à chaque reboot?

Pourquoi utiliser un ramdrive?

La réponse évidente, c’est la vitesse : si vous avez besoin d’accès ultrarapides, ça peut être une solution. Une seconde réponse intéressera les utilisateurs de raspberry pis : éviter d’user la carte SD du système. La mémoire flash s’use à chaque écriture (c’est simplifié, mais c’est l’idée). Un SSD aura des techniques pour répartir l’usure équitablement et donc ça ne rentrera pas réellement en compte. Mais pour une carte SD, il n’y a pas ces algorithmes avancés. Donc quand on écrit tout le temps au même endroit, on finira par “user” la carte, et elle aura des secteurs défectueux. C’est ici qu’intervient le ramdrive. Pour de nombreux projets à base de Raspberry pi, nous utilisons des capteurs, et nous souhaitons stocker les valeurs des capteurs. Du coup, si à chaque mesure on écrit sur la carte SD, elle lâchera bien vite, d’autant plus vite qu’on écrit souvent, par exemple chaque seconde. Dans ce contexte, je vous propose de créer un ramdrive pour pouvoir écrire dessus en continu, sans se soucier de l’usure, et de copier de temps en temps les données vers la carte SD. En stockant les mesures chaque seconde sur le ramdrive, puis en copiant les données toutes les heures, on écrira 3600 fois moins souvent sur la carte SD!

Voyons maintenant comment réaliser cela.

En savoir plus

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