Maker Pro
Arduino

GNG 1503 - A3 - Jardinière

November 23, 2020 by Juliette Leprohon
Share
banner

Le projet conciste en la conception d'une jardinière avec un système d'entretien et d'arrosage automatique.

Dans le cadre du cours GNG 1503, nous avons comme objectif de réaliser un projet de conception d’une jardinière intérieure. Le problème a été défini ainsi que les besoins du client qui ont été traduits en critères de conception. L'analyse des idées préliminaires qui ont été développées par les membres de notre équipe a été faite afin de sélectionner une solution globale au problème de notre client. Le plan du projet ainsi que l’estimation des coûts de la conception de notre produit ont ensuite été détaillés. Un premier prototype a été conçu et analysé. Il s’agissait d’un prototype physique et ciblé qui permettait de vérifier la faisabilité du système d’arrosage prévu. Un deuxième prototype a été conçu sur le logiciel Tinkercad afin de simuler le fonctionnement du capteur de température et l’avertissement de la faible teneur en eau du sol. Enfin, un troisième et dernier prototype a été conçu, testé, analysé et commenté et il permet de regrouper les différents sous-systèmes de notre jardinière.

Énoncé du problème

Le problème auquel nous devions trouver une solution est le suivant : Le client (Jonathan Rausseo) veut une jardinière conçue par les étudiants qui est abordable avec un esthétisme simple, moderne et facile d’entretien.

Prototype I

Pour le premier prototype de la jardinière, il était important de vérifier la faisabilité du concept de base du système d’arrosage de la jardinière. Puisque la pompe à eau était la composante principale du système d’arrosage, le premier prototype est un prototype physique et ciblé afin de permettre l’analyse spécifique de la pompe à eau. Les tests qui seront effectués permettront de comprendre davantage le fonctionnement de la pompe à eau, d’obtenir les limites de son utilisation et d’obtenir des mesures importantes qui permettront de déterminer si son utilisation est adéquate pour la jardinière. L’analyse des résultats effectués permet de confirmer ou d’infirmer la faisabilité du système d’arrosage prévu et permettra aussi de suggérer des modifications afin que le système d’arrosage puisse fonctionner.

Capture d’écran 2020-11-16 115040.png

Figure 1 - Prototype du système d'arrosage

Capture d’écran 2020-11-16 115246.png

Figure 2 - Dessin du prototype du système d'arrosage

Prototype II

Pour le deuxième prototype de la jardinière, il était important de vérifier la faisabilité du concept de base du système d’entretien de la jardinière. Puisque les capteurs d’humidité sont les composantes principales du système d’entretien, le deuxième prototype est un prototype physique et ciblé afin de permettre l’analyse spécifique du circuit comportant les capteurs d’humidité. Les tests qui seront effectués permettront de vérifier le circuit ainsi que le code permettant de déterminer lorsque le sol a besoin d’être arrosé. L’analyse des résultats effectués permettra de confirmer ou d’infirmer si le fonctionnement des capteurs d’humidité assure la faisabilité des systèmes d’entretien et d’arrosage prévu et permettra aussi de suggérer des modifications afin que les systèmes d’entretien et d’arrosage.

Capture d’écran 2020-11-16 114707.png

Figure 3 - Circuit du prototype du système d'entretien

#include <LiquidCrystal.h>

const int LM35 = A0;
const int motor = 13;
const int LedRed = 12;
const int LedGreen = 11;


LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

void setup() {
  Serial.begin(9600);
  lcd.begin(16, 2);
  lcd.print("Systeme d'arro");
  lcd.setCursor(0,1);
  lcd.print("sage Automatique");
  pinMode(motor, OUTPUT);
  pinMode(LedRed, OUTPUT);
  pinMode(LedGreen, OUTPUT);
  delay(2000);
  lcd.clear();
  lcd.print("Humid= ");
  lcd.setCursor(0,1);
  lcd.print("Pompe= ");
}

void loop() {

  int value = analogRead(LM35);
  float Temperature = value * 500.0 / 1023.0;
  float Hum = 10 / Temperature * 100;
  
  lcd.setCursor(6,0);
  lcd.print(Temperature); 
  lcd.setCursor(11,1);
  if (Hum < 38){
    digitalWrite(motor, HIGH);
    digitalWrite(LedRed, HIGH);
    digitalWrite(LedGreen, LOW);
    lcd.print("ON ");
  }
  else {
    digitalWrite(motor, LOW);
    digitalWrite(LedRed, LOW);
    digitalWrite(LedGreen, HIGH);
    lcd.print("OFF");
  }
  
   delay(1000);
}

Prototype III

Pour le troisième et dernier prototype de la jardinière, il était important de vérifier, encore une fois, la faisabilité des concepts de base des systèmes mais surtout leur compatibilité. En effet, durant les derniers prototypes, différents sous-systèmes ont été analysés et les tests ont permis de prouver leur efficacité. Ce dernier prototype combinera donc ces sous-systèmes en un prototype compréhensif et physique afin de vérifier le fonctionnement global. Le prototype physique est donc confectionné de contenants en plastique (pour la jardinière) et d’un tuyau percé et de la pompe à eau (pour le système d’arrosage). Deux contenants en plastique seront superposés de manière à créer un réservoir d’eau sous la jardinière. La pompe à eau sera située dans ce réservoir et le tuyau percé, connecté à la pompe à eau, traversera le contenant supérieur et reviendra dans le réservoir dans le contenant inférieur. Cependant, en raison de plusieurs contraintes, le système d’entretien du troisième prototype sera sous forme de simulation seulement. La simulation est semblable à celle du deuxième prototype à l’exception de quelques petites modifications qui ont été apportées à la suite de la rétroaction de notre client. Un dessin de la jardinière sur le logiciel Onshape permet de représenter complètement la jardinière et les différents sous-systèmes. L’objectif principal de ce prototype est de représenter les différents concepts de notre jardinière en un même prototype, idéalement physique.

réservoir.png

Figure 4 - Prototype physique - Réservoir

ensemble jardinière.png

Figure 5 - Prototype physique - Vue d'ensemble

Simulation prototype 3 .png

Figure 6 - Prototype Tinkercad - Système d'entretien

#include <LiquidCrystal.h>

const int piezo = 8;
const int LM35 = A0;
const int motor = 13;
const int LedRed = 12;
const int LedGreen = 11;


LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

void setup() {
  Serial.begin(9600);
  lcd.begin(16, 2);
  lcd.print("Systeme d'arro");
  lcd.setCursor(0,1);
  lcd.print("sage Automatique");
  pinMode(motor, OUTPUT);
  pinMode(LedRed, OUTPUT);
  pinMode(LedGreen, OUTPUT);
  delay(2000);
  lcd.clear();
  lcd.print("Humid= ");
  lcd.setCursor(0,1);
  lcd.print("Pompe= ");
}

void loop() {

  int value = analogRead(LM35);
  float Temperature = value * 500.0 / 1023.0;
  float Hum = 10 / Temperature *100;
  
  lcd.setCursor(6,0);
  lcd.print(Temperature); 
  lcd.setCursor(11,1);
  if (Hum < 38){
    digitalWrite(motor, HIGH);
    digitalWrite(LedRed, HIGH);
    digitalWrite(LedGreen, LOW);
    tone(piezo, 1000, 500);
    lcd.print("Arrosez ");
  }
  else {
    digitalWrite(motor, LOW);
    digitalWrite(LedRed, LOW);
    digitalWrite(LedGreen, HIGH);
    lcd.print("OFF");
  }
  
   delay(1000);
}
Onshape.png

Figure 7 - Prototype complet Onshape

Conclusion

Nous avions comme objectif de concevoir une jardinière abordable avec un système d'arrosage intégré facile d'entretien. Quoi que les contraintes de la situaiton actuelle nous a pas permis de concevoir un prototype physique complet de notre jardinière, nous pensons avoir atteint notre objectif. Nous avons conçu, à l'aide du logiciel Onshape, une jardinière avec un système d'arrosage et d'entretien intégré.

Related Content

Comments


You May Also Like