Memmadi Mehdi
Memmadi Mehdi
Memmadi Mehdi
Année : 2019
MEMOIRE
Présenté en vue de l’obtention du diplôme de :
MASTER
Intitulé :
Par :
MEMMADI Mehdi
Devant le jury :
3
Dédicace
A mes très chers parents qui m’ont aidé et m’ont encouragé durant toutes mes
études
A toute ma famille,
Mehdi
4
Table des matières
Introduction générale ………………………………...…………………………………………….1
5
I.9.3. Ventilation artificielle : ................................................................................................... 13
I.9.4. Chauffage ......................................................................................................................... 13
I.9.5. LEDs d’eclairage ............................................................................................................. 14
I.10. Conclusion ........................................................................................................................ 14
I.11. Références du premier chapitre..................................................................................... 15
6
II.6.5. Résultats de simulation …………………………………………………..……………34
II.7. Système de connexion à internet ………………………………………...……………35
II.7.1.Composant et montage du système…………………………………………………….. 35
II.8.Programme globale : integration de l’ensemble des sous-systèmes……………..………38
II.9.Photo du démonstrateur………………………………………………………….………..38
II.10.Conclusion ………………………………………………………………………..………38
II.11.Références du deuxième chapitre ………………………………………………...……..39
Annexe………………….…………………………………………………………….…………..…41
7
8
INTRODUCTION GÉNÉRALE
Ce manuscrit illustre en détail les différentes étapes de réalisation d’une mini-serre agricole
connectée, de l’étude bibliographique jusqu’au prototypage, en passant par la conception, le
dimensionnement, le montage de la structure mécanique, l’intégration de réseau de capteurs
et d’actionneurs et le test pour la validation du fonctionnement. Il est composé de deux
chapitres :
• Le premier chapitre portera sur des généralités sur la serre agricole automatisées et la
gestion climatique,
• Le deuxième chapitre sera consacré à conception, la réalisation et le test de la mini-serre
agricole connectée.
2
Chapitre 1 :
Généralités sur les serres
automatisées
I.1. Introduction:
Selon l’Organisation des Nations Unies pour l’alimentation et l’agriculture [1], la production
alimentaire doit augmenter de 60% d’ici à 2050 pour pouvoir nourrir la population croissante,
qui devrait atteindre 9 milliards. Une productivité accrue des cultures est nécessaire de toute
urgence et constitue la pierre angulaire de toute solution pour faire face aux problèmes de
pénurie alimentaire et de rentabilité des exploitations agricoles. L’agriculture intelligente
implique l’utilisation des technologies de la communication de l’information (TIC) et en
particulier de l’Internet des objets (IoT) et de l’analyse de données volumineuses (big data)
associées pour faire face à ces défis à travers la surveillance électronique des cultures, ainsi
que pour la protection de l’environnement, des sols, la fertilisation et les conditions
d'irrigation. Ces données de surveillance peuvent ensuite être analysées pour identifier les
cultures et les variétés de cultures spécifiques qui répondent le mieux aux objectifs de
productivité de toute exploitation agricole dans le monde. L’identification des variétés
implique l’utilisation de phénomènes végétaux ; un domaine de la biologie qui concerne la
mesure des caractéristiques physiques et biochimiques des organismes lorsqu’ils changent en
réponse à la mutation génétique et aux influences environnementales [2].
Par conséquent, l’agriculture intelligente permet d’associer des données sur les cultures (c’est-
à-dire les performances des cultures, l’environnement, les sols, l’irrigation et la fertilisation)
et les résultats d’analyse des données associées avec des variétés de cultures spécifiques
(gènes et phénotypes de plantes). L'association de l'information va révolutionner le mode de
production alimentaire mondial.
Pour observer la croissance de la culture dans différentes conditions du monde réel (qualité du
sol, conditions environnementales, etc.), des études de culture typiques impliquent un
phénotypage afin de comprendre les facteurs clés (par exemple, le pH du sol, le taux
d'épuisement de l'azote). Affectant la croissance. Ces études sont menées dans des conditions
environnementales extérieures naturelles et dans des endroits où les plantes poussent, en
faisant varier l'irrigation et l'application d'engrais / additifs. Les technologies de l'Internet des
objets (IoT) peuvent réduire les coûts et augmenter la portée de telles études en rassemblant
des données chronologiques connexes issues de réseaux de capteurs, des données spatiales
3
issues de capteurs d'imagerie et des observations humaines enregistrées via des applications
pour téléphones intelligents [3]. Par exemple, les dispositifs IoT peuvent aider à capturer les
niveaux de pH des sols et le taux d'épuisement de l'azote sous forme de données
chronologiques, et à les partager avec les chercheurs et les producteurs intéressés pour une
analyse plus approfondie.
I.2. Peut-on considérer une serre agricole automatisé comme un système embarqué ?
Au début et avant toute chose nous allons commencer par une définition et la structure d’un
système embarqué [4] :
Qu’est-ce qu’un Système Embarqué ?
Il peut être défini comme un système électronique et informatique autonome, qui est
dédié à une tâche bien précise, caractérisé par : D'espace compté, de petite
consommation énergétique et temporelle.
La figure suivante représente la structure d’un système embarqué avec un CPU au cœur dy
système.
Delà, la réponse à la question et oui, on peut considérer une serre agricole automatisé comme
un système embarqué mais on doit y ajouter quelques caractéristiques à la serre tel que
l’autonomie énergétique du système ainsi que rendre le système temporel (le multitâches
temps réel).
4
pour l'alimentation ou le plaisir de l'homme pour une meilleure gestion des besoins des
plantes et pour en accélérer la croissance ou les produire en toute saison. La culture sous
serre s'appelle la serriculture [6].
Avantages :
Production plus élevée grâce à la possibilité de contrôler les conditions climatiques
de la culture et de favoriser la production à toutes les saisons, augmentation du
rendement et de la qualité de la récolte,
Précocité et retard de la production,
5
grandeur électrique et ses variations apportent toute l’information nécessaire à la
connaissance du mesurande. Le capteur est le dispositif qui soumis à l’action d’un
mesurande non électrique présente une caractéristique de nature électrique (charge,
tension, courant ou impédance) désignée par ‘s’ et qui est fonction du mesurande [7] :
s = F(m)
‘s’ est la grandeur de sortie ou réponse du capteur, « m » est la grandeur d’entrée ou
excitation. La mesure de ‘s’ doit permettre de connaître la valeur de ‘m’. La relation
précédente résulte dans sa forme théorique des lois physiques qui régissent le
fonctionnement du capteur et dans son expression numérique de sa construction
(géométrie, dimensions), des matériaux qui le constituent et éventuellement de son
environnement et de son mode d’emploi (température, alimentation). Pour tout capteur la
relation s=F(m) sous sa forme numériquement exploitable est explicitée par étalonnage :
pour un ensemble de valeurs de m connues avec précision, on mesure les valeurs
correspondantes de ‘s’ ce qui permet de tracer la courbe d’étalonnage; cette dernière, à
toute valeur mesurée de ‘s’, permet d’associer la valeur de ‘m’ qui la détermine.
6
s = S.m
‘S’ est la sensibilité du capteur.
Un des problèmes importants dans la conception et l’utilisation d’un capteur est la
constance de sa sensibilité S qui doit dépendre aussi peu que possible : de la valeur de m
(linéarité) et de sa fréquence de variation (bande passante); du temps (vieillissement); de
l’action d’autres grandeurs physiques de son environnement qui ne sont pas l’objet de la
mesure et que l’on désigne comme grandeurs d’influence.
En tant qu’élément de circuit électrique, le capteur se présente, vu de sa sortie :
soit comme un générateur, s’étant une charge, une tension ou un courant et il s’agit
alors d’un capteur actif ;
soit comme une impédance, s’étant alors une résistance, une inductance ou une
capacité : le capteur est alors dit passif.
Les capteurs et leurs conditionneurs font l'objet d'une classification par type de sortie [8].
capteurs ANALOGIQUES : donne à la sortie une valeur analogique.
capteurs LOGIQUES : donne à la sortie une ‘0’ ou ‘1’.
capteurs NUMERIQUES : donne à la sortie un mot binaire ex : ’10010100’.
Capteur passif :
Il s’agit d’impédances dont l’un des paramètres déterminants est sensible au mesurande.
Dans l’expression littérale d’une impédance sont présents des termes liés [7]:
- D’une part à sa géométrie et à ses dimensions;
7
- D’autre part aux propriétés électriques des matériaux : résistivité, perméabilité
magnétique, constante diélectrique.
La variation d’impédance peut donc être due à l’action du mesurande:
- Soit sur les caractéristiques géométriques ou dimensionnelles;
- Soit sur les propriétés électriques des matériaux ;
- Soit plus rarement sur les deux simultanément.
Les propriétés électriques des matériaux, selon la nature de ces derniers, peuvent être
sensibles à des grandeurs physiques variées : température, éclairement, pression,
humidité... Si l’une seule de ces grandeurs est susceptible d’évolution, toutes les autres
étant maintenues constantes il s’établit une correspondance univoque entre la valeur de
cette grandeur et celle de l’impédance du capteur. La courbe d’étalonnage traduit cette
correspondance et permet, à partir de la mesure de l’impédance de déduire la valeur de la
grandeur physique agissante qui est le mesurande.
L’impédance d’un capteur passif et ses variations ne sont mesurables qu’en intégrant le
capteur dans un circuit électrique, par ailleurs alimenté et qui est son conditionneur. Les
types de conditionneurs le plus généralement utilisés sont :
Le montage potentiométrique: association en série d’une source, du capteur et d’une
impédance qui peut être ou non de même type ;
Le pont d’impédances dont l’équilibre permet la détermination de l’impédance du capteur
ou dont le déséquilibre est une mesure de la variation de cette impédance ;
le circuit oscillant qui contient l’impédance du capteur et qui est partie d’un
oscillateur dont il fixe la fréquence ; l’amplificateur opérationnel dont l’impédance du
capteur est l’un des éléments déterminants de son gain.
Le choix d’un conditionneur est une étape importante dans la réalisation d’un ensemble
de mesure. C’est, en effet, l’association capteur - conditionneur qui détermine le signal
électrique ; de la constitution du conditionneur dépendent un certain nombre de
performances de l’ensemble de mesure : sensibilité, linéarité, insensibilité à certaines
grandeurs d’influence.
• Capteur actif :
Fonctionnant en générateur, un capteur actif est généralement fondé dans son principe sur un
effet physique qui assure la conversion en énergie électrique de la forme d’énergie propre au
mesurande : énergie thermique, mécanique ou de rayonnement [7]. Il existe des capteurs
actifs basés sur l’effet thermoélectrique, pyroélectrique, piézoélectrique, induction
électromagnétique, photoélectriques, photoémissif, photovoltaïque et photoélectromagnétique.
8
I.5. Créer un microclimat à l’aide d’une serre
Les facteurs climatiques qui influencent le climat intérieur de la serre sont la
température, l’humidité de l’air, le rayonnement solaire, le vent extérieur...etc. En réalité,
chacun de ces facteurs engendre une combinaison d’effets qui peuvent être favorables ou
non au fonctionnement de la serre selon les conditions locales qui prévalent.
La température intervient de façon prépondérante dans la croissance et le
développement de la végétation.
Le rayonnement solaire intervient également dans la photosynthèse. Certains
matériaux de couverture comme le verre, transparents au rayonnement de courtes
longueurs d’ondes et opaques au rayonnement infrarouge, créent un effet de serre qui
provoque lui-même une augmentation de température sous l’abri.
Le vent génère des différences de pression sur la serre qui peuvent l’endommager dans
les cas extrêmes. Il provoque également des pertes par convection et contribue de façon
déterminante à l’aération naturelle.
Un contrôle bien maîtrisé du bilan énergétique du climat permet donc de gérer ces
paramètres et d’améliorer le fonctionnement physiologique des plantes.
I.6.1. Température
La température sous serre est le paramètre le plus important pour la production des
cultures sous serre. Il se décompose en trois types [6]:
Température issue du sol,
Température de la plante,
Température ambiante à la culture.
a) Chauffage
Le chauffage permet d'adapter les apports thermiques aux besoins de la culture et
d'éliminer l'humidité de l'air. Il fonctionne également sur la mesure de température [6].
9
b) Ventilation
Un ventilateur permet de renouveler l’air et d’apporter aussi le CO2 nécessaire à la
photosynthèse tout en garantissant une régulation de la température et de l’hygrométrie.
Le mouvement horizontal de l’air offre plusieurs avantages. Plus particulièrement, il
réduit sensiblement la température dans la serre et enlève l’humidité dans le reste de la
serre [6].
I.6.2. Éclairage
Vu l’importance de la lumière qui intervient dans le phénomène de la photosynthèse, il
faut prévoir de prolonger ou raccourcir l’éclairage naturel en utilisant respectivement les
lumières artificielles ou les stores d’ombrage. Ceux-ci permettront aux cultures de passer
au stade de développement désiré [6].
I.6.3. L’irrigation
L’irrigation est une opération qui consiste à apporter artificiellement de l’eau à des
végétaux cultivés en utilisant une pompe pour permettre leur développement normal [6].
10
l'irrigation fournit à la culture tout juste la quantité d'eau dont elle a besoin et que le sol est à
même de retenir. Quand on considère la durée des opérations d'irrigation, il est logique de
prendre le temps de mesurer l'humidité du sol dans le but d'améliorer les décisions
d'irrigation.
11
Figure 8: Capteur DHT11.
Caractéristiques du capteur :
Alimentation +5 V (3.5 - 5.5 V).
Température : de 0 à 50 °C, précision : ± 2 °C.
Humidité : de 20 à 96 % RH, précision ± 5% RH.
12
I.9. Les actionneurs dans une serre
I.9.1. Electrovanne
Une électrovanne est un robinet électrique à deux positions servant uniquement à ouvrir et
fermer l’arrivé d’eau. Son rôle est de gérer la distribution de l’eau.
I.9.4. Chauffage
13
I.9.5. LEDs d’eclairage
I.10. Conclusion
Dans ce chapitre, nous avons présenté en détail la notion d’un microclimat dans une serre. Ce
concept englobe les paramètres comme la température, l’humidité atmosphérique et du sol,
l’irrigation, et l'éclairage qui sont à mesurer et a maitriser. Aussi, on a présenté les différents
capteurs servant a acquérir l’information ainsi que l’ensemble d’actionneurs utilisés pour
contrôler et adapter les paramètres du microclimat au besoin de la plante. Le réseau de
capteur et d’actionneur est gérer par une carte Arduino. Après cette étude, nous pouvons
maintenant passer à la conception de la structure mécanique ainsi que tout le système
électronique de la serre.
14
I.11. Références du premier chapitre
15
II Chapitre 2 : Conception et réalisation
d’une mini-serre agricole connectée
II.1. Introduction
Dans ce chapitre nous allons présenter les différentes étapes pour réaliser une mini-serre
agricole connectée. Nous avons commencé par la conception et la réalisation de structure
mécanique de la serre ensuite le système électronique. Ce dernier est composé de plusieurs
sous-systèmes pour ; l’irrigation, la gestion de luminosité, la gestion de température la
connexion internet. Chacun des sous-systèmes à été réalisé puis testé séparaient. Nous avons
ensuite réalisé une étape d’intégration puis procédé au teste et validation du système globale
selon des catalogues bien étudiés.
16
II.4. La gestion d’irrigation
II.4.1.Présentation
Un réservoir d’eau: dans notre cas le réservoir d’eau est la seule source d’eau mais en réalité
la véritable source est le robinet ou un puit ou bien les deux, le réservoir n’est qu’une source
de précaution en cas il y aura un manque d’eau. Ce réservoir est munit de deux capteurs de
niveaux (niveau max, niveaux bas) qui indiquent le niveau plein, moyen et bas du réservoir.
Le capteur du niveau d’eau : Basé sur le principe magnétique le capteur (figure 3) indique un
‘1’ s’il est à l’état bas et un ‘0’ s’il est à l’état haut.
Remarque : Le détecteur est à « 1 logique » quand il est au niveau bas c.à.d. le niveau du
réservoir est bas, et est à « 0 logique » quand il est au niveau haut c.à.d. le niveau du réservoir
est plein.
Le brochage du schéma de la figure précédente ne suffit pas car avec celui-ci il nous donne un
résultat faussé : à la sortie détecteur on trouve un ‘’1 logique’’ quand il est au niveau bas (vide
ou presque vide), et une suite logique de ‘’0’’ et de’’1’’ (000000111111100000111111….) quand
il est au niveau haut alors qu’il doit donner un ‘’0’’. Ceci dit le brochage qui fonctionne sans
erreur est le suivant :
17
Figure 17: brochage de le photorésistance avec Arduino.
L’ajout de la résistance ainsi que la référence (Com) est important pour que le système ne
donne pas de fausses données (la résistance est de petite valeur de 220Ω).
De même avec l’autre détecteur mais on le branche dans un autre port digital, ceci donne le
montage suivant :
Ceci est un diagramme en langage C de l’Arduino qui nous a permis de détecter le niveau
d’eau du réservoir. Il éxiste 3 cas :
Si les 2 capteurs sont au niveau bas alors le niveau du réservoir est bas.
Si le capteur bas est au niveau haut et celui du niveau haut est au niveau bas
alors le niveau est moyen.
Si le capteur haut est au niveau haut alors le niveau est plein.
18
début
Cb: capteur bas.
cb<-pin 7 ; cb=1 ; ch<-pin 8 ;ch=1 Ch: capteur haut.
Cbas : donnée de cb.
Setup: E/S;
cb, ch : INPUT; Chaut : donnée de ch.
Serial.begin(9600);
oui
Chaut ?= 0
non
oui
Ch?=1 &&
Ecrire (moyen) Ecrire (plein)
cb?=0
non
Ecrire (bas)
Delay(2000ms)
fin
Comme décrit dans le diagramme ceci est le programme en langage C de l’Arduino qui travail
en boucle infinie de 1 seconde, à chaque boucle il teste l’état des 2 capteurs et affiche l’état du
niveau d’eau.
//déclaration du numéro de pin digital des capteurs
#define cb 7
#define ch 8
void setup()
{//déclaration des entrées / sorties
pinMode(nivbas,INPUT);
pinMode(nivhaut,INPUT);
//la vitesse d'éxécution par seconde (obligatoire)
Serial.begin(9600); }
void loop()
{//lire et sauvegarder les entrées booleans des capteurs
boolean bas=digitalRead(nivbas);
boolean haut=digitalRead(nivhaut);
//test des données sauvgarder et affichage du niveau du réservoir
if(haut==0){ Serial.print("Le niveau du réservoir est plein");
Serial.print("\n"); }
else if(haut==1 && bas==0){Serial.print("Le niveau du réservoir est moyen");
19
Serial.print("\n");}
else {Serial.print("Le niveau du réservoir est bas");
Serial.print("\n"); }
delay(1000);
}
Cette partie concerne l’automatisation du système d’irrigation pour ne pas avoir besoin
d’intervention humaine. Le but étant d’économiser l’eau en donnant aux plantes juste la
quantité dont elles en en besoin. Réduire le gaspillage d’eau permet d’économiser l’argent.
Le capteur d’humidité du sol : Afin de prendre la mesure du taux d’humidité dans le sol et de
l’envoyer au microcontrôleur qui lui assurera la gestion de l’irrigation selon la consigne donnée.
20
Etalonnage du capteur d’humidité du sol
A l’aide d’une multitude de mesures et d’un appareil témoin (le four), nous allons créer un
tableau qui nous servira pour calculer la courbe liant la tension à la donnée mesurée. Le four
va nous servir comme un appareil de mesure “témoin” qui vous servira de référence. En
suivant à chaque mesure référence la méthode suivante pour mesurer le taux d’humidité dans
la terre :
Mesurer le poids d’une capsule vide à l’aide d’une balance (P0).
Introduire 10g de sol
En troisième étape arrive le séchage dans l’étuve à 105°C pendant 24h.
Après cette mesure on a pris le résultat de la mesure du capteur dans le témoin 1 (un autre
échantillon du témoin 1) pour voir s’il est linéaire ou pas, on a trouvé le résultat suivant :
21
Figure 23: Résultat de la mesure du capteur dans le témoin 1
Après cette mesure on a pris le résultat de la mesure du capteur dans le témoin 1 (un autre
échantillon du témoin 1) pour voir s’il est linéaire ou pas, on a trouvé le résultat suivant :
22
V (volt)
H%
Une pompe électrique : Elle pompe l’eau du réservoir vers les plantes si elle est mise sous
tension, mais dans notre cas elle ne suffit pas en raison que le composant soit chinois et ne
pompe pas vraiment l’eau, mais joue le rôle d’un accélérateur, et si elle est soumise à une
pression d’eau elle le fait sortie sans mise sous tension. C’est pour ça qu’on a décidé de mettre
une électrovanne afin de bloquer l’eau. Elle est montée comme suit avec l’Arduino :
Une électrovanne : Elle comble les défauts de l’électrovanne. Elle est montée comme suit avec
l’Arduino :
- Alimentation de l’électrovanne : 220 V AC.
- L’alimentation de l’Arduino peut être 12V DC ou alimentation du port USB du PC.
23
Figure 27: Schéma du branchement de l'électrovanne avec Arduino.
Le module relais : Entre le GND et les l’alimentation 3,3 V du relais il y a les 4 PINs de
commande des relais, et l’alimentation 5V du relais est supplémentaire mais obligatoire car le
courant des sorties de la carte de Arduino est de 30 mA alors que un seul relais pour le
commander il faut un courant de 70 mA.
Remarque : La commande des relais se fait avec l’état bas c.à.d. le relais s’actionne lorsqu’il
est branché avec le GND.
Comme montrée dans la figue si dessous le capteur d’humidité du sol est rincé dans le sol de
la plante et est relié à l’entrée analogique de la carte Arduino afin d’acquérir l’information et
décider depuis si on actionne le système d’arrosage ou pas. L’entrée de la pompe est reliée à la
sortie du réservoir par un canal et la sortie de la pompe à l’entrée de l’électrovanne et depuis
vers la plante. La pompe et l’électrovanne sont commandées, a travers deux relais , par 2
sorties digitales de l’Arduino int1 et int2 comme le montre la figure 16.
Remarque :
- L’électrovanne est devant la pompe en raison que la pompe ne fonctionne pas
parfaitement car si elle est soumise à une pression elle fait passer l’eau sans
l’actionner.
- L’électrovanne doit être actionner avant la pompe.
24
Figure 29: Montage du sous-système d'irrigation.
début
Pp: pompe.
Hum: variable du signal
pp<-pin 3 ; hum<-pin A0 du capteur.
Ev <-pin 2 Ev : électrovanne.
Hums : valeur inversé du
Setup: E/S
signal.
Pp, ev : OUTPUT; hum : INPUT
Valhs : valeur non inversé
su signal.
C : consigne.
Serial.begin(9600);
Valhs ? <C-200
non
oui
Ev <-0; Pp<-0;
valhs < C
oui
non Delay(2000ms)
Delay(500ms)
Ev <-1; Pp<-1;
25
II.4.3.4. Programme du sous-programme d’irrigation
26
hums=analogRead(hum);
valhs=1024-hums; }}
else{
digitalWrite(pp,HIGH);
digitalWrite(ev,HIGH); }
delay(500); }
II.4.3.5. Résultats
On a mis une valeur de consigne égale 700.00 comme décrit dans le programme puis on a
actionné le système pour voir sa réaction, et on a obtenu le résultat de 930.00.
II.4.3.6. Commentaires
27
II.5.1.Montage et composition du système
Remarque : Pour la supervision de l’obscurité il suffit de mettre dans la serre des vitres moins
transparentes et contrôler l’éclairage.
II.5.2.Montage du sous-système
28
II.5.3.Diagramme du programme du système de gestion d’éclairage
Ceci est le diagramme en langage C d’Arduino fonctionnant en boucle infinie, si l’éclairage est
inférieur à la consigne les leds s’éclaircie juste pour compenser la différence entre la consigne
et la lecture en utilisant le PWM (Puls Width Modulation) accessible dans les pins 2, …, 13 de
l’Arduino MEGA.
début
Lum: variable de
l’entrée du LDR.
lum<-pin A9 ; Lu : la valeur analogique
led<-pin 3; du capteur.
C : consigne.
Setup: E/S; led :
OUTPUT;
Serial.begin(9600);
lu ? < C-200
non
oui
a <- consigne-lu
lu ? < C
b <- a*255/620
oui
non
non
b ?> 255
Led <-0 ;
oui
Led <- b
fin
C’est une technique qui permet de contrôler l’intensité de l’éclairage des leds.
29
Le pourcentage de temps passé à l’état HIGH sur la période du signal est appelé le rapport
cyclique. Il varie donc de 0%, le signal est tout le temps LOW, à 100%, le signal est tout le
temps HIGH. Plus le rapport cyclique est petit plus mois les leds s’éclaircie et inversement.
II.5.5.Le programme
30
II.5.6.Résultat de simulation du système d’éclairage
On a donné plusieurs consignes à notre système et les réponses était comme suit :
Consigne (en valeur Réponse du système
analogique du système)
II.5.7.Commentaires et remarques
A la distance de 20 cm et en utilisant le PWM (Pulse Width Modulation) du microcontrôleur
on a obtenu un résultat satisfaisant, même si il y a un taux d’erreur le système a bien réagis.
La distance entre la LDR et les LED joue un rôle important dans la variation du taux
d’éclairage.
La température étant un des paramètres les plus importants pour la germination, nous avons
mis en disposition deux systèmes de régulation de celle-ci afin de la maintenir dans une plage
de température convenable pour la germination. Le 1er système est celui du refroidissement
de la serre et le 2ème celui de réchauffement de la serre, et pour cela on a utilisé les
composants suivant :
II.6.1.Composition et montage du système
Un capteur de température :
31
Figure 35: Montage du DHT11 avec Arduino.
Un ventilateur de refroidissement :
Un air chaud :
Dans notre cas on l’a remplacé par un séchoir en raison de manque de composant
contrairement au ventilateur, celui-là joue un roule d’élévateur de température.
32
Figure 37:Montage de l’air chaud avec Arduino.
Après avoir tester tous les sous-ensembles le temps est venu de les regrouper en une seule
partie comme la montre la figure ci-dessous :
II.6.3.Diagramme du programme
Ceci est un diagramme en langage C de l’Arduino qui nous a permis de garder le niveau de
température entre 2 consignes (max et min).
33
début
Fr: refroidissement.
fr<-pin 5 ; dht lib Ch : réchauffement.
ch<-pin 6 ;dht <-pin 4 T: Donnée de température.
Cmin : consigne minimale.
Setup: E/S; fr, ch : OUTPUT; Cmax : consigne maximale.
Dht pin <- INPUT
‘0’ :activation.
‘1’ : Désactivation.
Serial.begin(9600);
t<- lire:
temperature
non non
t ?< Cmin t ?> Cmax
oui oui
non
ch <- 1 Fr <- 0 ch <- 1 Fr <- 1
t ?< Cmax
oui
t<- lire: ch <- 0 Fr <- 1
temperature
Delay(500ms)
fin
II.6.4.Partie programmation
#include "DHT.h"
#define DHTPIN 4 // à quelle broche nous sommes connectés
// type du DHT
#define DHTTYPE DHT11
// Initialiser DHT pour 16mhz Arduino
DHT dht(DHTPIN, DHTTYPE);
#define refroi 5
#define chauff 6
void setup() {
34
pinMode(DHTPIN,INPUT);
pinMode(refroi,OUTPUT);
pinMode(chauff,OUTPUT);
Serial.begin(9600);
Serial.println("DHTxx test!");
digitalWrite(chauff,HIGH);
digitalWrite(refroi,HIGH);
dht.begin();}
void loop() {
// Attendez quelques secondes entre les mesures.
delay(2000);
// Les lectures du capteur peuvent également durer jusqu'à 2 secondes (c'est un
capteur très lent)
float h = dht.readHumidity();
//Lire la température en Celsius
float t = dht.readTemperature();
float cmin=35;
float cmax=40;
// Vérifiez si les lectures ont échoué et quittez tôt (pour réessayer).
if (isnan(h) || isnan(t) ) {
Serial.println("Failed to read from DHT sensor!");}
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C\t ");
Serial.print("\n ");
if(t<cmin)//condition d'activation et désactivation des actionneurs
{ while(t<cmax){ digitalWrite(refroi,HIGH);
digitalWrite(chauff,LOW);
t = dht.readTemperature();}}
else if(t>cmax){ digitalWrite(chauff,HIGH);
digitalWrite(refroi,LOW);}
else { digitalWrite(chauff,HIGH);
digitalWrite(refroi,HIGH);}}
II.6.5.Résultats de simulation
35
On a donné plusieurs consignes supérieures à la température ambiante à notre système et les
réponses étaient les suivantes :
Connecter la serre agricole à un réseau internet permettrai d’acquérir en temps réèl les
prévisions météorologiques. L’objectif est d’anticiper des actions dans une démarche
d’augmentation de l’autonomie et de réduction des dépenses d’énergie et de l’eau. Ce concepte
ouvre la voix vers l’intégration d’une intelligence artificielle au sein de la serre agricole. La
société Google travaille déjà dans cette voie par le développement du système AI pour
l’agriculture intelligente (Smart farming).
II.7.1.Composant et montage du système
Un ESP 8266 : C’est un shield WIFI qui permet à l’Arduino d’accéder à un serveur WEB
lequel on va télécharger des données météorologiques en raison de faire des prévisions ou de
télécharger des données d’environnement correspondantes à un type de plante.
36
Figure 41: Etape d'incertion de la bibliotèque de l'ESP8266 dans l'Arduino [4].
37
Figure 44: Chemin vers le choix de la cible Générique module [4].
Une fois l'ESP connecté à votre poste, sélectionnez le port COM correspondant (menu
Outils/Port…) [4].
Si le firmware d'origine est toujours présent dans l'ESP8266, vous pouvez communiquer avec
lui au travers du Moniteur Série :
1. Ouvrez le Moniteur Série (Serial Monitor) ;
2. Sélectionnez la vitesse de transmission, normalement 115 200 bauds (baud rate), mais
selon le firmware, elle peut être inférieure ;
3. Sélectionnez « Les deux, NL et CR » (Both NL & CR), pour envoyer un New Line et
Carriage Return à chaque envoi (bouton Envoyer) ;
4. Tapez (sans les guillemets) la commande « AT », puis cliquez sur le bouton « Envoyer ».
L'ESP devrait renvoyer « OK » dans le Moniteur Série. Si ce n'est pas le cas, pressez le
bouton RESET ou essayez à nouveau en redémarrant après avoir débranché le câble
USB. Vérifiez aussi que vous avez sélectionné le bon port COM. Si l'ESP ne répond
toujours pas, peut-être que le firmware « standard » n'est pas installé et qu'il ne
comprend pas les commandes AT. Dans ce cas, cela n'est pas vraiment un problème
puisque vous allez réécrire par-dessus le firmware avec votre propre code ;
5. Tapez « AT+GMR ». L'ESP retourne le numéro de version du firmware.
A la fin nous avons intégré tous les sous programmes en un seul programme (cf. Annexe).
La figure suivante représente la mini-serre agricole réalisé dans le cadre de notre projet. À
part la connextion de Arduino a un réseau internet pour acquérir les prévisions
38
météorologique, tous les systèmes électronique fonctionnent conformément au cahier des
charge. La structure mécanique et cert réalisé à partir de matériau respectant
l’environnement, elle à besoin d’être améliorée en intégrant de nouveaux matériaux plus
legers et moins chers pour une démarche de réduction des couts.
II.10. Conclusion
A la fin de ce chapitre on est parvenu à faire la régulation des 3 paramètres (température,
éclairage et humidité du sol) avec un taux d’erreur notamment pour le système d’irrigation
qu’on n’a pas pu définir le débit de la pompe à cause de sa dépendance du niveau du réservoir,
et un taux d’erreur de +ou- 2°C pour le système de régulation de température. La partie
connection Arduino à un reseau internet sans fil a été étudiée mais faute de temps, la partie
realization n’a pas été achevée dans les délais.
39
II.11. Références du deuxième chapitre
1. Available online:
https://www.bbkwebstore.com/index.php?main_page=product_info&products_id=564164
(March 2019).
3. Available online: https://forum.arduino.cc/index.php?topic=489461.0 (Mais 2019).
4. Available online: https://f-leb.developpez.com/tutoriels/arduino/esp8266/debuter/#LIII (Mais
2019).
40
Conclusion générale
Nous avons conçu et réalisé un système pour obtenir un microclimat avec la régulation des 3
paramètres très influant sur le développement des plantes, cela peut faire des économies en
supprimons les frais de transports des produit non locale ainsi on diminue aussi la pollution
des engins de transport, mais de l’autre côté la consommation énergétique causé pas les
capteurs et les actionneurs a fait augmenter le cout. D’autre part, l’introduction de
l’autonomie énergétique dans notre système est préférable afin de réduire au maximum le
cout ainsi le projet serai vraiment retable sur le long terme. Enfin, cette étude nous a permis
de comprendre le fonctionnement d’une serre agricole dans l’objectif de la rendre autonome.
41
Annexe
Programme globale qui gère de la mini-serre :
43
Serial.println("Failed to read from DHT sensor!");
}
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature intèrne: ");
Serial.print(t);
Serial.print(" *C\t ");
Serial.print("-----------------------------------------------------");
Serial.print("-----------------------------------------------------");
//////////////////////////////////
if(lu<Cminlu)//codition d'activation ou de désactivation du système
// si infèrieur à la consigne minimale (Cmin)
{if(lu<consignelu)
{//lancer l'éclairage avec PWM
float a=consignelu-lu;
float b=(a*255)/620.00;
if(b>255){b=255;}
analogWrite(led,b); }
}
else {digitalWrite(led,LOW); }
//////////////////////////////////
if(ch==0){
Serial.print("Le niveau du réservoir est plein");
Serial.print("\n"); }
else if(ch==1 && cb==0){
Serial.print("Le niveau du réservoir est moyen");
Serial.print("\n");}
else {
Serial.print("Le niveau du réservoir est bas");
Serial.print("\n"); }
///////////////////////////////
//test de la condition d'arrosage ou pas
if(valhs<cminhs){
while(valhs<consignehs){
//activation des relais qui fonctionnent à l'etat bas.
digitalWrite(ev,LOW);
delay(1000);
digitalWrite(pp,LOW);
//durée du cycle.
delay(2000);
//arret du systeme d'iirigation.
digitalWrite(pp,HIGH);
digitalWrite(ev,HIGH);
44
digitalWrite(refroi,HIGH);
digitalWrite(chauff,LOW);
t = dht.readTemperature();}}
else if(t>cmaxt){
digitalWrite(chauff,HIGH);
digitalWrite(refroi,LOW);}
else {
digitalWrite(chauff,HIGH);
digitalWrite(refroi,HIGH);}
/////////////////////////////////// }
* *
*
45