22 0 449KB
Gestion de l'arrosage d'un jardin de maison par le microcontrôleur ARDUINO
Réaliser par : Zahidi Hisham
Gestion de l'arrosage d'un jardin de maison par le microcontrôleur ARDUINO
Introduction Pourquoi faire un tel système alors qu’il y a des systèmes « tout faits » dans le commerce? Comme d’habitude: « parce que j’aime bien savoir faire », et aussi parce que ce système est modulable à convenance (temps d’arrosage), évolutif (possibilité, par exemple, d’augmenter la durée d’arrosage si la terre est sèche, d’arroser plusieurs endroits), il peut être rendu autonome (sur batterie 12V) et fonctionne sur réservoir d’eau (et non sur robinet, qu’il vaut mieux éviter de laisser ouvert quand on part….) Pour ce projet, nous ferons quelque chose de très simple et programmerons la carte ainsi: « tous les jours, les plantes doivent arrosées pendant 3 minutes» . Sans compter le réservoir (un bricolage « maison » qui récupère l’eau de pluie dans mon cas), le budget est inférieur à 1000 DHS Les évolutions possibles ultérieures: modifier le programme ainsi: « tous les jours, les plantes doivent arrosées pendant 3 minutes et si la terre est sèche il faut arroser 2 minutes de plus« . • Brancher le système sur une batterie autonome de 12V, elle même rechargée par panneau solaire. Le système fonctionne sur réservoir autonome. •
Dans ce réservoir, je place une pompe immergée 12V. Cette pompe est mise en marche par la carte Arduino que nous allons programmer.
1. Fournitures • •
•
Une Carte arduino avec un cable USB (type imprimante) une pompe immergée et un tuyau
un relai 5V (c’est un interrupteur électrique dont j’expliquerai le rôle plus bas). En l’occurence, celui-ci est un relai double, c’est à dire qu’il
peut commander une deuxième pompe
•
Un réservoir d’eau
2. Présentation de la carte Arduino
Pour la petite histoire, Arduino est un projet né dans un bar en Italie. Le but était de mettre à la portée de tous et des étudiants une carte électronique capable de s’interfacer avec d’autres composants (capteurs, moteur, commandes…), pilotables avec un logiciel facilement accessible. Il a été choisi dès le départ de le produire sous licence libre et de mettre à la disposition du public son plan. Ainsi, une carte Arduino ne coûte pas cher, vous pouvez également construire la vôtre à partir de rien : tous les schémas électroniques et le code source sont disponibles gratuitement sous des licences libres. Cette carte a révolutionné le monde de l’électronique. Passons à la carte 1: le processeur ou le « cerveau » de la carte 2: prise USB permettant de brancher l’arduino sur un un PC (pour la programmation), une fois la programmation effectuée (on ne la fait qu’une fois). Cette prise permet également d’alimenter la carte arduino en 5V (via une prise 220V- USB à la maison) 3: prise alternative à la prise USB qui permet d’alimenter la carte arduino avec une tension entre 9V et 12V (par exemple sur la batterie autonome ou sur la même alimentation que la pompe à eau) 5a: entrées/sorties numériques de la carte arduino. Elles sont numérotées de 1 à 13. En l’occurence, nous allons utiliser la sortie numéro 13 qui se mettra sur +5V pendant 3 minutes toutes les 24 heures (pour arrosage) et qui restera à 0V le reste du temps 4: une diode qui s’allume quand la sortie 13 est sur + 5V
3. Programmation de la carte arduino (depuis un PC windows) Les manipulations pas à pas, sont listées ci-dessous Il faut télécharger le logiciel appelé IDE, il permet de dialoguer avec la carte arduino, d’écrire le programme puis de le charger sur l’arduino
1. lancez le programme arduino IDE 2. ouvrez « outils », cochez « arduino uno »,
7. vérifiez que le port USB sur lequel l’arduino est branché est correct (COM xx)
3. le programme ci dessous pour notre ARDUINO
/* * Initiation a l arduino * montage electronique permettant de mettre en marche une pompe d'arrosage 3 minutes toutes les 24 heures * PRINCIPE: quand l'arduino allume la borne 13 (5V) cela ferme le relai * ce relai est un interrupteur electrique, quand il est fermé cela met en marche la pompe d'arrosage * BRANCHEMENTS RELAI: * ENTRE ARDUINO ET RELAI: relier la borne 13 de l'arduino à la broche IN1 (commande ouverte/germeture relai), relier les masses (GND), reier le 5V arduino à la broche VCC du relai * RELAI: en sortie, le relai est est placé entre la pompe 12V et l'alimentation 12V de la pompe: NC1 sur le + de l'alim et COM1 sur le + de la pompe * */ void setup() { // put your setup code here, to run once: pinMode(13,OUTPUT); //signale a l arduino que la connexion 10 doit pouvoir envoyer du courant } void loop() { // boucle: digitalWrite(13,HIGH); // demande l'ardui d'evoyer du courant dans la broche 13. Met la broche 13 à 5V delay (180000); // attendre 3 minutes soit 180 000 millisecondes digitalWrite(13,LOW); // demande l'ardui de mettre la connexion 13 à 0V delay (86220000); // 24 heures moins 3 mn }
Quelques explications (sommaires) là: void setup: est une partie qui s’exécute une seule fois à la mise sous tension de l’arduino void loop est une action qui s’exécute en boucle // permet d’écrire des commentaires 4. cliquez là
pour que l’IDE vérifie que la syntaxe du programme est correcte : il y aura un message de succès en bas 5. ensuite cliquez là pour charger le programme dans l’arduino.
Notez que chaque fois que vous téléchargez (ou plutôt « téléversez ») un programme dans l’arduino, cela efface complètement le programme qui était chargé auparavant. Notez qu’une fois qu’un programme est téléversé, chaque fois que vous mettrez l’arduino sous tension, la partie void setup s’exécutera une fois, puis la partie void loop s’exécutera indéfiniment en boucle jusqu’à ce que vous coupiez l’alimentation de l’arduino. En l’occurence, lorsque le courant est mis sur la broche 13 une diode s’allume concomittament sur l’arduino (bonne façon de vérifier visuellement que ça marche). Donc, sans même brancher la pompe et le relai, en débranchant l’arduino, puis en le branchant sur un chargeur 220V-5V (sans ordinateur) vous devriez voir la diode s’allumer 3 minutes puis s’éteindre.
4. Branchements
Nota: schématisation d’un seul relai, vous pouvez brancher le 2ème relai sur une deuxième pompe Quelques explications sur le fonctionnement: la sortie 13 de l’arduino passe sur 5V 3 minutes par jour ce qui met la broche IN1 du relai à +5V => ceci ferme le relai (interrupteur qui met en contact les bornes COM1 et NC1) => ceci a pour effet de mettre la pompe en marche, celle-ci est branchée directement sur une batterie ou un transfo 220V-12V
Question: mais si la sortie 13 passe sur 5V, pourquoi ne pas la brancher directement sur une pompe à eau de 5V? Parce que l’arduino sort des courants de faible d’intensité. Ce courant n’est pas assez puissant pour alimenter la pompe immergée.
montage arrosage automatique
5. Conclusions. Vous avez réalisé un système d’arrosage quotidien, vous pouvez régler la durée et la fréquence des arrosages en modifiant le programme vous même.