Projet IMA3 P1, 2016/2017, TD1
Sommaire
Projet IMA3-SC 2016/2017 : Pot de fleur connecté
Cahier des charges
- Mesure du taux d'humidité de la terre
- Mesure de la température
- Mesure de la luminosité
- Affichage des données (humidité, température et lumière) sur une interface Web
- Régulation automatique de l'arrosage lorsque l'humidité du sol est inférieure à la limite fixée par l'utilisateur
- Affichage d'alertes lorsque les conditions de températures/luminosité ne correspondent plus à ce que l'utilisateur à fixé
- Garder un historique horodaté des alertes et de l'arrosage
- Avertir l'utilisateur lorsque le niveau d'eau est faible
Description du système
Le pot de fleur connecté est un système permettant de faciliter le soin d'une plante.
Il régule automatiquement l’arrosage afin de garder un taux d'humidité propice au développement de la plante et avertit l'utilisateur en cas de réserve d'eau insuffisante.
Il permet également de prévenir l'utilisateur lorsque les conditions de lumière/température ne correspondent plus à ce qu'il avait fixé sur l'interface web.
Le matériel
- 1 hygromètre (certains incluent une sonde de température)
- 1 photorésistance
- 1 sonde de température
- 1 capteur de niveau d'eau
- 1 Rapsberry Pi
- 1 Nanoboard
Séance 1
Partie électronique
FPGA
Cette première séance à été consacré à la découverte de la Nanoboard. En effet, nous n'avions encore jamais utilisé de FPGA au préalable et le tutoriel fourni nous à permis de comprendre le fonctionnement et l'utilisation de cette Nanoboard.
Ceci nous à permis de réaliser un des éléments nécessaire à notre projet : la génération d'un signal PWM (Pulse Width Modulation) à partir d'un signal carré d'horloge auquel on fait varier le rapport cyclique périodiquement (voir schéma).
Objectif pour la séance suivante : Etablir la structure globale qu'aura le FPGA pour réaliser notre programme afin de pourvoir organiser le travail de manière convenable.
Prototype Arduino
On a commencé par faire l'inventaire des différents capteurs et matériels présents dans notre boîte.
- Une pompe accompagné de son shield permettant le contrôle du moteur par PWM avec un Arduino
- Un capteur d'humidité couplé avec un capteur de température
- Une sonde "chirp" qui émet du son lorsque l'humidité du sol descend en dessous d'un relevé initial "dry point"
- Un phototransistor qui réagit au changement d'intensité lumineuse
- Un microcontrôleur Arduino et une breadboard
On est rapidement passé à la programmation pour faire fonctionner ces dispositifs et comprendre leur fonctionnement.
Partie informatique
La distribution d'eau est une fonction essentielle de notre projet. Tout naturellement, on s'est penché en priorité sur le fonctionnement de la pompe. Pour connecter notre pompe, nous nous sommes référé à un schéma du driver TB6612FNG.
Programme du contrôle des moteurs
int STBY = 2; int PWMA = 6; int AIN1 = 4; int AIN2 = 5;
void setup(){ pinMode(STBY, OUTPUT); pinMode(PWMA, OUTPUT); pinMode(AIN1, OUTPUT); pinMode(AIN2, OUTPUT);
}
void loop(){ move(1, 255, 1);
delay(5000); stop(); delay(2000); }
void move(int speed){
digitalWrite(STBY, HIGH);
boolean inPin1 = LOW; boolean inPin2 = HIGH;
digitalWrite(AIN1, inPin1); digitalWrite(AIN2, inPin2); analogWrite(PWMA, speed);
}
void stop(){ digitalWrite(STBY, LOW); }
- Début du prototype avec une Arduino
- Test concluant de la pompe
- Test du capteur d'humidité (à planter)
Séance 2
Partie électronique
Durant cette seconde séance nous avons réaliser un générateur de signal en dent de scie à partir du signal carré de base en ajoutant un filtre passe bas afin de filtrer la composante alternative et garder seulement la composante continue. (prochainement : Description dimensionnement R & C )
Nous avons ensuite utilisé un AOP en mode comparateur afin d'échantillonné le signal d'un capteur IR.
Le convertisseur CAN est opérationnel !
Objectif séance 3 : Réunion avec l’ensemble des membres du groupe pour un état des lieux notamment sur la conception globale du projet, à savoir, le regroupement de la partie Elec et Info.
Partie informatique
- Test du capteur de température et d'humidité
- Réalisation d'un PCB qui nous permettra de détecter le niveau d'eau dans le réservoir
- Réflexion sur le design de la page web de supervision
Séance 3
Partie électronique
Partie informatique
- Interface web terminée
- Communication série / websockets (Afficher sur l'interface web une valeur venant du port série)