[Programmation] Incroyable mais vrai: chatGPT vient de m'écrire un sketch pour Arduino
Discussion fermée
Affichage des résultats 1 à 21 sur 21

Incroyable mais vrai: chatGPT vient de m'écrire un sketch pour Arduino



  1. #1
    Yvan_Delaserge

    Incroyable mais vrai: chatGPT vient de m'écrire un sketch pour Arduino


    ------

    Bonjour,
    Au moyen d'un Arduino, je voudrais réaliser une interface entre mon PC et un récepteur radio.
    Le PC utilise son port RS232, sur lequel il envoie une commande qui indique au récepteur sur quelle fréquence il doit se caler.
    Le montage a été discuté sur ce forum dans un fil d'il y a deux mois.

    Je n'avais pas encore écrit le sketch pour l'Arduino, il fallait que je me remette dans le bain. La dernière fois que j'ai programmé un Arduino, c'était il y a plus de 5 ans.
    Mais hier, je tombe sur une info disant que chatGPT est capable d'écrire des sketch pour l'Arduino.
    Voulant en avoir le coeur net, j'ai fait l'essai.

    J'ai libellé ma question de la manière suivante:

    write code for an Arduino uno.
    Pin 10 is an input.
    Pins 5, 6 and 7 are outputs.
    Pins 5, 6 and 7 are at 0 Volts at startup.
    The Arduino receives data at 9600 Bd from a computer through an RS232 to TTL interface on its pin 10.
    When the Arduino receives the string F4, the Arduino makes output 5 positive.
    When the Arduino receives the string F1, the Arduino makes output 6 positive.
    When the Arduino receives the string F5, the Arduino makes output 7 positive.
    When the Arduino receives the string S, the Arduino makes all outputs low.

    et voici le sketch écrit en une minute par chatGPT:

    Code:
    const int inputPin = 10;
    const int outputPin1 = 5;
    const int outputPin2 = 6;
    const int outputPin3 = 7;
    
    void setup() {
      pinMode(inputPin, INPUT);
      pinMode(outputPin1, OUTPUT);
      pinMode(outputPin2, OUTPUT);
      pinMode(outputPin3, OUTPUT);
      digitalWrite(outputPin1, LOW);
      digitalWrite(outputPin2, LOW);
      digitalWrite(outputPin3, LOW);
      Serial.begin(9600);
    }
    
    void loop() {
      if (Serial.available() > 0) {
        String input = Serial.readString();
        if (input == "F4") {
          digitalWrite(outputPin1, HIGH);
        } else if (input == "F1") {
          digitalWrite(outputPin2, HIGH);
        } else if (input == "F5") {
          digitalWrite(outputPin3, HIGH);
        } else if (input == "S") {
          digitalWrite(outputPin1, LOW);
          digitalWrite(outputPin2, LOW);
          digitalWrite(outputPin3, LOW);
        }
      }
    }
    Comme je suis un peu rouillé question Arduino, je lui ai dit que la sortie du MAX232 arrivait sur la pin 10 de l'Arduino.

    En réalité, je crois qu'il faut la faire arriver sur la pin 1.
    Donc le vieil adage de l'informatique: GIGO pour "garbage in, garbage out" reste vrai.

    Mais pour le reste, je ne sais pas si vous êtes comme moi, mais moi, ça me troue le c...

    -----
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)

  2. #2
    Vincent PETIT
    Animateur Électronique

    Re : Incroyable mais vrai: chatGPT vient de m'écrire un sketch pour Arduino

    Bonjour,
    Il y a 1 mois je lui ai posé des questions de CEM contextualisées pour amener le piège classique "plan de masse unique ou masse en étoile" et bien il ne sait pas trompé et dans sa réponse il connaissait les problèmes des boucles de masse qui captent d'autant plus facilement les couplages inductifs.

    J'ai moi aussi été surpris de sa capacité à répondre dans un contexte donné.
    Là où il n'y a pas de solution, il n'y a pas de problème.

  3. #3
    Seb.26

    Re : Incroyable mais vrai: chatGPT vient de m'écrire un sketch pour Arduino

    Citation Envoyé par Yvan_Delaserge Voir le message
    Bonjour,
    Au moyen d'un Arduino, je voudrais réaliser une interface entre mon PC et un récepteur radio.
    Le PC utilise son port RS232, sur lequel il envoie une commande qui indique au récepteur sur quelle fréquence il doit se caler.
    Le montage a été discuté sur ce forum dans un fil d'il y a deux mois.

    Je n'avais pas encore écrit le sketch pour l'Arduino, il fallait que je me remette dans le bain. La dernière fois que j'ai programmé un Arduino, c'était il y a plus de 5 ans.
    Mais hier, je tombe sur une info disant que chatGPT est capable d'écrire des sketch pour l'Arduino.
    Voulant en avoir le coeur net, j'ai fait l'essai.

    J'ai libellé ma question de la manière suivante:

    write code for an Arduino uno.
    Pin 10 is an input.
    Pins 5, 6 and 7 are outputs.
    Pins 5, 6 and 7 are at 0 Volts at startup.
    The Arduino receives data at 9600 Bd from a computer through an RS232 to TTL interface on its pin 10.
    When the Arduino receives the string F4, the Arduino makes output 5 positive.
    When the Arduino receives the string F1, the Arduino makes output 6 positive.
    When the Arduino receives the string F5, the Arduino makes output 7 positive.
    When the Arduino receives the string S, the Arduino makes all outputs low.

    et voici le sketch écrit en une minute par chatGPT:

    Code:
    const int inputPin = 10;
    const int outputPin1 = 5;
    const int outputPin2 = 6;
    const int outputPin3 = 7;
    
    void setup() {
      pinMode(inputPin, INPUT);
      pinMode(outputPin1, OUTPUT);
      pinMode(outputPin2, OUTPUT);
      pinMode(outputPin3, OUTPUT);
      digitalWrite(outputPin1, LOW);
      digitalWrite(outputPin2, LOW);
      digitalWrite(outputPin3, LOW);
      Serial.begin(9600);
    }
    
    void loop() {
      if (Serial.available() > 0) {
        String input = Serial.readString();
        if (input == "F4") {
          digitalWrite(outputPin1, HIGH);
        } else if (input == "F1") {
          digitalWrite(outputPin2, HIGH);
        } else if (input == "F5") {
          digitalWrite(outputPin3, HIGH);
        } else if (input == "S") {
          digitalWrite(outputPin1, LOW);
          digitalWrite(outputPin2, LOW);
          digitalWrite(outputPin3, LOW);
        }
      }
    }
    Comme je suis un peu rouillé question Arduino, je lui ai dit que la sortie du MAX232 arrivait sur la pin 10 de l'Arduino.

    En réalité, je crois qu'il faut la faire arriver sur la pin 1.
    Donc le vieil adage de l'informatique: GIGO pour "garbage in, garbage out" reste vrai.

    Mais pour le reste, je ne sais pas si vous êtes comme moi, mais moi, ça me troue le c...
    Certes c'est pas mal, mais le sketch n'est pas fonctionnel ... ... il aurait quand même pu te faire un SoftwareSerial sur pin10 ...
    Dernière modification par Seb.26 ; 03/02/2023 à 17h33.
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  4. #4
    Pascal071

    Re : Incroyable mais vrai: chatGPT vient de m'écrire un sketch pour Arduino

    Bonsoir
    Serial.begin(9600); ne se sert pas de la pin 10,
    la com passe par votre câble USB et port COM virtuel du PC

  5. A voir en vidéo sur Futura
  6. #5
    Yvan_Delaserge

    Re : Incroyable mais vrai: chatGPT vient de m'écrire un sketch pour Arduino

    Comme je l'expliquais dans le fil precedent, le soft qui envoie la commande au recepteur est un abandonware qui utilise le port RS232, pas un port USB. Je suis donc oblige de passer par un MAX232 (que j'ai deja) et d'envoyer le signal TTL sur une des broches de l'Arduino.
    Je crois me rappeler que pour Serial.begin, par defaut c'est la broche 0, mais il faut que je verifie.
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)

  7. #6
    Pascal071

    Re : Incroyable mais vrai: chatGPT vient de m'écrire un sketch pour Arduino

    bonsoir
    sur arduino UNO, 1 seul port, 0(Rx) et 1(Tx)
    Plutôt qu'un logiciel obsolète non reproductible sur un autre PC,
    pourquoi ne pas utiliser plutôt arduino processing ?

  8. #7
    Yvan_Delaserge

    Re : Incroyable mais vrai: chatGPT vient de m'écrire un sketch pour Arduino

    Citation Envoyé par Pascal071 Voir le message
    bonsoir
    sur arduino UNO, 1 seul port, 0(Rx) et 1(Tx)
    Plutôt qu'un logiciel obsolète non reproductible sur un autre PC,
    pourquoi ne pas utiliser plutôt arduino processing ?
    De quel logiciel obsolete voulez-vous parler? De chatGPT?
    Ou de mon abandonware qui envoie les commandes au recepteur radio via l'Arduino?
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)

  9. #8
    Pascal071

    Re : Incroyable mais vrai: chatGPT vient de m'écrire un sketch pour Arduino

    Bonjour
    Je parlais du logiciel abandonware
    Cdlt

  10. #9
    Yvan_Delaserge

    Re : Incroyable mais vrai: chatGPT vient de m'écrire un sketch pour Arduino

    L'abandonware en question s'appelle wxtoimg.
    Et Arduino processing, c'est un programme? Quelles sont ses proprietes?
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)

  11. #10
    Murayama

    Re : Incroyable mais vrai: chatGPT vient de m'écrire un sketch pour Arduino

    Bonjour!

    Si c'est généré automatiquement, c'est vrai que c'est bien, mis à part peut-être le problème
    de pin10 évoqué plus haut.
    Mais...
    C'est écrit façon Arduino.
    Avantage, on peut câbler n'importe comment et compenser avec ls soft. Même si les pins
    d'un port parallèle (par exemple pour aller sur un afficheur 7 segment) n'appartiennent pas
    au même port, tout va bien, ça marche.
    Par contre, il faut des plombes pour écrire la moindre valeur.
    J'ai comparé il y a quelque temps digitalWrite(pin, val) et l'accès direct au port, par exemple
    PortA.0 |= 0x01 (set) ou PortA.0 &= 0x01 (reset) et on en est à plusieurs centaines de
    clocks vs 4 ou 5.
    Il y a pas mal de temps que je compte écrire une série d'articles sur le sujet mais bon, il
    faudrait que le temps suspende son vol...

    Bon, ben ça va être l'heure de la bouffe, ma Belle m'attend, et comme vous le savez
    certainement, pour bien dîner, il faut être peu.

    Pascal

  12. #11
    f6exb

    Re : Incroyable mais vrai: chatGPT vient de m'écrire un sketch pour Arduino

    Citation Envoyé par Murayama Voir le message
    Bonjour!

    pour bien dîner, il faut être peu.

    Pascal
    On pourrait se demander ce que tu bouffes !
    Seuls les faucons volent. Les vrais restent au sol.

  13. #12
    gienas
    Modérateur

    Re : Incroyable mais vrai: chatGPT vient de m'écrire un sketch pour Arduino

    Bonjour à tous

    Citation Envoyé par Yvan_Delaserge Voir le message
    ... Je n'avais pas encore écrit le sketch pour l'Arduino ...
    On pourrait croire qu’il y a erreur de forum et qu’on est dans le monde du cinéma ou du théâtre.

    Mais il n’en est rien.

    Pour ceux qui ne sont pas (encore) habitués, les programmes dans le monde d’Arduino sont appelés des sketches. Ça surprend un peu, au début, d’autant que c’est déjà le terme utilisé par les anglo-saxons. Je suppose que c’est parce que le mot a un sens aussi en français, qu’il n’à pas été remplacé.

  14. #13
    Yvan_Delaserge

    Re : Incroyable mais vrai: chatGPT vient de m'écrire un sketch pour Arduino

    Citation Envoyé par Murayama Voir le message
    Bonjour!

    Il y a pas mal de temps que je compte écrire une série d'articles sur le sujet mais bon, il
    faudrait que le temps suspende son vol...



    Pascal
    Ou publiez-vous vos articles habituellement?
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)

  15. #14
    Pascal071

    Re : Incroyable mais vrai: chatGPT vient de m'écrire un sketch pour Arduino

    Bonsoir
    Arduino Processing est une interface graphique dialoguant avec arduino (serial -via usb)
    cela permet de commander arduino par l'interface graphique,
    et aussi commander l'interface par l'arduino:
    affichage courbes, couleurs, texte, jauges, vu-mètre,
    commande arduino par tableau de bord à l'écran (IHM)
    tout projet graphique en lien avec arduino..

    Je ne suis pas sûr que cela vous soit vraiment utile, dans votre utilisation...

    Mais c'est un bon complément à arduino ide
    De plus son code est semblable au sketch arduino

    Cordialement

  16. #15
    Murayama

    Re : Incroyable mais vrai: chatGPT vient de m'écrire un sketch pour Arduino

    Bonjour!

    Ou publiez-vous vos articles habituellement?
    J'avais un site qui ne fonctionne plus depuis le passage à PHP7 ou 8, je ne sais plus,
    ce qui fait que Joomla n'était plus supporté. Il faudrait que je retrouve du temps
    pour le remettre sur pied.

    Mais pour en revenir à ce que je disais, il est possible sur Arduino (j'ai essayé) de taper
    directement les registres, comme on dit en Japonais. Bref, j'ai fait une boucle comme celle là:

    while(1) {
    digitalWrite(PINxx, 1); // Admettons pour la suite que c'est le bit 0 du port A.
    digitalWrite(PINxx, 0);
    }

    et j'ai comparé la fréquence à la sortie de PINxx avec cette boucle:

    while(1) {
    PortA |= 0x01; // Mise à 1 du bit 0 du port A sans changer les autres.
    PortA &= ~0x01;
    }

    C'est fascinant. Je ne voudrais pas dire plus de conneries qu'à l'habitude, mais
    je crois bien me souvenir que c'était de l'ordre de 300 clocks. Je n'ai rien noté,
    mais il me semble bien que c'était ça. Si quelqu'un essaie, ce serait bien de donner
    des résultats. Ça me paraît tellement énorme que j'ai l'impression que c'est faux.
    C'était sur un Arduino mega. On obtient un signal un peu plus grand en bas qu'en
    haut à cause du temps de la boucle, ce qui permet de mesurer le temps de
    l'instruction jump.
    Essayez, vous serez étonné. Je ne sais pas comment c'est écrit dans la lib, mais
    la perte de temps est énorme.

    Autre chose. En Arduino, on écrit les bits 1 par 1. Par exemple les 3 bits outputPin 1~3
    ci-dessus. En programmation classique microcontrôleur, on peut les changer les 4 à la
    fois. Mais il faut les brancher sur le même port (grouik, grouik), évidemment. Et Arduino
    cache les ports. Un peu comme dans les BDs de Gottlib (Et père y colle au zoo ce porc Jerzy).

    Exemple: PortA |= 0x0F: mise à 1 des bits 0~3 du port A. Instruction qui ne prend
    pas plus de temps que pour 1 seul bit.

    On pourrait se demander ce que tu bouffes !
    En tout cas, j'essaie d'être bien élevé: je ne bouffe jamais dans la louche.

    Pascal

  17. #16
    Seb.26

    Re : Incroyable mais vrai: chatGPT vient de m'écrire un sketch pour Arduino

    Citation Envoyé par Murayama Voir le message
    Bonjour!

    Si c'est généré automatiquement, c'est vrai que c'est bien, mis à part peut-être le problème
    de pin10 évoqué plus haut.
    Mais...
    C'est écrit façon Arduino.
    Avantage, on peut câbler n'importe comment et compenser avec ls soft. Même si les pins
    d'un port parallèle (par exemple pour aller sur un afficheur 7 segment) n'appartiennent pas
    au même port, tout va bien, ça marche.
    Par contre, il faut des plombes pour écrire la moindre valeur.
    J'ai comparé il y a quelque temps digitalWrite(pin, val) et l'accès direct au port, par exemple
    PortA.0 |= 0x01 (set) ou PortA.0 &= 0x01 (reset) et on en est à plusieurs centaines de
    clocks vs 4 ou 5.
    Il y a pas mal de temps que je compte écrire une série d'articles sur le sujet mais bon, il
    faudrait que le temps suspende son vol...

    Bon, ben ça va être l'heure de la bouffe, ma Belle m'attend, et comme vous le savez
    certainement, pour bien dîner, il faut être peu.

    Pascal
    Oui, c'est bien pour cela qu'il y a des libraries "fast gpio" qui vont plus vite (en faisant moins de contrôles/setup) ... mais pour le cas présent je ne vois pas bien l'intérêt ... ??

    Le net est prolifique à ce sujet ... 1 lien au hasard : https://timodenk.com/blog/port-manip...e-performance/

    Et si on veut aller encore plus vite, y'a les timer
    Dernière modification par Seb.26 ; 06/02/2023 à 11h05.
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  18. #17
    Bitrode

    Re : Incroyable mais vrai: chatGPT vient de m'écrire un sketch pour Arduino

    Citation Envoyé par gienas Voir le message
    On pourrait croire qu’il y a erreur de forum et qu’on est dans le monde du cinéma ou du théâtre.
    Mais il n’en est rien.
    Pour ceux qui ne sont pas (encore) habitués, les programmes dans le monde d’Arduino sont appelés des sketches.
    Je trouve que ça porte bien son nom au contraire
    "Et je téléverse mon programme" mdr....

    Déjà que les newbies faisaient des copié-collé à tirelarigot sans rien comprendre, alors là du coup ils ne vont même plus rien faire, ni rien apprendre.
    Ca ne va pas changer grand chose en fait.
    Dernière modification par Bitrode ; 06/02/2023 à 13h33.

  19. #18
    Seb.26

    Re : Incroyable mais vrai: chatGPT vient de m'écrire un sketch pour Arduino

    Citation Envoyé par Bitrode Voir le message
    Je trouve que ça porte bien son nom au contraire
    "Et je téléverse mon programme" mdr....

    Déjà que les newbies faisaient des copié-collé à tirelarigot sans rien comprendre, alors là du coup ils ne vont même plus rien faire, ni rien apprendre.
    Ca ne va pas changer grand chose en fait.
    Faut pas jeter le BB avec l'eau du bain ...

    il y aura des utilisations moins bling-bling ...

    un exemple ?

    << chat GPT, tu peux me rédiger la procédure qui pour un code postal du 93 en paramètre et dont le nom de la ville a 9 lettres me renvoie ce nom dans un buffer passé en paramètre ? et une chaine vide sinon >>

    S'il me sort le code en 10 minutes, je suis content ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  20. #19
    Bitrode

    Re : Incroyable mais vrai: chatGPT vient de m'écrire un sketch pour Arduino

    Oui quand tu es assis dan ta cuisine pourquoi pas.
    En revanche quand tu iras passer des certifications attends toi au pire sur le plan des résultats.
    C'est exactement la même chose avec arduino entre autres, les start-up qui se cassent la gueule parce qu'ils ont mis aux manettes techniques des demeurés qui confondent hobby et industrie.
    C'est pas faute de dénoncer depuis des années ces pseudos solutions.
    La meilleure preuve que ce ne sont pas des solutions est que certains enseignants poussent dans cette voie mortifère, et pas qu'au niveau collège ou Lycée.
    On le saurait depuis longtemps si les profs avaient une expérience industrielle, ça se ressentirait dans les profils, le niveau des stagiaires et les contenus des différents cursus.
    Résultat les boites sont obligées de reformater les moins mauvais CV qu'elles trouvent.

    Avec ChatGPT la chute sera terrible... c'est ce qui se passe quand on confond outils, moyens et méthodes.
    J'ai hâte d'assister à la gabegie à venir

  21. #20
    Patalf

    Re : Incroyable mais vrai: chatGPT vient de m'écrire un sketch pour Arduino

    C'est le code du siècle ça : Des déclaratives et une boucle avec 3 if imbriqués
    Demandez lui un programme qui joue aux echecs, allez non, juste au "puissance 4" ca devrait suffire à vous convaincre.

    Et sur le plan "recherche sur le web" c'est de la MOA ce truc : Mytho Assistée par Ordinateur.
    J'ai passé l'après midi à le tester sur la façon dont il perçoit le site de mon entreprise. A mourir de rire.
    D'abord il dit que c'est un site de crypto ...
    Je lui dit qu'il se trompe, que c'est de la traduction assermenté, il s'excuse d'avoir fait une erreur.
    Je lui redemande de quoi parle le site : de traduction assermentée.
    Je lui redemande un peu plus tard : de crypto !
    Quand il est dans une phase où il reconnait que c'est de la traduction assermentée, je lui demande de lister les experts et les langues traduites...
    Il sort une liste fantaisiste avec des Dupont et des Durand.
    Quand je lui dit de citer ces sources, il indique une adresse ... qui n'existe pas ou plus (un obscur PDF sur un site administratif).
    Quand je lui dit : et ce document (en redonnant son adresse bidon) disait quoi ? Il répond alors : une nomination d'avocat (et non plus d'expert judiciaire...)
    Je lui repose la question : ca devient un sous seing privé de Notaire !

    Je souhaite bonne chance à Microsoft qui annonce pouvoir doubler Google (qui fait beaucoup de merde aussi, mais quand même moins) en intégrant ChatGPT à Bing. Suite aux 3 heures que je viens de passer dessus, ils vont se ridiculiser comme jamais.

  22. #21
    gienas
    Modérateur

    Re : Incroyable mais vrai: chatGPT vient de m'écrire un sketch pour Arduino

    Bonjour à tous

    Cette discussion tourne en boucle dans sa loop() et n’a plus rien à nous apprendre.

    Autant la fermer.

Discussions similaires

  1. Science Po vient d'interdire l'usage de Chatgpt, et après ?
    Par sunyata dans le forum Discussions scientifiques
    Réponses: 133
    Dernier message: 01/02/2023, 10h27
  2. Réponses: 4
    Dernier message: 20/11/2014, 21h12
  3. incroyable mais vrai...
    Par inviteef58769c dans le forum Planètes et Exobiologie
    Réponses: 41
    Dernier message: 29/08/2007, 15h36
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...