Introduction
Dans le cadre d’un projet qui nous permettra de participer à la transition environnementale, nous avons opté pour la réalisation d’un pluviomètre il va principalement nous permettre de mesurer la qualité et quantité d’eau. Nous allons détailler ci dessous le processus qui nous a permis de réaliser ce projet à fin que vous puissiez à votre tour participer à cette démarche .
Objectifs du projet:
* Détecter le début et la fin des périodes de pluie
* Mesurer le débit de l'eau
* Analyser la qualité des eaux de pluie
* Échantillonner et récolter les eaux de pluie
LISTE du matériel utilisé
Pour la réception des données :
* 1 arduino uno 2.7 e
* 1 arduino shield RJ11 13 e
* 1 Radio (récepteur) 433mHz
Partie haute :
* 2 arduino uno 5.4 e
* 1 breadboard 1.6 e
* 1 servomoteur 2.2 e
* 1 auget basculeur 20.9 e
* 1 capteur de pluie 3 e
* 1 radio(émetteur)433 mHz 3.95 e
* 1 boite de dérivation 10 e
* 3 piles 1.5 v et un adaptateur pour arduino 3 e
# Partie médiane:
* 1 arduino uno (nous avons utilisé un educa duino ) 2.7 e
* 1 breadboard 1.6 e
* 1 sevomoteur 2.2 e
* 1 capteur de hauteur ultrason HC-sr04 5.9 e
* 1 capteur de turbidité
* 1 bouteille orangina 2 L
* 1 boite de dérivation 10 e
* 1 Sonde PH
# Partie basse :
* 1 moteur pas à pas (réf :28byj-485vdc15031801) 7 e
* 1 driver pour moteur pas à pas 2 e
* 1 tube en PVC de 80mm de diamètre et 30cm de longueur (réf :80-3-eu-m)
* tube à essais (en plastique pour éviter qu’ils se cassent)
* 1 plastique de (75x16x35) 10 e
* 1 bobine de fil de pêche (réf : starlon 0,4)
* Des bandelettes plastiques comme celles qui sont donnés lorsque l’on achète des
portes ou des fenêtres
* Goulotte électrique (réf : planet-wattom 662 12000)
* 2 cales de 0,5cm d’épaisseur
* Un morceau de bois de 60cm
* Du silicone
#A-Capteurs quantité de pluie :
* Capteur de pression:
Nous savons que : P=F.S en connaissant la surface de notre capteur on peut déduire F qui ici est le poids donc F=mg et on sait que R la masse volumique : R=m/v
donc v=m/R et v=hS h est la hauteur de l'eau et h=v/S .
Sauf que les capteur de pression ont une sensibilité très faible ils ne correspondent donc pas à notre projet .
* Capteur de hauteur:
Plus direct nous facilitant donc la programmation mais les graduations de ces capteurs sont trop grandes (5mm) par rapport à des chutes de pluie de 2 ou 3 mm .
* Pluviomètre a auget :
Il est reconnu pour sa précision et son efficacité, les erreurs sont réduites considérablement par rapport aux autres systèmes .
Il est muni d'un auget qui bascule pour chaque 0.2794 mm (Pour le modèle choisi ) de pluie . L'auget est relié à un interrupteur à lame souple qui va fermer le circuit qui lie l'arduino et l'ordinateur .
L'ordinateur va recevoir le nombre de basculement et pourra en déduire le débit de la pluie .
* capteur de hauteur à ultrason :
Il envoie un ultrason et calcule la distance entre le point d'envoie et de réflexion sur l'eau mais il faut faire des tests pour savoir si il est réellement adapté à notre projet . Nous avons opté pour celui la après la suggestion faite par nos encadreurs pour déclancher la vidange de la partie médiane .
* Capteur de hauteur Laser :
Même principe que pour le capteur ultrason, plus précis mais onéreux et ne peut pas être utilisé pour mesurer la hauteur de l'eau (transparente) à moins d'y mettre des paillettes mais comme nous voulons garder des échantillons d'eau pour analyse ce serait contre productif,nous avons donc opté pour le capteur ultrason qui étais déjà disponible au Fablab .
#B-Capteurs qualité de pluie :
* Capteur de conductivité:
Il n'est pas adapté non plus car il indique seulement le taux d'ionicité de l'eau ce qui n'est pas un facteur à prendre en compte pour étudier la pollution de l'eau .
* Réaction chimique :
Nous avons pensé à la possibilité d'utiliser des réactifs adaptés aux principaux polluant de l'eau mais étant donné que la vidange se fait en milieu naturels il y'a un risque de pollution .
* Capteur de PH :
La mesure du PH est une bonne façon d'étudier la qualité de l'eau mais les sondes utilisées demandent un entretien particulier et sont sensibles aux changement de températures elles ne peuvent pas être plongées dans l'eau en permanence.
Elles doivent être trempées dans l’échantillon puis retirées donc on peut les envisager que si les utilisateurs acceptent de participer à l'entretien et la prise des mesures .
* Test nitrites/nitrates/PH :
Ces tests demandent un effort de la part de l'utilisateurs mais peuvent être fais une fois toutes les quelques chutes si un système de prise d’échantillon pour l'eau est mis en place .
Modèle à privilégier : conçues pour des labos et non ceux pour aquarium .
* Capteur de turbidité :
Ce capteur utilise un laser et par la réflexion de ce dernier peut mesurer la turbidité de l'eau .
Nous avons opté pour ce type de capteur car il permet d’éviter l'intervention des participants . Nous avions pensé la partie médiane en fonction de ce capteur mais nous ne l'avons pas reçu après plusieurs semaines nous n'avons donc pas pu l'utiliser .
Il faut vérifier la sensibilité du modèle choisi .
Le modèle choisi : LEXCA001
#C-Mécanisme :
Pour la réception des données :
Il faut brancher la partie réceptrice de la radio avec un arduino , nous avons eu du mal à programmer cette partie nous avons donc pas pu recevoir les données à distance .
Nous avons reçu l'auget quelques jours avant la fin de notre délai nous avions donc découvert que le modèle que nous avons reçu (qui n'est pas le même que celui qu'on avait commandé au départ ) a une sortie RJ11 et nous avions donc pas eu le temps de trouver un arduino shield compatible .
Nous avons donc pas pu utiliser l'auget .
Mieux vaut commander l'arduino shield très tôt car il est difficile à trouver en boutique sur Paris (Non disponible chez :Letmeknow,hackspark,gotronic,RAM) .
Partie haute :
{{ :wiki:projet:circuit_rain_sensor.pdf |}}
Pour éviter les dépôts de poussière qui pourrait fausser les résultats de l'analyse de la qualité d'eau le pluviomètre aura une sorte de porte coulissante qui va s'ouvrir que lorsqu'il pleut.
Pour réaliser ça il faut relier "la porte" du pluviomètre à un servomoteur qui tournera d'un angle de 90 ° .
Le servomoteur sera relié à un capteur de pluie qui se comporte comme une résistance variable quand il est en contact avec de l'eau .
Le modèle choisi est :Capteur pluie: SEN-PLU-ARD1
Servomoteur : 9G SG90
Le code utilisé pourfaire fonctionner la porte coulissante du pluviomètre est :
#include
#include
LiquidCrystal lcd(11,10,7,6,5,4);
Servo myservo;
int pos = 0;
int sensorValue = 0;
void setup() {
Serial.begin(9600);
lcd.begin(16,2);
myservo.attach(9);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Intelligent Rain");
lcd.setCursor(0,1);
lcd.print("Sensing CarViper");
delay(3000);
lcd.clear();
lcd.setCursor(5,0);
lcd.print("Rainfall");
lcd.setCursor(0,1);
lcd.print("Intensity-");
}
void wipe(int Speed)
{
if(Speed>350&&Speed<=400){Speed=3000;lcd.print("MEDIUM");}
if(Speed<=350){Speed=500;lcd.print(" HIGH ");}
for(pos = 0; pos < 90; pos += 1) // va de 0 à 90°
{myservo.write(90);}
if(Speed>400){Speed=5000;lcd.print(" LOW ");}
for (pos = 90; pos>=1; pos-=1)
{myservo.write(pos);}
delay(Speed);
}
void loop()
{
lcd.setCursor(10,1);
sensorValue = analogRead(A0);
Serial.println(sensorValue);
if(sensorValue>600){myservo.write(90);lcd.print(" NIL ");delay(1000);}
if(sensorValue<=600){lcd.setCursor(10,1);wipe(sensorValue);}
}
La protection des câbles est très importantes car notre système restera exposé au intempéries durant de très longues périodes de froid donc pour une meilleure isolation ,nous avons mis de la paraffine sur les câbles et nous avons pensé à mettre du polyester dans les différentes boites qui constituent notre système pour eviter que les composants gèlent mais comme nous n'avons pas eu la chance de l'essayer en condition réelles nous ne l'avons pas mis .
*Les boites de dérivation :sont des boites étanches qui contiennent les système électroniques .
Partie médiane : L'eau se vidange dans une cuve (bouteille Orangina ) où il y'a différents capteurs (ici de turbidité que nous n'avons pas reçu donc remplacé par une sonde PH) ce dernier prends les mesures et l'eau se vidange par un orifice .
* Radio nrf24L01 : Module radio .
Il utilise la même gamme de fréquence que le wi-fi et le bluetooth mais n'est pas compatible avec . La version + à plus de mémoire, plusieurs canaux de transmission et une fonction de renvoie automatique en cas de non réponse , une meilleure sensibilité et un débit plus important . Ses branchements sont plutôt simples et il est autonome .
Mais nous avons utilisé un kit constitué d'un émetteur et d'un récepteur pour une commande radio en 433Mhz avec modulation ASK qui n'est pas aussi pratique et est plus difficile à programmer .
* Un capteur de hauteur nous permet de programmer une hauteur a laquelle le récipient ou sont les capteurs de la qualité d'eau sont utilisés(turbidité, ph-metre, nitrates, nitrites)
# D-Système échantillons :
Partie basse:
Vérifier la puissance de l'alimentation choisie pour l'arduino de la partie basse et son bon fonctionnement , nous avions pris un arduino educa qui ne fonctionne pas correctement sur quelques PINS . La question de la puissance est problématique car dès qu'on branche le moteur pas à pas le servomoteur ne tourne pas correctement nous n'avons pas eu le temps de vérifier si le problème vient de la carte ou s'il vient du fait qu'on ait pas utilisé un potentiomètre . Nous avons fait quelques recherches et il se peut que le problème vienne du fait que l'alimentation que nous avons pris (l'adaptateur pour arduino ne fonctionnent pas correctement ).
L’échantillonnage
Nous avons décidé d’ajouter à notre pluviomètre un système de prélèvement d’échantillon
pour que la personne participant au projet Participae puisse envoyer des échantillons aux
laboratoires.
Pour commencer nous avons réalisé les portes tube à essais pour cela nous avons pris les
bandelettes plastiques que nous avons coupés en bout de 16cm pour commencer nous les
avons associés par paire puis nous avons placé un tube à essais au centre et entre les 2
bandes, ensuite nous avons agrafé de par et autre du tube de tel sorte qu’il tienne sans
effort, nous l’avons fait 4 fois car notre système prendra 4 échantillons. Nous avons croisé
les agrafes afin qu’elles tiennent, ce système simple permet de maintenir les tubes à essais
tout en permettant de les enlever si nécessaire.
Ensuite on s’attaque au tube en PVC pour cela on réalise une fente d’environ 4cm de largeur
et 26cm sur la longueur du tube en laissant 2cm à chaque bord, cela évitera que le tube se
referme sur lui-même, cette fente assurera l’évacuation de l’eau. Pour se faire on fait les
différents marquages ce qui formera un rectangle, 18mm de chaque coin on a percé un trou
de 18mm de rayon ces trous permettent de facilité la découpe de la fente.
{{:wiki:projet:img_20190415_161537.jpg?200 |}}
{{:wiki:projet:img_11481.jpg?200 |}}
Après à partir d’une des extrémités de la fente nous avons marqués le tube tous les 5,5cm
(il faut qu’il y ait 4 marques). Au niveau de ces marques nous avons fait des fentes, en limant
le tuyau, de largueur 3mm pour tenir le système de maintien des échantillons, on a ensuite
coupé les bandes pour correspondre à la longueur des fentes, ceci permet de récupérer les
échantillons sans sortir tout le tube. On perce un petit trou sur les côtés du tube vers 4,5cm
de hauteur et on y attache l’extrémité du fil de pêche. A l’autre extrémité nous fixons à
l’aide de silicone un cercle en plastique du diamètre du tuyau afin d’empêcher l’eau de sortir
de l’autre côté.
{{:wiki:projet:img_11501.jpg?200 |}}{{:wiki:projet:are_a.jpeg?200 |}} {{ :wiki:projet:vid_20190415_163648.mp4 |}}
Afin de permettre d’automatiser le mouvement du tuyau nous allons enrouler le fil de pêche
grâce à un moteur pas à pas, nous avons choisi ce moteur car il permet de réaliser un
mouvement précis dont nous avons besoins pour notre système en effet si nous avions pris
un servomoteur on n’aurait pas pu enrouler le fil car ce moteur ne fait des rotations que de
180°, un moteur plus puissant quant à lui aurait compliquer son contrôle car il aurait plus été
difficile d’arrêter le tuyau. Pour enrouler le fil il nous faut un support et pour cela nous avons
choisi de tailler un manche à balai en bois de diamètre 2,8cm à une extrémité nous avons
fait une fente de 3mm de largeur et 8mm de profondeur pour l’attacher au moteur. Ensuite
on lime à 1,2cm du bord afin de creuser le bout de bois pour former un système proche de la
poulie pour enrouler le fil et le maintenir, cette partie fait 5,9cm de périmètre, 1cm de
largeur et () de profondeur, on perce ensuite dans cette partie un trou en biais pour
rejoindre la fente d’attache, c’est pour éviter que le nœud gène l’enroulement du fil. Pour
fixer le moteur on le maintient avec une vis mise perpendiculairement à la fente. Nous avons
enrouler plusieurs fois le fil afin d’en laissé en rechange en cas de casse du fil.
Pour assurer et contrôler le mouvement du tube, nous avons fixé ce dernier à une goulotte
électrique de 30cm qui est fixé à son autre partie qui fait 60cm de long. Ce système assure le
coulissement du tuyau cependant pour l’incliner sans plier la goulotte nous avons fixé
l’ensemble sur un bout de bois de 63cm, au bout du côté d’où le tuyau partira nous avons
mis une cale de 0,5cm d’épaisseur ce qui est suffisant pour faire couler l’eau. De l’autre côté
à l’extrémité nous fixons perpendiculairement une fourrure en acier où l’on fixe le moteur à
7,2cm de hauteur, pour le fixer nous avons percer un trou suffisamment large pour laisser
passer uniquement la partie tournante du moteur le reste sera protégé, ceci qui nous
permet d’être sûr que le moteur restera dans l’axe du tuyau.
Une fois assemblé il faut appliquer du silicone au niveau des vis qui seront en contact avec
l’eau et le bois . {{ :undefined:circuit_ultrasonic_sensor.pdf |}}
#Code verifié arduino pour que la partie médiane se vidange :
include
define trigPin 12
define echoPin 13
Servo servo;
void setup()
{
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
servo.attach(7);
Serial.begin(115200);
}
void loop()
{
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if (distance < 12)
{
Serial.println("the distance is less than 12");
servo.write(180);
}
else
{
servo.write(0);
}
if (distance > 13 || distance <= 0)
{
Serial.println("The distance is more than 13");
}
else
{
Serial.print(distance);
Serial.println(" cm");
}
delay(500);
}
Mais ce code ne comporte pas le moteur pas à pas car nous avons du mal avec car quand on le branche le circuit déconne .
Nous avons tenté de rédiger le code pour le système en incluant le step motor mais il doit être vérifié et améliore et il faut essayer avec une bonne carte et une meilleure alimentation .
(#include
(#define STEPS 2038 // the number of steps in one revolution of your motor (28BYJ-48)
(Stepper stepper(STEPS, 8, 10, 9, 11);
(#include
(#define trigPin 12
(#define echoPin 13
Servo servo;
int sound = 250;
int pos = 0;
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
servo.attach(9);
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if (distance < 12) {
Serial.println("the distance is less than 12");
servo.write(180);
stepper.setSpeed(60);
stepper.step(2038*60);
;
delay (4000);}
else {
servo.write(0);
stepper.setSpeed(60); // 6 rpm
stepper.step(-2038*60);
}
if (distance > 13 || distance <= 0){
Serial.println("The distance is more than 13");
}
else {
Serial.print(distance);
Serial.println(" cm");
}
delay(5000);
})
Sites d'achats :
SITES DES ACHATS
Capteur de pluie :
https://euro-makers.com/fr/capteurs-detecteurs-arduino/1591-capteur-de-pluie-arduino-3701172905342.html?utm_campaign=google-merchant&utm_source=google-merchant-module&gclid=Cj0KCQiAzePjBRCRARIsAGkrSm5I933mK7qHG1PF4jl5RcSE0ZK_72B-Xz1uPt2vsvcXbrJkZKCGgKwaAqhDEALw_wcB
Capteur pluviométrique :
https://www.lextronic.fr/temperature-meteo/27641-capteur-pluviometre.html
Boites de derivations : Leroymerlin
Capteur ultrason de hauteur : Boutique Paris 12ème (Nation )
Driver moteur pas à pas : Let me knowboutique Paris 75002
Servomoteur /aduinos /moteur pas à pas : Fablab