Skip to content

echofab-communautique/arduiflo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Arduiflo

Créateur = Frédéric Cantin, Laurent Charbonneau, Raphaël Dermers, Serge Dubé, Marc-Olivier Ducharme, Anthony Lapointe, Stéphanie Lessard-Bérubé, Stéphanie Perron, Stéphane Rousseau Description projet = Système d’irrigation de plantes ou de jardin de balcon commandé par un module Arduino et une pompe solaire. Ingrédient = Multiplexeur 74HC4052N: [[http://www.digikey.ca/product-detail/en/74HC4052N652/568-1457-5-ND/763061]], Support de circuit intégré DIP-16 pour le multiplexeur (facultatif): [[http://www.digikey.ca/product-detail/en/1-390261-4/A100206-ND/1125624]], Transistor 2n2222: [[ http://www.digikey.ca/product-detail/en/P2N2222AG/P2N2222AGOS-ND/920244 ]], Resistance 100KΩ: [[ http://www.digikey.ca/product-detail/en/CF14JT100K/CF14JT100KCT-ND/1830399 ]], Relais 5V Normalement Ouvert: [[ http://www.digikey.ca/product-detail/en/OJE-SH-105DM000/PB874-ND/1095199 ]], Une Diode 1N4001: [[ http://www.digikey.ca/product-detail/en/1N4001-E3%2F54/1N4001-E3%2F54GICT-ND/868984 ]], Connecteurs pour l'arduino: [[ http://www.sparkfun.com/products/10007 ]] Outil utilisé=Arduino, Outils d'électronique Status=Terminé License=GPL

Arduiflo_Logo Image principale projet

Image projet= Arduiflo0 1 Arduiflo1 0Circuit Arduiflocondition

SerialdeBase.jpg, CapteurE 4.JPG, ActionArduiflo.jpg, TestPompe6.JPG, ArduifloShield.jpg Taille image=Petite

Cadre=Puisque le lab dispose de deux [[http://www.woollypocket.com/|Woolly Pockets]], nous avons décider de créer un mur vert dans nos bureaux. Nous voulons automatiser l’arrosage des plantes en fonction d'une lecture de capteur d'humidité placés dans les bacs de terre.
L’agriculture urbaine, que ce soit pour des jardins de toit, des jardins de balcon ou encore des murs verts est en plein essor. Les citoyens sont de plus en plus nombreux à mettre en place des systèmes de jardin au coeur de la ville.Ce projet est collaboratif et ouvert. Utilisez le [[https://github.com/ZagZig/arduiflow|wiki du GitHub]] pour faire avancer le projet. }}

Plans, Schémas & Code

Arduiflo terminée: Arduiflo0 1

Détail du PCB: Arduiflo1 0Circuit

Le [[https://dl.dropboxusercontent.com/u/103145367/Arduiflo/Arduiflo%201.0.fzz|plan d'Arduiflo]] est maintenant en ligne au format "Fritzing"

Capteur d'humidité

Nous avons décidés, entre autre, de développer un capteur d'humidité au lab ce qui n'a pas été de facile et de tout repos. Le capteur est en constante évolution (du moins je l'espère!) et prendra plusieurs formes. Voici quelque exemple de prototype raté, ainsi que de prototype que nous croyons fonctionnel.


Essai de capteur

Modèle D:

TestCapteur-1

Mise à jour: ce capteur semble fonctionel, par contre il n'est pas facile à reproduire. Étant donné que les fils ne sont pas attachés à la mine de crayon, mais enroulé, ils ont tendance à se déconnecter durant la cuisson. Sur les 3 capteurs construits seulement 1 fonctionnait.

Ce prototype semble bien fonctionné et fonctionne sur une base de résistance au courant électrique. Selon le concept que plus la terre est mouillée plus le courant va traverser et moins elle est humide et moins le courant va traverser. Nous utilisons de la pâte polymère pour que le capteur soit étanche et solide. Nous utilisons aussi des mines de crayons, car elle contienne une grande teneur en graphite, qui conduit très bien l'électricité, et parce qu'elle ne rouille pas.

Étape_de_fabrication

-On enroule 2 petits fil conducteur aux 2 tiges de métal et on enroule l'autre bout aux mines de crayon.

-On enrobe de pâte polymère en s'assurant que les fils ne se touchent pas et que le capteur est étanche

-On retire l'excédent de pâte.

-On s'assure que la conductivité est bonne et indépendante l'une de l'autre avec un multi-mètre

-On met au four le temps indiqué par le fabricant de la pâte polymère.

-On soude 2 fils sur les 2 tiges de métal.

Bingo prêt à brancher sur un micro-contrôleur!

FaireCapteur-5

FaireCapteur-2

FaireCapteur-3 FaireCapteur-1

FaireCapteur-7

FaireCapteur-9

FaireCapteur-10

FaireCapteur-11

FaireCapteur-12

FaireCapteur-13

FaireCapteur-14

FaireCapteur-15

FaireCapteur-17

FaireCapteur-18

FaireCapteur-16

FaireCapteur-8

FaireCapteur-6

FaireCapteur-4

Modèle C:
Troisième itération du capteur d'humidité. En plus d'utiliser les mines de crayon, nous utilisons une structure à base de pâte polymère ([[http://en.wikipedia.org/wiki/Sculpey|//pâte polymère Sculpey//]])qui offre une solidité relative. Un problème que nous avons rencontré est que le capteur n'a pas assez cuit et est trop mout. De plus, les 2 bouts du capteur offres des mines de crayon et l'étain ne colle pas au mine crayon il est très difficile de souder une mine de crayon un fil.

1280px-PrototypeCapteurC-1

PrototypeCapteurC-2

Modèle B:
Deuxième itération du capteur d'humidité. Ce capteur est basé sur l'idée d'utiliser le graphite(dans notre cas une mine de crayon) comme élément conducteur, car il ne rouille pas. Il n'a pas très bien fonctionné, car il n'a pas de structure solide en son long et a une étanchéitée au niveau des fils qui laissent à désirer.

PrototypeCapteurB-1

PrototypeCapteurB-2

[[Fichier:PrototypeCapteurB-3.JPG|500px|]]

Modèle A:
Première itération du capteur d'humidité. Ce capteur est inspiré de quelques expérimentations que nous avons vues sur le web. Ce capteur fonctionne très bien. Sauf qu'il a une très courte durée de vie. En effet même si nous utilisions des capteurs galvanisés au zinc la rouille a pris le dessus sur le capteur après seulement une semaine! Nous croyons que c'est l'effet anode cathode qui fait rouillé le capteur plus rapidement.

PrototypeCapteurA-1

PrototypeCapteurA-2

En test et développement

ArduinoRaspberry5

Voici le nouveau capteur que nous testons nous avons ajouté des petits connecteur qui relie les mines de crayons bien en place avec les fils. sur les 3 que nous avons produits, 2 donnent des valeurs pratiquement identiques!

Contruction_du_capteurE

CapteurE_1 CapteurE_2 CapteurE_3 CapteurE_4 CapteurE_5

Test du capteurE

Nous avons testé pendant un certain temps les capteurs avec mon ordinateur, mais plus maintenant Nous testons présentement les capteurs d'humidité avec le Raspberry Pi!

ArduinoRaspberry1 ArduinoRaspberry3 ArduinoRaspberry5


Graphique des capteurs

Sur le 3 capteurs de cette ittération que nous avons produit, 2 donnent des valeurs très proches. Nous testons les capteurs dans 3 pots différents, car nous n'avons pas encore réglé le problème de la variation des données lorsque les capteurs sont dans le même sol. Nous avons saturés d'eau les 3 pots de terre (vraiment submergé dans l'eau). Voici le résultat du taux d'humidité.

mise à jour voici les résultats du test des capteurs d'humidité pour les 21 derniers jours:

Voici les résultats de 21 jours de test des capteurs d'humidités. Les résultats sont intéressants, sauf que lors du 12-13-14 décembre(jour 11,12,13, il semblerait que l'humidité du capteur d'humidité A(bleu) à augmenté. On peut tout de même clairement voire que l'humidité diminue avec le temps.

le graphique et en jour et l'humidité est de 0 à 1024

voici le résultat avec les 3 capteurs(comme mentionné plus bas le capteur C(rouge) ne donnent pas les même résultats que les 2 autres capteurs.

HumiditéSur20Jour_R1000_ABC

Voici le résultat des 2 capteurs significatifs:

HumiditéSur21Jour_R1000

le graphique et en minute et l'humidité est de 0 à 1024

2012-12-06:

ABC_2012-12-06

Comme vous pouvez le constater, il y a un capteur qui est vraiment loin des 2 autres nous l'avons donc retiré des graphiques pour mieu comprendre les 2 autres capteurs.

2012-11-29:

2012-11-29

2012-11-30:

2012-11-30

2012-12-01:

2012-12-01

2012-12-02:

2012-12-02

2012-12-03:

2012-12-03

2012-12-04:

2012-12-04

2012-12-05:

2012-12-05

2012-12-06:

2012-12-06

Les valeurs des capteurs changes parfois drastiquement, mais j'ai parfois utilisé mon ordinateur et arrêté de collecter les données des capteurs. On peut constater que si les capteur sont vraiment dans l'eau saturé, ils vont donner une valeure moins grande d'humitié. Lorsque la terre est humide comme de la boue et non comme du de l'eau avec de la terre dedans, le taux d'humidité commence à descendre.

Mon interprétation subjective: 750 d'humidité semble être la valeur d'humidité dont les plantes ont besoins 800 à 850 étant de la terre de marais.

Le problème est que 700 à 750 est aussi la valeur donné pour une terre complètement saturé d'eau.

d'autre test seront necessaire pour régler ce problème.

code de test

Mise à jour: tout le code à été migré vers le GitHub arduiflo disponible ici: [[https://github.com/AnthonyLapointe/arduiflo]]

Vous êtes encouragé à contribuer au code au même titre qu'au développement du hardware!

pour référence seulement voici le code en date du 7 décembre:


 const int PIN_ECRITURE_CAPT_A = 3;
 const int PIN_LECTURE_CAPT_A = 3;
 const int PIN_ECRITURE_CAPT_B = 4;
 const int PIN_LECTURE_CAPT_B = 4;
 const int PIN_ECRITURE_CAPT_C = 5;
 const int PIN_LECTURE_CAPT_C = 5;

 const int PIN_ECRITURE_RELAY = 8;


 const long ATTENTE_APRES_ARROSAGE_MS = 60000;<nowiki>//</nowiki>(1000 * 60 * 10); 
 const int ATTENTE_ENTRE_LECTURE_MS = 1000;
 const int ATTENTE_ENTRE_CAPT = 2000;
 const int DURE_ARROSAGE_MS = 4000;
 const int MIN_HUM = 700;


 void setup()
 {

  Serial.begin(BAUD_RATE);

  pinMode(PIN_ECRITURE_CAPT_A,OUTPUT);
  digitalWrite(PIN_ECRITURE_CAPT_A,LOW);

  pinMode(PIN_ECRITURE_CAPT_B,OUTPUT);
  digitalWrite(PIN_ECRITURE_CAPT_B,LOW);

  pinMode(PIN_ECRITURE_RELAY,OUTPUT);
  digitalWrite(PIN_ECRITURE_RELAY,LOW);

  <nowiki>//</nowiki>Serial.println(ATTENTE_APRES_ARROSAGE_MS);

 }

 void loop()
 { 

  int humidite = 0;

  humidite = litValeurCapteur(PIN_ECRITURE_CAPT_A,PIN_LECTURE_CAPT_A);
  Serial.print("A:");
  Serial.print(humidite);
  Serial.print(" ");

  humidite = litValeurCapteur(PIN_ECRITURE_CAPT_B,PIN_LECTURE_CAPT_B);
  Serial.print("B:");
  Serial.print(humidite);
  Serial.print(" ");
  
  humidite = litValeurCapteur(PIN_ECRITURE_CAPT_C,PIN_LECTURE_CAPT_C);
  Serial.print("C:");
  Serial.print(humidite);
  Serial.print(" ");
  
  Serial.println();

  delay(ATTENTE_ENTRE_LECTURE_MS); 

 }

 int litValeurCapteur(const int PIN_ECRITURE,const int PIN_LECTURE)
 {

  const int ATTENTE_LECTURE_MS = 200;

  digitalWrite(PIN_ECRITURE,HIGH);
  delay(ATTENTE_LECTURE_MS);
  int humidite = analogRead(PIN_LECTURE);
  digitalWrite(PIN_ECRITURE,LOW);  
  return humidite;

 }

 void ControleHumidite()
 {

  /* if( humidite < MIN_HUM)
   {
   digitalWrite(PIN_ECRITURE_RELAY,HIGH);
   delay(DURE_ARROSAGE_MS);
   digitalWrite(PIN_ECRITURE_RELAY,LOW);
   
   delay(ATTENTE_APRES_ARROSAGE_MS);
   }
   
   delay(ATTENTE_ENTRE_CAPT);
   */

 }

[[Code Python]]


Pompe et panneau solaire

Test de la pompe avec le nouveau panneau solaire:

Le test à été concluant! La pompe avec le panneau solaire à batterie donne de très bon résultat!

TestPompe1

TestPompe2 TestPompe3 TestPompe4 TestPompe5 TestPompe6 TestPompe7

TestPompe10 TestPompe11 TestPompe12 TestPompe13

Panneau solaire ouvert:

PanneauSolaire4 PanneauSolaire1 PanneauSolaire3 PanneauSolaire5


Shield_Arduiflo

ArduifloShield

Circuit

Plan

Voici la version 0.1 du shield arduiflo: Arduiflo2_pcb

Nous avons utilisé le logiciel, open source, de dessein de circuit Fritzing [[http://fritzing.org/]] pour faire le ce circuit. Nous ne sommes pas particulièrement content de notre shéma, il est un peut difficile à comprendre, mais le voici.

ShemaArduiflo_bb

ShemaArduiflo_schem

[[Fichier:Alim_mixte.pdf]]

Problème encouru
Fuite de courrant

Lorsque nous avons branché plusieurs capteurs d'humidité sur le circuit du arduiflo et que nous les avons mis dans le même pot de terre. Nous nous sommes rapdiement rendu compte que les valeurs des capteurs était affecté l'une par l'autre et ce même avec environs un mètre de distance. Nous en sommes arrivé à la conclusion que le courant des capteurs fuyait mutuellement un dans l'autre ce qui modifiais les valeurs des capteurs d'humidités et les rendaient ininterprétables.

Solution

Nous avons ajouté un multiplexeur 4052 [[http://www.spikenzielabs.com/Catalog/index.php?main_page=product_info&cPath=24&products_id=506]] au circuit, ce qui permet d'utiliser 4 capteurs d'humidité avec seulement 3 pin du arduino(2 digital et 1 analogique), ainsi que d'isoler les mises à terre(Ground) de chaque capteurs d'humidité. Après quelques test nous avons réussie à isoler les capteurs les un des autres et ainsi régler le problème de fuite de courrant.

Échec

Nous avons d'abord esseyé avec un multiplexeur de type 4051 [[http://playground.arduino.cc/learning/4051]] ce qui nous aurait permit d'avoir 8 capteur avec seulement 4 pin du arduino, mais le multiplexeur n'isole pas les mises à terre des capteurs d'humidité.

Fermeture automatique du panneau solaire

Le panneau solaire a batterie SuYou [[https://www.sparkfun.com/products/11496]] s'éteint tous seul lorsque nous l'avons utilisé pour fournir le courant du mur végétal. Il y a une fermeture automatique du panneau solaire lorsqu'il n'y a pas de courant qui est utilisé. Il semble que nous devions tirer plus de courant pour ne pas que le panneau solaire ne se ferme tout seul. Court-circuiter le panneau solaire ne semble pas fonctionner. Nous avons réussi à activer un moteur avec le panneau solaire à batterie et il ne s'éteint pas.

Code Arduino

Lecture Simple: [[https://dl.dropboxusercontent.com/u/103145367/Arduiflo/Arduiflo_lectureSimple.ino]] Lecture + Arrosage de base: [[https://dl.dropboxusercontent.com/u/103145367/Arduiflo/ArduifloLectureArrosage.ino]]

SerialdeBase

Arduiflocondition

Documentation Externe

Relais Schéma de "Make": [[http://blog.makezine.com/2009/02/02/connecting-a-relay-to-arduino/]]

Shield Arduino pour controler les solenoids http://www.ohanda.org/products/solenoid-shield

Contact et questions

Pour toutes questions en lien avec le projet, veuillez nous écrire au [[mailto:info@echofab.org|info@echofab.org]]

Ont contribués à ce projet

  • Frédéric Cantin - RD Électronique et mécanique
  • Laurent Charbonneau - Brainstorm
  • Raphaël Dermers - Électronique et Arduino et conception technique
  • Serge Dubé - RD Électronique et mécanique - Résolution de problèmes
  • Marc-Olivier Ducharme - Conception originale et démarage du projet - Soutien technique
  • Anthony Lapointe - Project leader - Programmation et conception techniques
  • Stéphanie Lessard-Bérubé - Vidéo Indiegogo
  • Stéphanie Perron - Communications
  • Stéphane Rousseau - Soutien technique et RD

Si votre nom n'apparait pas n'hésitez pas à l'ajouter à la liste ou nous contacter!

Avancement du projet

Statut actuel: Le projet est suspendu jusqu'à ce que nous terminé notre déménagement.

Suite du projet

[[création d'un nouveau système Arduiflo miniature]]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published