Centre de contrôle d'un dessiccateur de fruits et légumes

Dependencies:   F746_GUI DS1820 JMAPwmOut OneWire QSPI_DISCO_F746NG mbed

Centre de contrôle d'un dessiccateur de fruits et légumes

Le dessiccateur utilise une résistance de chauffage qui sont commandés par deux triacs contrôlés par la carte de développement STMICROELECTRONICS STM32F746G-DISCO. La température est mesurée par du capteur DS18B20. L'écran LCD TFT du STM32F746G-DISCO permet une interface conviviale.

Fournitures :

  • carte de développement STMICROELECTRONICS STM32F746G-DISCO (car elle a un écran LCD TFT) montée sur un circuit imprimé réalisé sous Windows avec le programme TCI.exe;
  • un capteur de température OneWire DS18B20;
  • un module de commande des triacs monté sur un circuit imprimé réalisé avec le programme TCI.exe;
  • un dispositif de chauffage/ventilation obtenu du démontage d'un chauffage électrique d'appoint (à 7€ chez Mr Bricolage);
  • un boitier parallélépipédique réalisé en résine polyester/fibre de verre et équipé de grille en inox;

A faire pour la publication :

  • circuit imprimé carte microcontrôleur
  • circuit imprimé commande triacs
  • boitier
Committer:
jmambroi
Date:
Sat May 27 09:03:02 2017 +0000
Revision:
3:5dff448d2ed1
Parent:
2:96d32c19b5be
Suppression de r?f?rence multiples dans les biblioth?ques.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jmambroi 0:3f519e465338 1 #ifndef _MAIN_HPP
jmambroi 0:3f519e465338 2 #define _MAIN_HPP
jmambroi 0:3f519e465338 3
jmambroi 0:3f519e465338 4 /* mes defines pour mbed-os
jmambroi 0:3f519e465338 5 #define HAL_SAI_STATE_TIMEOUT 1
jmambroi 0:3f519e465338 6 #define HAL_SAI_STATE_ERROR 1 */
jmambroi 0:3f519e465338 7
jmambroi 0:3f519e465338 8 #include <string>
jmambroi 0:3f519e465338 9 #include <stdlib.h>
jmambroi 0:3f519e465338 10 #include "mbed.h"
jmambroi 0:3f519e465338 11 #include "prototypes.hpp"
jmambroi 0:3f519e465338 12 #include "textes.hpp" // Le tableau des chaines de caractères
jmambroi 0:3f519e465338 13 // Les objets et autres
jmambroi 0:3f519e465338 14 #include "DS1820.h"
jmambroi 0:3f519e465338 15 #include "JMAPwmOut.hpp"
jmambroi 0:3f519e465338 16 #include "QSPI_DISCO_F746NG.h"
jmambroi 0:3f519e465338 17 #include "NumericLabel.hpp"
jmambroi 0:3f519e465338 18 #include "BlinkLabel.hpp"
jmambroi 0:3f519e465338 19 #include "ButtonGroup.hpp"
jmambroi 0:3f519e465338 20 #include "SeekbarGroup.hpp"
jmambroi 0:3f519e465338 21
jmambroi 0:3f519e465338 22 // Les couleurs
jmambroi 0:3f519e465338 23 #define BLANC LCD_COLOR_WHITE
jmambroi 0:3f519e465338 24 #define NOIR LCD_COLOR_BLACK
jmambroi 0:3f519e465338 25 #define CYAN LCD_COLOR_CYAN
jmambroi 0:3f519e465338 26 #define ROUGE LCD_COLOR_RED
jmambroi 0:3f519e465338 27 #define JAUNE LCD_COLOR_YELLOW
jmambroi 0:3f519e465338 28 #define BLEU LCD_COLOR_BLUE
jmambroi 0:3f519e465338 29 #define VERT LCD_COLOR_GREEN
jmambroi 0:3f519e465338 30 #define MAGENTA LCD_COLOR_MAGENTA
jmambroi 0:3f519e465338 31 #define ORANGE LCD_COLOR_ORANGE
jmambroi 0:3f519e465338 32 #define BRUN LCD_COLOR_BROWN
jmambroi 0:3f519e465338 33 #define GRIS LCD_COLOR_GRAY
jmambroi 0:3f519e465338 34 #define TRANSPARENT LCD_COLOR_TRANSPARENT
jmambroi 0:3f519e465338 35
jmambroi 0:3f519e465338 36 #define BLEU_CLAIR LCD_COLOR_LIGHTBLUE
jmambroi 0:3f519e465338 37 #define VERT_CLAIR LCD_COLOR_LIGHTGREEN
jmambroi 0:3f519e465338 38 #define ROUGE_CLAIR LCD_COLOR_LIGHTRED
jmambroi 0:3f519e465338 39 #define CYAN_CLAIR LCD_COLOR_LIGHTCYAN
jmambroi 0:3f519e465338 40 #define MAGENTA_CLAIR LCD_COLOR_LIGHTMAGENTA
jmambroi 0:3f519e465338 41 #define JAUNE_CLAIR LCD_COLOR_LIGHTYELLOW
jmambroi 0:3f519e465338 42 #define GRIS_CLAIR LCD_COLOR_LIGHTGRAY
jmambroi 0:3f519e465338 43
jmambroi 0:3f519e465338 44 #define BLEU_SOMBRE LCD_COLOR_DARKBLUE
jmambroi 0:3f519e465338 45 #define VERT_SOMBRE LCD_COLOR_DARKGREEN
jmambroi 0:3f519e465338 46 #define ROUGE_SOMBRE LCD_COLOR_DARKRED
jmambroi 0:3f519e465338 47 #define CYAN_SOMBRE LCD_COLOR_DARKCYAN
jmambroi 0:3f519e465338 48 #define MAGENTA_SOMBRE LCD_COLOR_DARKMAGENTA
jmambroi 0:3f519e465338 49 #define JAUNE_SOMBRE LCD_COLOR_DARKYELLOW
jmambroi 0:3f519e465338 50 #define GRIS_SOMBRE LCD_COLOR_DARKGRAY
jmambroi 0:3f519e465338 51
jmambroi 0:3f519e465338 52 // Les constantes des écrans/boutons
jmambroi 0:3f519e465338 53 const uint8_t DEMARRER = 0;
jmambroi 0:3f519e465338 54 const uint8_t ARRETER = 1;
jmambroi 0:3f519e465338 55 const uint8_t VALIDER = 2;
jmambroi 0:3f519e465338 56 const uint8_t ANNULER = 3;
jmambroi 0:3f519e465338 57 const uint8_t REGLER_HORLOGE = 4;
jmambroi 0:3f519e465338 58 const uint8_t DEPART = 5;
jmambroi 0:3f519e465338 59 const uint8_t DUREE = 6;
jmambroi 0:3f519e465338 60 const uint8_t FIN = 7;
jmambroi 0:3f519e465338 61 const uint8_t ETAT = 8;
jmambroi 0:3f519e465338 62 const uint8_t DUREE_RESTANTE = 9;
jmambroi 0:3f519e465338 63 const uint8_t REGLER_CHRONO = 10;
jmambroi 0:3f519e465338 64 const uint8_t TAILLE_TAMPON = 80;
jmambroi 0:3f519e465338 65 const uint8_t NB_BOUTONS_ACCUEIL = 4;
jmambroi 2:96d32c19b5be 66 const string boutonsAccueil[4] = {"Demarrer", "Suspendre", "Arreter", "Regler dessiccateur"};
jmambroi 0:3f519e465338 67
jmambroi 0:3f519e465338 68 // QSPI
jmambroi 0:3f519e465338 69 const uint32_t TAMPON_QSPI = (uint32_t)TAILLE_TAMPON;
jmambroi 0:3f519e465338 70 const uint32_t ADRESSE_LECTURE_ECRITURE = (uint32_t)0x0050;
jmambroi 0:3f519e465338 71 const uint32_t ADRESSE_BASE_QSPI = (uint32_t)0x90000000;
jmambroi 0:3f519e465338 72
jmambroi 0:3f519e465338 73 // Les constantes d'état
jmambroi 0:3f519e465338 74 const uint8_t ARRETE = 0;
jmambroi 0:3f519e465338 75 const uint8_t EN_ATTENTE = 1;
jmambroi 0:3f519e465338 76 const uint8_t EN_MARCHE = 2;
jmambroi 0:3f519e465338 77 const uint8_t EN_PAUSE = 3;
jmambroi 0:3f519e465338 78
jmambroi 0:3f519e465338 79 // Constantes pour les boutons
jmambroi 0:3f519e465338 80 const uint16_t posXBoutonHaut = 280;
jmambroi 0:3f519e465338 81 const uint16_t posYBoutonHaut = 25;
jmambroi 0:3f519e465338 82 const uint16_t largeurBouton = 180;
jmambroi 0:3f519e465338 83 const uint16_t hauteurCadreBouton = 40;
jmambroi 0:3f519e465338 84 const uint16_t hauteurBouton = hauteurCadreBouton - 1;
jmambroi 0:3f519e465338 85 const uint16_t arrondiBouton = 5;
jmambroi 0:3f519e465338 86
jmambroi 0:3f519e465338 87 // Les constantes des écrans
jmambroi 0:3f519e465338 88 const uint8_t ECRAN_ACCUEIL = 0;
jmambroi 0:3f519e465338 89 const uint8_t ECRAN_MARCHE = 1;
jmambroi 0:3f519e465338 90 const uint8_t ECRAN_ATTENTE = 2;
jmambroi 2:96d32c19b5be 91 const uint8_t ECRAN_REGLAGE_DESSICCATEUR = 3;
jmambroi 0:3f519e465338 92 const uint8_t ECRAN_REGLAGE_HORLOGE = 4;
jmambroi 0:3f519e465338 93 //const uint8_t ECRAN_ = ;
jmambroi 0:3f519e465338 94
jmambroi 0:3f519e465338 95 #endif // _MAIN_HPP