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 :

Arduino et WinDev + thermocouple


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2023
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2023
    Messages : 30
    Par défaut Arduino et WinDev + thermocouple
    Bonjour,
    Je souhaite piloter la température à l'intérieur d'un four.
    Pour cela j'ai repéré une sonde K + une carte MAX6675

    Je voudrais récupérer avec un soft WINDEV les données de température.
    Le soft WINDEV va donner l'information à la carte d'ouvrir ( ou fermer ) un relais ( en fait les résistances électriques )

    Je ne sais pas quelle carte acheter
    Je suis complètement ignorant des utilitaires à mettre en place dans la carte ( Ni comment les installer.
    Je ne sais pas non plus lire les données de la carte avec WINDEV, ni quel code à renvoyer à la carte pour basculer le relais.

    Quelqu'un a t il déjà fait cela ? et qui aurait les codes ARDUINO et WINDEV ?

    Peut on me renseigner sur la carte à acheter ?

    Avec tous mes remerciements
    Bien cordialement
    Eric

  2. #2
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 908
    Par défaut
    n'importe quelle carte Arduino pourra piloter un relai

    comment envisagez vous la communication entre votre PC et la carte Arduino? sera-t-elle branchée en USB sur le PC? (et avez vous vraiment besoin du PC?)

  3. #3
    Membre averti
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2023
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2023
    Messages : 30
    Par défaut
    Je souhaiterais brancher le PC en USB
    Je souhaite pouvoir créer des courbes de chauffe et enregistrer la courbe réellement suivie par le four..
    La température instantanée servira à l'asservissement du four et à enregistrer la courbe réelle.

    Le PC me simplifiera (Enfin je pense ) le code. A part la communication avec la carte je maitrise WINDEV et je pourrai modifier et faire évoluer facilement. En plus avec le PC j'aurai de fait un affichage de la conduite de la période de chauffe.

    J'utiliserai pour cela un PC portable ancienne génération dont je ne me sert plus et qui sera dédié au four.

  4. #4
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 908
    Par défaut
    A part la communication avec la carte je maitrise WINDEV
    il suffit de regarder comment ouvrir un port série et lire et écrire dedans

    idem pour le code arduino (il y a pas mal de tutos sur internet pour la gestion du port série)

  5. #5
    Membre averti
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2023
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2023
    Messages : 30
    Par défaut
    Ben, si qq avait un code tout prêt ça m'éviterait de me planter. J'ai vu des tutos et ça n'a pas l'air d'être si simple.

    Pour la carte une carte n'importe laquelle, plus une carte relai ( Je vais regarder ce qui existe; et si je ne trouve pas assez d'Ampères, le fais avec un autre relai en cascade )

  6. #6
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 908
    Par défaut
    je n'utilise pas le produits de microsoft donc je ne peux pas être utile de ce côté là....

  7. #7
    Membre averti
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2023
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2023
    Messages : 30
    Par défaut
    Merci quand même. C'est une piste.
    Comme je suis un tantinet flémard je vais attendre un peu, on sait jamais si qq passe par là et a pitié ...!

  8. #8
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 197
    Billets dans le blog
    47
    Par défaut
    Bonsoir,

    Tu peux commencer à lire cette ancienne discussion dans le forum WinDev : [WD17]communication arduino et windev

  9. #9
    Membre averti
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2023
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2023
    Messages : 30
    Par défaut
    Super bueno.

    Je vais me procurer une carte et le thermocouple pour tester.
    J'ai encore un flou sur la façon d'envoyer le code dans la carte; mais pour ça je pense que je vais trouver des tutos.

    Si jamais, en cas de soucis (de détail ) je me permettrais de revenir sur le post.

    Et quand çà marchera, je posterai une belle courbe...

    En attendant, merci beaucoup.

    Bonne journée.
    Eric.

  10. #10
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 908
    Par défaut
    Citation Envoyé par misere Voir le message
    J'ai encore un flou sur la façon d'envoyer le code dans la carte; mais pour ça je pense que je vais trouver des tutos.
    l'IDE arduino fait cela pour vous, il suffit de cliquer sur un bouton après avoir choisi le bon port série et le bon type de carte Arduino

  11. #11
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 908
    Par défaut
    On ne lit pas les infos d’un DHT11 avec un analogRead…

    Prenez une bibliothèque et regardez les exemples

  12. #12
    Membre averti
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2023
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2023
    Messages : 30
    Par défaut
    Dans un premier temps c'est ce que j'avais fait. J'avais lu avec la bibliothèque et afficher la température dans l'IDE. Ca marchait parfaitement
    C'est parce que j'ai eu le problème en récupérant les valeurs avec Windev que j'ai essayé de faire une lecture directe sans la bibliothèque.

    Du fait que j'ai eu les mêmes résultats je ne suis pas revenu sur le code avec la bibliothèque.

    Mais vous avez sûrement raison. Je vais revenir à mon code initial pour avoir (peut-être) les bonnes valeurs. Mais apparemment il ne s'agit que d'un coefficient entre les deux méthodes.
    Je vais tester tout çà maintenant que je peux lire un résultat

  13. #13
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 908
    Par défaut
    ah c'est windaube qui récupère mal ce qui arrive sur le port série, c'est ça ? l'arduino sera en 9600 bauds, 8N1

    le code arduino est fonctionnel
    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
     
    float Temperature;
    int CapteurVal;
    float Tension;
     
    void setup() {
     Serial.begin(9600);
    }
     
    void loop() {
      CapteurVal = analogRead(2);
      Tension = (CapteurVal/1024.0)*5.0;
      Temperature = (Tension-.5)*100;
     
      // Vider le buffer de sortie série avant d'y envoyer la nouvelle valeur
      Serial.flush();
      Serial.print (Temperature);
     
      delay(3000);
    }
    il pourrait être simplifié (pas besoin de toutes ces variables globales)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void setup() {
      Serial.begin(9600);
    }
     
    void loop() {
      int valeurCapteur = analogRead(2);
      float tension = (valeurCapteur / 1024.0) * 5.0;
      float temperatureC = (tension - 0.5) * 100;
      Serial.println(temperatureC); // on met println pour avoir un passage à la ligne
      delay(3000);
    }
    côté windev vous pourriez sans doute (en supposant que le lien série soit sur COM5) faire

    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
     
    SerialPort: Handle
    Buffer: string = ""
    CaractereLu: string
     
    // Ouverture du port série COM5 à 9600 bauds en 8N1 (par défaut)
    SerialPort = SerialOpen("COM5", 9600)
     
    IF SerialPort <> -1 THEN
        WHILE TRUE
            SerialRead(SerialPort, CaractereLu)
            Buffer += CaractereLu
     
            IF Buffer = "FIN" THEN
                BREAK // Quitter la boucle
            END
     
            IF CaractereLu = '\n' THEN
                Info(Buffer, "Message reçu")
                Buffer = "" // Réinitialiser le tampon pour le prochain message
            END
        END
     
        SerialClose(SerialPort)
     
    ELSE
        Error("Impossible d'ouvrir le port série COM5.")
    END
    vous devriez voir les messages et si l'arduino envoie FIN alors le code s'arrête

  14. #14
    Membre averti
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2023
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2023
    Messages : 30
    Par défaut
    Pendant que vous répondiez à mes difficultés, je suis allé vérifier ce que ça donnait en changeant la parité de 1 à 0

    Je suis allé aussi chercher les caractéristiques du capteur de température. Je crois que c'est un DHT11 mais je n'en suis pas sûr vu que j'ai reçu ce capteur dans un lot avec la carte UNO avec 25 autres dont certains que je n'ai pas repéré. Celui que j'utilise ressemble beaucoup ( forme et couleur à un DHT11)

    Il a une plage de 0 à 50° et je suppose de 0 à 1024. J'ai donc modifié le code ARDUINO pour le calcul de la température à renvoyer, et j'ai mis un délai de 30000 sur la boucle loop()

    J'ai une surprise : Je viens d'apprendre que chez moi j'ai 193.25 °C ( C'est chaud ! )

    Je vais tester vos code Windev.
    Les variables qui ne servent pas dans le code ARDUINO, c'est que j'ai fait un wagon d'essais quand le code me renvoyait des trucs que je ne savais pas analyser...

  15. #15
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 908
    Par défaut
    attention aux apostrophes et guillemets

    un char se représente avec des apostrophes alors qu'une chaîne sera avec des guillemets (un tableau de caractères)

    essayez
    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
     
    // declaration des variables   Code ARDUINO
    int LedVerte = 9;
    char MessageRecu = '\0';
     
    void setup() {
     
      // Initailiser le moniteur série
      Serial.begin(9600);
      pinMode(LedVerte, OUTPUT);
    }
     
    void loop() {
      if (Serial.available() != 0) {
        MessageRecu = Serial.read();
        if (MessageRecu == '1') {
          // allume la led
          digitalWrite(LedVerte, HIGH);
        }
        if (MessageRecu == '2') {
          // éteint la led
          digitalWrite(LedVerte, LOW);
        }
      }
    }
    on peut simplifier en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    const byte LedVerte = 9;
     
    void setup() {
      Serial.begin(9600);
      pinMode(LedVerte, OUTPUT);
    }
     
    void loop() {
      switch (Serial.read()) { // retourne -1 quand il n'y  rien à lire
        case '1': digitalWrite(LedVerte, HIGH); break;
        case '2': digitalWrite(LedVerte, LOW); break;
        default: break; // on ignore les autres caractères ou le -1
      }
    }

  16. #16
    Membre averti
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2023
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2023
    Messages : 30
    Par défaut Merci
    Super. Ca fonctionne.

    Je ne sais comment vous remercier... MERCI, MERCI.

    Bonne soirée à tous, et je vous ferai un retour quand mon four fonctionnera.
    J'ai maintenant tout ce qu'il me faut.

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