NSA - Niveau de Sel Adoucisseur

Le projet permet de visualiser le niveau de sel dans un adoucisseur d'eau afin de créer une alerte niveau bas et une alarme niveau zero, sans avoir à ouvrir le bac à sel.
 
Le système est réalisé à partir de composants standards de la famille ARDUINO.
 
 
 - 1 x ARDUINO R3
 - 1 x Télémètre HC-SR04 (Adafruit)
 - 1 x Afficheur OLED SSD-1306  (Adafruit)
 - 1 x Bouton Poussoir NO
 - 1 x alimentation 5V / 500mA (type chargeur USB)
 - 3 x Leds avec leurs résistances. 
 

MATERIELS

Comment ça marche ?
 
La mesure du niveau de sel est réalisé en télémétrie avec un télémètre à ultrason type HC-SR04 fixé sur le capot du réservoir de sel.
 
Quand il n'y a plus de sel (limite eau), on obtient une distance dite Distance_Mini (51 Cm dans mon cas)
Quand on recharge le sel, on obtient une nouvelle distance dite Distance_Max (en theorie proche de 0 Cm si on remplissait tout le bac !!!).
En pratique, avec un sac de sel la distance est plus proche de 35 Cm.
Donc par calcul on affiche la hauteur de sel = Distance_Max - Distance_Mini (soit 16 Cm dans l'exemple).
 
Pour l'afficher en pourcentage (après Calibration du Max après remplissage de la cuve):
                                                      Distance_Max =  100 %   / Distance_Mini = 0%
 
L'afficheur affiche le niveau de sel en centimètres et en pourcentage.
 
La led Verte clignote (lentement) si niveau de sel >25%
La led Jaune clignote (rapidement) si niveau de sel > 10% et < 25%
La led Verte clignote (rapidement) si niveau de sel < 10%
 
Le bouton Jaune (CALIBRATION) permet par un appui > à 3 secondes de calibrer le 100% après remplissage de la cuve de sel (les informations de calibrage sont affichées sur l'afficheur OLED pour contrôle pendant le calibrage, les informations sont les cms réels - hors calcul).

LOGICIEL

lesaunier.com010017.jpg
NSA_1c (téléchargement)
L'électronique est mis en place dans un boitier plastique de récupération, le plus difficile étant de faire une découpe carrée pour l'afficheur OLED !!!!

Le module ARDUINO est alimenté par un bloc alimentation standard.

La liaison avec l'afficheur OLED a été réalisée avec des câbles de "bloc de tests" que l'on trouve un peu partout (Aliexpress ...), solution de simplicitée pour rentrer directement dans le connecteur de l'ARDUINO et sur les broches de l'afficheur OLED sans soudures . 

Le module de mesure a été soudé sur un cable 2 paires et déporté vers le capot de la cuve de sel.
Collé sur ce capot après perçage des 2 trous des transducteurs à ultrasons..
 
Le logiciel pour le ARDUINO R3, a été développé sous environement ARDUINO (IDE).
 
Structure classique, avec librairies (SSD-1306 /  EEPROM), paramètres hardware, paramètres des variables puis un bloc start, un bloc mesure et un bloc calcul et traitement de l'affichage OLED et LED.
 
Le programme occupe 55% de la mémoire de l'ARDUINO (laisse de la marge).
 
REMARQUES:
 
- La gestion de l'afficheur est un peu particulière, avec notamment le dessin de petites lignes blanches sur le coté gauche et le haut du texte NIVEAU SEL pour que ce dernier soit bien centré et affiché lisiblement (l'afficheur démarre son affichage en reverse dés le premier pixel, d'ou une difficultée à lire la barre du N noir sur fond noir ....).
 
-  L'affichage est volontairement précis à +/- 1 Cm (en pratique très suffisant et évite d'avoir un affichage qui bouge en permanence.
 
-  Le stockage du niveau Max se fait dans la mémoire EEPROM (adresse: 0) du microcontroleur, en cas de coupure de courant la valeur est sauvegardée.(ligne 51)
 
-  L'information d'envoi d'informations sur le port série ne sert que pour le debug.
 
-  La procédure de mesure de distance est celle standard du HC-SR04, a été rajouté des butées (valeur max) en cas de mesures éronnées (rare mais parfois on avait une valeur complétement incohérente - echo ?).
 
-  Le temps de clignotement des LED est volontairement différent, lent pour le OK/VERT et rapide pour la Jaune et Rouge (pour attirer l'attention).
 
-  La procdure de CALIBRATION se déclenche après l'appui pendant plus de 3 secondes du BP Jaune (avec au premier appui, la valeur réelle de l'ancien niveau_MAX). Toutes les informations sont affichées sur l'écran OLED pendant la calibration (Nouvelle mesure = Niveau_MAx)
lesaunier.com012006.jpg lesaunier.com012005.jpg lesaunier.com012002.jpg lesaunier.com012001.jpg