Général ChatGPT pour écrire du code Arduino, réalité ou fiction?

  • Auteur de la discussion metalux
  • Date de début
M

metalux

Compagnon
Bonjour a tous

tout est dans le titre
pour un novice comme moi totalement réfractaire a la programmation (berk!..) est il réellement possible avec chat gpt de créer un code arduino pour une application robotique juste en précisant les besoins?

il semblerait que oui aux dires de certains forums arduino?
 
G

greg_elec

Compagnon
Jamais essayé j'ai justement un projet de thermometre-thermostat avec LCD à réaliser je vais tester
 
S

SCHERY

Nouveau
Bonjour,

Je code régulièrement en C++ pour Arduino avec ChatGPT, c'est un bon outil pour réaliser des morceaux de programme. Si les besoins sont suffisamment clairs et raisonnablement complexes, le code fourni est fonctionnel et lisible. Cependant, il y a quelques points à prendre en compte :

  • ChatGPT n'est pas toujours à jour avec les bibliothèques.
  • Le résultat obtenu est lié à la clarté de la demande. Il faut avoir une idée claire de ses besoins et ne pas hésiter à reformuler si nécessaire.
  • ChatGPT ne remplace pas le programmeur, il l'aide dans l'écriture du code. Ainsi, une compréhension de base de la programmation reste nécessaire, surtout en cas d'erreur, pour savoir où chercher. N'hésitez pas à demander à ChatGPT de commenter et expliquer le code pour une meilleure compréhension.
  • Il est nécessaire de tester et valider le code généré au fur et à mesure, comme en programmation classique, afin de détecter immédiatement les éventuelles erreurs ou incohérences.
En résumé, de mon point de vue, ChatGPT peut être un outil qui aide grandement en programmation, mais il faut avoir un minimum de connaissances de base et faire preuve de discernement dans l'utilisation du code généré. C'est un outil intéressant pour l'apprentissage du code si l'on fait l'effort de comprendre le code avec les explications et commentaires générés.
 
G

greg_elec

Compagnon
Donc ce n'est pas pour moi , car ma facon de programmer n'est pas assez structurée :
Je m'explique : je trouve rébarbatif de décrire et de déclarer toutes les fonctions à utiliser avant de commencer à programmer comme beaucoup de langages à partir des années 2000 .
exemple quand on voulais réaliser une liaison série en gwbasic cela prenait 3 lignes de configuration et ensuite on utilisait les ordres de lecture écriture en direct.
avec C# il faut une page de description avec des fonctions à rallonge avec pleins de points entre chaques mots et derriere il te faut 20 ou 30 lignes de code pour établir ta liaison série
 
G

Guy69

Compagnon
avec C# il faut une page de description avec des fonctions à rallonge avec pleins de points entre chaques mots et derriere il te faut 20 ou 30 lignes de code pour établir ta liaison série
raison de plus pour utiliser ChatGPT: ça te libère de tout ce fatras, et tu te concentres sur la correction du code généré.

Pour moi c'est la meilleure utilisation de l'IA (terme que je déteste).

Bonne journée
Guy
 
W

wika58

Compagnon
Bonjour,

Quand j'ai lu le titre, j'etais un peu perplexe...
Mais je viens de surfer un peu sur le sujet et j'ai vu des vidéos assez édifiantes...

Si c'est vraiment le cas c'est génial pour un novice comme moi.... j'ai des notions de programmations mais la syntaxe du C m'a tjrs été très dur å integrer...
 
V

vibram

Compagnon
j'ai fait mes derniers projets avec chatgpt ou Bard, ca va tres bien. Il faut souvent retoucher un peu mais ca permet d'avoir des bases.
Ne pas hesiter a reformuler car parfois il est quand meme a coté de la plaque
 
W

wika58

Compagnon
Merci...

Ca me donne envie de me remettre à l'Arduino.
J'ai des tas de petits projets, mais je galèrais tellement avec la syntaxe et les déclarations...
 
M

MegaHertz

Compagnon
Bonjour,

Ca marche bien pour un dévelopeur qui peut contrôler le code et pense en C mais pas pour quelqu'un qui ne sait pas encore programmer.
Notez tout de même que ChatGPT dans sa version gratuite s'appuie sur les pages Web jusqu'en 2022.
Et puis ChtGPT est très généraliste et sert plus souvent à écrire des conneries, des rédacs, des articles que du code.

Et en plus efficace : Github Copilot
C'est spécialisé code et c'est allimenté par tous les dépots Github ou on trouve justement la majorité du code Arduino du monde.
C'est efficace, ça fonctionne très bien mais c'est gratuit 30 jours et ensuite 10$ par mois.
 
W

wika58

Compagnon
Un exemple parmi bcp :

Il suffit de taper "Chat GPT AND Arduino" dans Google... et de regarder par exemple les vidéos YouTube...
 
J

jpbbricole

Compagnon
Bonjour greg_elec
exemple quand on voulais réaliser une liaison série en gwbasic cela prenait 3 lignes de configuration et ensuite on utilisait les ordres de lecture écriture en direct.
avec C# il faut une page de description avec des fonctions à rallonge avec pleins de points entre chaques mots et derriere il te faut 20 ou 30 lignes de code pour établir ta liaison série
Avec le langage Arduino, J'ai fait ce genre de liaison non pas avec gwbasic mais avec freebasic qui pilotait des moteurs pas à pas connectés à l'Arduino et ce n'est pas si compliqué que tu sembles le dire, si tu as exemple...

Excusez de cet hors sujet :wink:

Cordialement
jpbbricole
 
D

Dudulle

Compagnon
Pour avoir essayé plusieurs fois ça marche très bien pour créer une application bateau, un truc que tout le monde a fait et que l'on trouve sur le web, par contre dès que l'on veut ajouter des subtilités ChatGPT fait n'importe quoi, et on a beau lui signaler que ça ne va pas, il corrige son code, mais ne résout pas le problème.
Un exemple : Dernièrement je fais une petite appli pour enregistrer l'intervalle entre 2 battements cardiaques (l'intervalle RR) : ChatGPT me fourni un code impeccable, avec utilisation du timer intégré.
Je lui demande de rejeter les valeurs < 400 ms et > 1700 ms (moins de 35 et plus de 150 BPM), là encore résultat parfait
Je lui demande ensuite de calculer l'écart type sur cette valeur, il le fait mais retire le filtre des valeurs incohérentes
Je demande ensuite de calculer l'écart type et la fréquence moyenne toutes les 100 battements ; il le fait mais ça ne marche plus.

Après lui avoir demandé des corrections pendant près d'une heure, qui n'ont abouties à rien, j'ai fini par taper le code moi même, donc au final j'ai juste perdu du temps...

L'autre problème que je vois à l'utilisation de ChatGPT c'est que l'on va produire du code, mais sans savoir comment ça marche, donc sans comprendre certaines subtilités qui pourraient amener des bugs. Au final je ne trouve pas que ce soit une évolution.
 
V

vax

Modérateur
Pour moi utiliser cette solution implique de savoir décrire aussi parfaitement que possible les besoins.
Et quand on sait faire ça.... Ben on est pas loin d'avoir la solution et le savoir programmer.
Tu peux être le meilleurs programmeur de la planète, si tu n'as pas un bon cahier des charges tu feras rien de bon.
Et inversement, si tu as un cahier des charges parfaitement établi, retranscrire le programme est "presque simple".

Donc pourquoi pas utiliser l'IA si cela permet de trouver une solution à un moment (pour une subtilité de programation), mais autrement, je partage largement l'avis de @Dudulle :
L'autre problème que je vois à l'utilisation de ChatGPT c'est que l'on va produire du code, mais sans savoir comment ça marche, donc sans comprendre certaines subtilités qui pourraient amener des bugs. Au final je ne trouve pas que ce soit une évolution.

Après lui avoir demandé des corrections pendant près d'une heure, qui n'ont abouties à rien, j'ai fini par taper le code moi même, donc au final j'ai juste perdu du temps...
Si, tu en as cerné les limites, c'est instructif !
 
G

gégé62

Compagnon
une approche très instructive
article très intéressant !
Ce système me fait penser au GPS sur la route: c'est hyper-pratique, la plupart du temps. Par contre c'est difficile de faire les deux à la fois, suivre le GPS et se localiser sur la carte, donc quand le GPS plante, on est encore plus perdu que si on ne l'avait pas. Par exemple quand il y a une déviation imprévue.....
Mais chapeau pour la performance technique !
 
M

MegaHertz

Compagnon
article très intéressant !
Ce système me fait penser au GPS sur la route: c'est hyper-pratique, la plupart du temps. Par contre c'est difficile de faire les deux à la fois, suivre le GPS et se localiser sur la carte, donc quand le GPS plante, on est encore plus perdu que si on ne l'avait pas. Par exemple quand il y a une déviation imprévue.....
Mais chapeau pour la performance technique !
Bonjour,

Sur qu'avec un GPS générique dès que tu as un imprévu il merde.
Prends un TomTom d'occase et tu verras.
Ou encore mieux : l'appli TomTom pour 20E par an sur Android ou IPhone

Ben ChatGPT c'est pareil.
Ca fait la blague mais ça fait pas le boulot.
Pour coder il vaudra bien mieux demander à Github Copilot dont c'est le métier.

Et pour les devs qui stockent leur code sur Github :
Vous donnez implicitement l'autorisation à Microsoft d'utiliser votre code pour alimenter Copilot.
 
D

Doctor_itchy

Compagnon
attention , chatgtp 3.5 est plus limiter que le 4.0 certaine video sont faite avec le 4.0

c'est le jour et la nuit entre les deux (mais c'est 20€mois le 4.0 :mrgreen: )

on doit savoir ce que l'on veut , et procédé par etape si le code est complexe :)

il gere arduino , python, c++ , ect

mais ça reste un outils , il ne va pas faire le code parfait d'un coup , sauf si il est très simple :)
 
V

vieuxfraiseur

Compagnon
bonjour,
alors, les développeurs informatiques ont du soucis a se faire dans les années à venir ?...
 
F

f6exb

Compagnon
Si c'est toujours la même chose qui est réutilisé, le code va finir par s'appauvrir.
 
D

Doctor_itchy

Compagnon
vu la puissance du 4.0 , si ça continue a évoluer en ce sens sans doute oui !
 
L

lion10

Compagnon
Bonjour
Reprendre ou modifier un logiciel ce n'est pas évident sauf s'il y a un respect de certaines normes de codages et cela dépend de celui qui l'a fait.
En industrie la phase de spécification prend pas mal de temps selon les exigences de détails.

Ici l'IA va coder pour le demandeur mais que se passe-t-il après quand il s'agit de relire le code pour le comprendre et l'améliorer ou le corriger ?
C'est peut être une solution pour celui qui n'aime pas trop en faire, mais s'il n'aime pas cette activité au point de ne pas chercher à comprendre, mieux vaut qu'il n'y ait pas une machine dangereuse commandée par le logiciel.

Une approche serait de demander une toute petite fonctionnalité puis ensuite d'en demander une autre si l'iA est capable de faire du développement incrémental en ne partant pas de zéro avec un code différent à chaque demande du codeur; cela permettrait peut être au demandeur d’appréhender le logiciel d'une manière plus confortable. En plus cela lui permettra de tester au fur et à mesure en faisant comme du test unitaire.

La syntaxe du c++ est plus complexe que celle du c, alors ça promet si l'ia ne documente pas son logiciel.
cdlt lion10
 
V

vieuxfraiseur

Compagnon
dans l'avenir, il suffira de taper l'organigramme du travail à faire , et IA fera le reste ... peut-être ?
 
M

MegaHertz

Compagnon
dans l'avenir, il suffira de taper l'organigramme du travail à faire , et IA fera le reste ... peut-être ?
Bonjour,

Les organigrames : je ne crois pas que ce soit très utilisé.
Ca prend trop de place et ça n'est pas intégrable dans le code.

Un dev préférera taper d'abord les commentaires en pseudo code et ensuite compléter avec le vrai code.

Mais partir du pseudo code pour générer le code est déjà a la portée de l'IA Copilot.
C'est une IA payante spécialisée et ils ont franchi la barre du million d'abonnés.
 
D

Dudulle

Compagnon
bonjour,
alors, les développeurs informatiques ont du soucis a se faire dans les années à venir ?...
Non, parce qu'en réalité le plu gros du travail d'un codeur n'est justement pas de coder. Il faut commencer par poser le problème, faire un diagramme d'entrées/sortie, une analyse fonctionnelle, écrire le pseudocode, et enfin coder.
Si on se contente d'expliquer le besoin à chatgpt il est inconcevable qu'il sorte quelque chose d'utilisable
 
M

MegaHertz

Compagnon
Ce qui pourrait être vachement bien :
Remplacement des requêtes sur base de donnée par du langage naturel.
Recherches textuelles intelligentes sans avoir à faire de regex

Et des filtrages de spam qui marchent !
 
C

coredump

Compagnon
bonjour,
alors, les développeurs informatiques ont du soucis a se faire dans les années à venir ?...
Non pas plus que les petits indiens ou les petits chinois a pas cher (encore que les chinois c'est de moins en moins vrai).
 
M

Momoclic

Compagnon
Vu que tout est une question d'analyse, au final si celle-ci est parfaite le programme pourra être généré correctement.
Dans un projet la phase de codage tourne autour de 10% (voire moins) du temps de réalisation.
La conséquence c'est que les programmeurs seront de plus en plus rares, mais il faudra bien analyser les problèmes à régler et définir la façon de réaliser la mise en oeuvre du programme et tout le reste...
Donc les développeurs auront encore du travail. Il se concentreront sur le projet est ses résultats et pas sur le codage et à minima sur la ou les interfaces...
 
D

Dudulle

Compagnon
Bonjour,
Chat GPT est effectivement capable de produire du code : Je lui ai donné à manger le code que j'ai écrit pour le compte tour de ma fraiseuse et il a parfaitement analysé le contenu du programme. je lui ai demandé si à partir des valeurs de vitesses mesurées il pouvait les afficher graphiquement avec le logiciel "Processing" ce qu'il a fait sans problème. Je lui ai aussi expliqué comment fonctionnait l'électronique de mon capteur. il a bien compris le fonctionnement . Je lui ai demandé comment augmenter la bande passante de mon circuit et il m'a donné des conseils dont un que j'ai testé avec succès.
Il m'arrive de rêver : Mon rêve le plus étrange est celui d'un moteur à Lézard . Voici un exemple ci dessous imagé par Chat GPT avec DALL-E 3
(Je dispose de GPT4)
Mon fils l'a aussi utilisé avec succès pour faire de la programmation dans Excel.
Et maintenant je sais pourquoi les voutes en arc brisés sont appelées "Gothiques" 8-)

Voir la pièce jointe 857526

C'est très bien dessiné, on croirait du MS Escher
 
M

MegaHertz

Compagnon
C'est un machin d'étude statistique avec des millions de variables.
Même ceux qui l'ont développé ne savent pas comment ça marche :mrgreen:
 
Haut