|
|
Ligne 32 : |
Ligne 32 : |
| ==RESISTANCES CHAUFANTE== | | ==RESISTANCES CHAUFANTE== |
| ==PROGRAMMATION DU PROJET== | | ==PROGRAMMATION DU PROJET== |
− | Voici le programme qu’on a mis en place pour pouvoir piloter les capteurs, les électrovannes et vérifier le bon fonctionnement du système:
| |
− |
| |
− | <source lang=c>
| |
− | #include <Wire.h>
| |
− | #include "Adafruit_MCP23008.h"
| |
− | #include "Adafruit_MCP23017.h"
| |
− |
| |
− | Adafruit_MCP23008 mcp_sortie; //que les electrovannes sur ce mcp
| |
− | Adafruit_MCP23017 mcp_entree;
| |
− |
| |
− | int analogPin = A3;
| |
− | float val = 0;
| |
− | float valtemperature;
| |
− | float valtension;// fin des variables CTN
| |
− | int pinBouton = 11;
| |
− | int pinGrille1 = 7;
| |
− | int pinGrille2 = 6;
| |
− | bool conditiondepart = 0;
| |
− | int pinLed1 = 10;
| |
− | int pinBoutonPoussoir = 13;
| |
− | int pinBoutonPoussoir2 = 8;
| |
− | int pinLed2 = 9;
| |
− | void setup()
| |
− | {
| |
− | mcp_entree.begin(2);
| |
− | mcp_sortie.begin();// utiliser l'adresse par défaut
| |
− | mcp_entree.pinMode(pinBouton, INPUT);
| |
− | mcp_entree.pinMode(pinBoutonPoussoir, INPUT);
| |
− | mcp_entree.pinMode(pinBoutonPoussoir2, INPUT);
| |
− | mcp_sortie.pinMode(pinGrille1, OUTPUT);
| |
− | mcp_sortie.pinMode(pinGrille2, OUTPUT);
| |
− | mcp_entree.pinMode(pinLed1, OUTPUT);
| |
− | mcp_entree.pinMode(pinLed2, OUTPUT);
| |
− | pinMode(1,OUTPUT);
| |
− | Serial.begin(9600);
| |
− | pinMode(5, OUTPUT);
| |
− | }
| |
− | void loop()
| |
− | {
| |
− | val = analogRead(analogPin);
| |
− | valtension = ((val*5)/1023);
| |
− | delay(500);
| |
− | valtemperature = -1.7435415*valtension*valtension-14.246*valtension+127.0755;
| |
− | Serial.println(valtemperature); //CTN
| |
− | if (mcp_entree.digitalRead(pinBoutonPoussoir)==HIGH){
| |
− | conditiondepart = !conditiondepart;
| |
− | delay(400);
| |
− | }
| |
− |
| |
− | if (conditiondepart == 1)
| |
− | {
| |
− | if (mcp_entree.digitalRead(pinBouton)==HIGH) //attention c'est l'inverse de la position du flotteur
| |
− | {
| |
− | mcp_sortie.digitalWrite(pinGrille1,HIGH); //5v
| |
− | mcp_sortie.digitalWrite(pinGrille2,LOW);
| |
− | mcp_entree.digitalWrite(pinLed1, LOW);
| |
− | digitalWrite(1,LOW);
| |
− | }
| |
− | else
| |
− | {
| |
− | mcp_sortie.digitalWrite(pinGrille1,LOW);
| |
− | mcp_sortie.digitalWrite(pinGrille2,HIGH); //
| |
− | mcp_entree.digitalWrite(pinLed1,HIGH); //
| |
− | digitalWrite(1, HIGH); //pompe
| |
− | }
| |
− | delay(100); //petite attente
| |
− |
| |
− | if (valtemperature <= 40 && mcp_entree.digitalRead(pinBouton)==LOW ){ //car il faut qu'il y ait de l'eau pour pouvoir chauffer !
| |
− | digitalWrite(5, HIGH);
| |
− | }
| |
− | else if (valtemperature >= 50 && mcp_entree.digitalRead(pinBouton)==LOW ) {
| |
− | digitalWrite(5, LOW); //on stop le système de chauffage puisqu'on a atteint la valeur voulue
| |
− | }
| |
− | else {
| |
− | //ne rien faire
| |
− | }
| |
− | }
| |
− | else if (conditiondepart ==0){
| |
− | mcp_entree.digitalWrite(pinLed1, LOW);
| |
− | digitalWrite(1,LOW);
| |
− | }
| |
− | delay(1);
| |
− |
| |
− | }
| |
− | <source lang=c>
| |
| | | |
| ==CONCLUSION== | | ==CONCLUSION== |
Partie1
SOMMAIRE
INTRODUCTION
[ [ Au cours de notre deuxième année de DUT GEII à L’IUT de Troyes, nous avons été amenés à réaliser un projet. Notre encadrant nous a proposé la réalisation d’une machine à café. Celle-ci permettrait de produire un café de qualité. Nous avons donc commencé par établir un cahier des charges préliminaire.] ]
Cahier de charges
[Concevoir une carte électronique de commande d’une machine à café]
Partie2
PILOTAGE DES CAPTEURS
[Le capteur est un système qui permet de transformer une grandeur physique en un signal électrique. Il existe 3 grandes familles de capteurs.]
Simulation
Microship
Brancher le bus I2C
Connectez la broche #12 sur Arduino broche Analogique A5 (Horloge I2C, SCL)
Connectez la broche #13 sur Arduino broche Analogique A4 (Données I2C, SDA)
Schématique
Carte Capteur
Programmation
PILOTAGE DES ACTIONNEURS
RESISTANCES CHAUFANTE
PROGRAMMATION DU PROJET
CONCLUSION