IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

[Projet Etudiant] Presse à injection de plastique manuelle, système de thermostat


Sujet :

Arduino

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2020
    Messages : 5
    Points : 4
    Points
    4
    Par défaut [Projet Etudiant] Presse à injection de plastique manuelle, système de thermostat
    bonjour,

    Je suis étudiant en génie mécanique et productique et j'ai un projet à rendre dans peu de temps.
    La partie qui me pose problème dans ce projet c'est l'électronique et la programmation arduino.

    Je n'ai jamais fait de programmation arduino et je n'aurais jamais le temps d’apprendre correctement avant la fin du projet.

    Pour ce qui est du projet, en bref:
    nous devons faire une presse manuelle pour injecter des morceaux de plastiques recyclés et pour ça nous devons concevoir un mécanisme adéquat pour la mise en pression du plastique avec un moule et un système électronique pour la chauffe et les réglages.
    pour la mécanique tout est fait il n'y a pas de problèmes mais l'électronique stagne.

    cahier des charges partie électronique:
    - mise sous tension du système depuis un interrupteur général
    - choix de la température de chauffe selon la température de fonte du plastique choisit avec un potentiomètre
    - relevé en direct de la température de chauffe de la buse d'injection avec une sonde
    - visualisation des informations et paramètres sur écran lcd
    - système de chauffe par résistance électrique
    - validation du paramètre température par bouton poussoir indépendamment du potentiomètre
    - après validation le système de chauffe s'active et une LED s'allume pour annoncer la chauffe
    - quand la valeur relevé par la sonde atteint la valeur sélectionné, un buzzer émet un bruit

    pour les résistances chauffantes nous avons deux colliers chauffants de 390W en 230V AC, et on pensait les controller à l'aide d'une arduino uno et d'un module relais 5V.
    la sonde utilise la bibliothèque MAX6675

    Nom : DSC_0082[1].jpg
Affichages : 1747
Taille : 664,0 Ko


    j'ai fait un peu de branchements mais je suis rapidement bloqué.

    Nom : DSC_0083[1].jpg
Affichages : 1619
Taille : 701,0 Ko


    et pour ce qui est du code j'en est aussi commencé un mais je suis bloqué à l'étape: faire varier une valeur sur un écran lcd avec un potentiomètre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    #include <LiquidCrystal.h>
    #include <max6675.h>
     
    LiquidCrystal lcd(12,11,10,9,8,7);
     
    int potentiometre = A0; //la consigne du potentiomètre connectée sur la PIN analogique 0
    int valeurpot = 0; // variable de mémorisation du résultat brut d potentiométre
    //int y="T°voulut";
     
    //int buzzer = pin?;
    //int led = pin?;
    //int relais = pin?;
     
    int thermoDO = 4;  // Data Out Port SPI sur 4-5-6
    int thermoCS = 5;  //Chip Select
    int thermoCLK = 6;  //Clock
     
    void setup()
    {
      max6675.begin(); // pas sur,mais je pensais qu'il fallait activer la sonde
      float temperature = thermocouple.readCelsius();
     
      lcd.begin(16,2);
     
      lcd.setCursor(0,1);
      lcd.print("T°sonde:");
      lcd.setCursor(0,0);
      lcd.print("T°voulut:");
     
    }
     
    void loop()
    {
      if (temperature<y) // température sonde < à température sélectionné
      {
        lcd.noDisplay; // clignotement de l'écran pendant la monté en température
        delay(200);
        lcd.display;
        lcd.setCursor(10,1);
        lcd.print(temperature);
        lcd.print("°C");
        lcd.setCursor(10,0);
        //lcd.print(y); // variable définit par potentiomètre
        delay(1000);
      }
      else
      {
        lcd.setCursor(10,1);
        lcd.print(temperature);
        lcd.print("°C");
        lcd.setCursor(10,0);
        //lcd.print(y); // variable définit par potentiomètre
        delay(1000);
      }
     
    }
     
    /* reste à inclure les codes pour:
     - potentiomètre
     - led
     - buzzer
     - relais/*

    Je vous en serais vraiment reconnaissant si vous m’aidiez à finaliser ce projet!! merci.

  2. #2
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 711
    Points : 5 390
    Points
    5 390
    Par défaut
    Le cahier des charges ne dit pas si on peut modifier la t° après lancement du process, on va supposer donc que non...
    Dans ce cas vous avez un certain nombre d'étapes séquentielles:

    étape 1:
    - mise sous tension du système depuis un interrupteur général
    ==> c'est le bouton qui va allumer l'Arduino et tout le reste. L'arduino exécute son setup() qui met le système en place et passe en étape 2

    étape 2:
    - choix de la température de chauffe selon la température de fonte du plastique choisit avec un potentiomètre
    ==> le programme affiche simplement la valeur (transformée) du potard sur l'écran tant que le bouton de validation n'est pas appuyé. lors de l'appui on passe en étape 3.

    étape 3:
    - validation du paramètre température par bouton poussoir indépendamment du potentiomètre

    ==>allumage de LED
    ==>monitoring et affichage de la t°
    ==> quand la t° est bonne faire beep et passer à l'étape 4

    étape 4:
    ==>jouer avec les relais, en les allumant et éteignant pour maintenir la T° au Niveau du seuil.
    ==>éventuellement regarder la notion de PID et la librairie associée

    Pour vous simplifier la vie, utilisez des librairies, en voici une une pour un bouton (gère les rebonds) sinon il y aussi la librairie OneButton qui permet d'associer une fonction à une action sur le bouton

    ——————————————————————————————

    la structure du code pourrait donc ressembler à cela (je référence la libraire simpleBouton.h) et le bouton est câblé sur la pin N° 7 et le potard sur A0

    J'ai tapé cela au kilomètre ici, il se peut qu'il y ait des erreurs de syntaxe voire des bugs ! et il y a bcp de choses à rajouter pour que ça fonctionne, on ne va pas le faire à votre place, ce serait tricher. C'est pour vous mettre sur la voie et bien structurer le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    #include <LiquidCrystal.h>
    LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
    
    #include <simpleBouton.h> // https://forum.arduino.cc/index.php?topic=375232.0
    const byte pinBoutonValidationTemperature = 7; // bouton sur pin numérique 7
    simpleBouton boutonValidation(pinBoutonValidationTemperature);  //Cablage : pin---BP---GND
    
    
    const byte pinPotentiometre = A0; //la consigne du potentiomètre connectée sur la PIN analogique 0
    int temperatureCible = -100;
    int temperatureSonde = -100;
    
    byte numeroEtape = 1; // on en est au setup()
    
    // ----------------------
    
    void etape2()
    {
      lcd.clear(); // on s'assure que l'écran est effacé
      lcd.setCursor(0, 0);  // Col 0, Ligne 0
      lcd.print("T Cible:"); // caractère en colonnes 0 à 7, prochain caractère dispo en 8
      numeroEtape = 2;
    }
    
    int lireTemperatureCible()
    {
      int nouvelletemperatureCible = map(analogRead(pinPotentiometre), 0, 1024, 50, 251); // entre 50° et 250°
      if (nouvelletemperatureCible != temperatureCible) {   // si la température a changé, on l'affiche (évite le clignottement)
        char affichage[6]; // la t° est entre 50 et 250 donc tient sur 3 caractères, avec 2 en plus pour le " C" et un caractère nul de fin de chaîne
        temperatureCible = nouvelletemperatureCible;
        sprintf(affichage, "%3d C ", temperatureCible); // http://www.cplusplus.com/reference/cstdio/sprintf/?kw=sprintf
        lcd.setCursor(8, 0); // Col 8, ligne 0
        lcd.print(affichage);
      }
      return temperatureCible;
    }
    
    // ----------------------
    
    void etape3()
    {
      /* ALLUMER LA LED */
      // ... A VOUS DE JOUER
    
      /* préparer l'affichage */
      lcd.clear(); // on s'assure que l'écran est effacé
      lcd.setCursor(0, 0);
      lcd.print("Obectif:");
    
      char affichage[6]; // la t° est entre 50 et 250 donc tient sur 3 caractères, avec 2 en plus pour le " C" et un caractère nul de fin de chaîne
      sprintf(affichage, "%3d C ", temperatureCible); // http://www.cplusplus.com/reference/cstdio/sprintf/?kw=sprintf
      lcd.setCursor(8, 0); // Col 8, ligne 0
      lcd.print(affichage);
    
      lcd.setCursor(0, 1);
      lcd.print("Sonde:");
    
      numeroEtape = 3;
    }
    
    int lireSonde()
    {
      int nouvelletemperatureSonde = 20; /* à vous de jouer pour lire la vraie valeur */
    
      if (nouvelletemperatureSonde != temperatureSonde) {   // si la température a changé, on l'affiche (évite le clignottement)
        char affichage[10]; // on va dire que la t° est entre -99 et 999° donc tient sur 3 caractères, avec 2 en plus pour le " C" et un caractère nul de fin de chaîne --> 6 mais on prend 10 "au cas où"
        temperatureSonde = nouvelletemperatureSonde;
        sprintf(affichage, "%3d C ", temperatureSonde); // http://www.cplusplus.com/reference/cstdio/sprintf/?kw=sprintf
        lcd.setCursor(6, 1);
        lcd.print(affichage);
      }
      return temperatureSonde;
    }
    
    // ----------------------
    
    void etape4()
    {
      /* FAIRE BEEP */
      // ... A VOUS DE JOUER
    
      numeroEtape = 4;
    }
    
    void maintenirTemperature()
    {
      // code du PID de maintient à T°
      // ... A VOUS DE JOUER
    
      return temperatureSonde;
    }
    
    
    // ----------------------
    
    void setup()
    {
      lcd.begin(16, 2);
      // autres initialisations 
      // ... A VOUS DE JOUER
    
      // rien d'autre à initialiser, on passe en étape 2
      etape2();
    }
    
    
    void loop()
    {
    
      // machine à état en fonction du numéro d'étape
      switch (numeroEtape) {
        case 2:
          lireTemperatureCible();
          if (boutonValidation) etape3(); // on passe à l'étape suivante lors de l'appui
          break;
    
        case 3:
          lireSonde();
          if (temperatureSonde >= temperatureCible) etape4(); // on a atteint la T° de référence, on passe à l'étape suivante
          break;
    
        case 4:
          lireSonde();
          maintenirTemperature();
          break;
    
        default: // cas inconnu, on ne fait rien
          break;
      }
    
    }
    l'extinction de la machine se fait en coupant le courant, ce qui éteint l'Arduino. Le code ne prévoit pas de gestion d'autres boutons pour repartir à l'étape 2, mais tel que c'est structuré ce ne serait pas difficile à rajouter.


    à vous de jouer...

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2020
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    merci Jay M pour votre contribution!

    J'ai regardé la notion de PID mais je pense que pour cette année je vais y faire une impasse car beaucoup trop compliqué ! Je m'y tournerai surement pendant les vacances d'été ou je serais plus tranquille. pour le moment simplement monter la température un peu au dessus du seuil du plastique en question suffira à gérer la variation de température.

    Après il y a plusieurs choses dont j'ai du mal à cerner!?

    - comment ce fait-il que l'allumage de la LED se retrouve au dessus du reste? Cela veut dire qu'elle va s'allumer dès la mise en tension de la machine sans distinction de la procédure de chauffe ou d'attente de paramètres?!
    normalement elle s'allumer en même temps que le lancement de la procédure de chauffe.

    - ce que j'ai compris de votre code c'est que vous faites en quelques sortes des encapsulations d'étapes avec "void" (allumage led, chauffe des colliers chauffant, buzzer,... tous de manière indépendante, chacune ont leurs codes propres) et vous appelez les étapes dans la boucle de fonctionnement normal selon le besoins. ce que l'on peu appeler des macros il me semble non?

  4. #4
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 711
    Points : 5 390
    Points
    5 390
    Par défaut
    Bonjour

    La position des fonctions (ce que vous appelez macros) dans le code ne définit pas l’ordre d’exécution

    Il semble que vous manquiez vraiment de bases sur la programmation, prenez une ou deux heures pour suivre un cours d’introduction sur le langage C. Ça vous sera aussi nécessaire pour votre soutenance de projet.

    L’ordre D’exécution est défini par la structure du programme et dans cet univers Arduino à l’allumage la fonction setup() est appelée (et donc elle même appelle d’autres fonctions) puis ensuite la fonction loop() va être appelée en boucle infiniment jusqu’à ce que vous coupiez le courant.

    Si vous suivez «*à la main*» donc le setup puis ensuite faites tourner la loop vous verrez comment ça marche


    Concernant le PID, OK c’est un peu compliqué mais combien de temps doit votre système rester en température cible ? Si c’est juste - on chauffe et quand c’est prêt ça sonne et on éteint, ce n’est pas la même chose que on chauffe et quand c’est à température on maintient la température. Si vous ne coupez pas le courant de temps en temps vous allez continuer à chauffer et donc dépasser la consigne... donc il faudra une régulation. La régulation de base consiste à couper le courant par exemple quand vous êtes 1 degré au dessus de la consigne puis de laisser refroidir et de remettre le courant quand vous êtes tombé un degré en dessous de la consigne, comme ça vous oscillerez autour de cette consigne. (Le PID permet d’optimiser cette oscillation)

  5. #5
    Membre actif

    Inscrit en
    Octobre 2010
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 168
    Points : 241
    Points
    241
    Par défaut
    Bonjour Loan, j'avais dans l'idée de faire un projet similaire. Est il possible d'avoir une photo de la mécanique ?
    Personnellement j'aime bien ce projet.

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2020
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    bonjour laurent la partie mécanique n'est pas encore complète. la conception est terminé mais il nous reste encore pas mal de pièces à usiner et à souder. Le projet est censé se terminer en mars donc je reviendrai vers vous quand nous aurons finalisé la mécanique!

    Très belle presse cnc se disant passant. système d'éjecteurs, vis pour pousser les granulé ... excellent!!

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2020
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    quelqu'un peut t'il me dire pourquoi je n'arrive pas à allumer ma led en appuyant sur le bouton poussoir?

    normalement le programme dit qu'une led doit s'allumer quand j'appuis une fois brève sur le bouton poussoir et doit s'éteindre si je refais un appui bref. en plus de ça je suis censé voir sur le terminal l'état du pin 2 qui est en pull-up. et il reste toujour a 1 même si j'appuis.


    Nom : interrupteur.png
Affichages : 1473
Taille : 224,9 Ko


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    /*
    le bouton poussoir est connecté au pin 2 pour un mode INPUT_PULLUP
    la Led est connectée au pins 4 avec une résistance de 220Ω
    */
     
    //déclaration des variables
    int bouton = 2;
    int LED = 4;
    boolean etatAllumage;
    void setup()
    {
      //initialisation des variables
      Serial.begin(9600);
      etatAllumage=0;
      //définition des modes
      pinMode(bouton, INPUT_PULLUP);
      pinMode(LED, OUTPUT);
    }
    void loop()
    {
      Serial.print(etatAllumage);
     
      if (etatAllumage) //on teste si etatAllumage est à 1
      {
        digitalWrite(LED, HIGH);//on allume la LED
      }
      else //sinon
      {
        digitalWrite(LED, LOW); //on éteint la LED
      }
      //lecture de l'état du bouton et stockage dans etatBouton
      boolean etatPinBouton = digitalRead(bouton);
      Serial.println(etatPinBouton);
      //test des conditions
      if (!etatPinBouton)//si bouton appuyé (donc le pin indique 0 car il est en mode INPUT_PULLUP)
      {
        if (etatAllumage) //si etatAllumage à 1
        {
          etatAllumage=0; //on le passe à 0
        }
        else //sinon
        {
          etatAllumage=1; //on le passe à 1
        }
      }
      delay(200);
    }

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2020
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    C'est bon j'ai réussit à finir toute la partie électronique de la presse. je vous donne le schéma et le code pour ceux que ça intéresse.

    Nom : montage.jpg
Affichages : 1647
Taille : 1,06 Mo

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    #include <SPI.h>
    #include <LiquidCrystal.h>
     
    LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
     
    #define MAX6675_CS   3
    #define MAX6675_SO   4
    #define MAX6675_SCK  2
     
    int Potentiometre = A0; // le potentiometre est définit au pin analogique 0
    int valPotentiometre = 0; // variable devant stocker les valeurs de tension du potentiometre, initialisé à 0
     
    int Relais = 5; //variable pour le pin qui commande le relais
     
    double readPotentiometre()
    {
      valPotentiometre = analogRead (A0); // les valeurs de potentiometre lue en A0 sont stocké dans "valPotentiometre" varie entre 0 et 1023
     
      // on souhaite des températures en celsius allant de 0°C à 450°C
     
      double valTemperature = map (valPotentiometre,0,1023,0,450); // transformation des valeurs du potentiometre en °C par mapage
      return valTemperature;
    }
     
    double readThermocouple()
    {
     uint16_t v;
      pinMode(MAX6675_CS, OUTPUT);
      pinMode(MAX6675_SO, INPUT);
      pinMode(MAX6675_SCK, OUTPUT);
     
      digitalWrite(MAX6675_CS, LOW);
      delay(1);
     
      // Lecture en 16 bits,
      //   15 = 0 toujours
      //   14..2 = 0,25 degré compte MSB First
      //   2 = 1 si le thermocouple est en circuit ouvert  
      //   1..0 = statut inintéressant
     
      v = shiftIn(MAX6675_SO, MAX6675_SCK, MSBFIRST);
      v <<= 8;
      v |= shiftIn(MAX6675_SO, MAX6675_SCK, MSBFIRST);
     
      digitalWrite(MAX6675_CS, HIGH);
      if (v & 0x4) 
      {    
        // Le bit 2 indique si le thermocouple est déconnecté
        return NAN;     
      }
     
      // Les trois bits inférieurs (0,1,2) sont des bits d'état rejetés
      v >>= 3;
     
      // Les bits restants sont le nombre de comptages de 0,25 degré (C)
      return v*0.25;
    }
     
    int TemperatureBuse()
    {
      lcd.setCursor(0,1);
      lcd.print("T buse ");
      lcd.setCursor(9,1);
      lcd.print ("    ");
      lcd.setCursor(9,1);
      lcd.print(readThermocouple());
      lcd.setCursor(15,1);
      lcd.print("C");
     
      /*Serial.print("T buse ");
      Serial.println(readThermocouple());
      Serial.println(" C"); */
     
    }
     
    int TemperatureChoix()
    {
      valPotentiometre = analogRead (A0); // les valeurs de potentiometre lue en A0 sont stocké dans "valPotentiometre" varie entre 0 et 1023
     
      // on souhaite des températures en celsius allant de 0°C à 450°C
     
      int valTemperature = map (valPotentiometre,0,1023,0,450); // transformation des valeurs du potentiometre en °C par mapage
     
        lcd.setCursor(0,0);
        lcd.print("T voulue ");
        lcd.setCursor(9,0);
        lcd.print ("    ");
        lcd.setCursor(9,0);
        lcd.print (valTemperature); // juste apres fait apparaitre la valeur de température lue du potentiometre
        lcd.setCursor(15,0);
        lcd.print("C"); // juste après fait apparaitre "°C"
     
     
     /*Serial.print("T voulue "); // fait apparaitre "température choisit" sur la console
     Serial.println (valTemperature); // juste apres fait apparaitre la valeur de température lue du potentiometre
     Serial.println("C"); // juste après fait apparaitre "°C"*/
     
    }
     
    void setup() {
     
       lcd.begin(16,2);
     
         pinMode(Relais,OUTPUT); //pin en mode OUTPUT
     
     
     //Serial.begin(9600);
    }
     
    void loop() {
    TemperatureChoix();
    TemperatureBuse();
     
    if (readThermocouple() < (readPotentiometre() +2))
    {
      digitalWrite(Relais,HIGH); // on commande l'allumage
    }
     else if (readThermocouple() > (readPotentiometre() +5))
    {
      digitalWrite(Relais,LOW); // on commande l'extinction
    }
     
    delay(1000);
    }

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2020
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour Loan, je suis également étudiant en GMP et j'ai un projet semblable. Pourrez tu nous partager des photos de ton projet final et nottament de la presse ? Quelle est sa capacité en terme de volume de plastique ? Merci

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/05/2018, 10h17
  2. Projet Etudiant : Recherche intégrateur Web !
    Par clement.labre dans le forum Autres
    Réponses: 0
    Dernier message: 23/09/2014, 21h14
  3. Projet Etudiant
    Par ASEN49 dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 05/03/2012, 21h33
  4. [cherche projet] Etudiant développement
    Par Warfdog dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 21/10/2010, 00h02
  5. Aide pour projet etudiant
    Par f90_pour_debutan dans le forum Fortran
    Réponses: 0
    Dernier message: 19/03/2010, 13h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo