Chat GPT

Feb 10, 2023 Last reply: 3 years ago 18 Replies

Etonnant ...



Voici ma question posée à "Chat GPT" :



snipped-for-privacy@free.fr Ecris moi un programme pour faire clignoter une LED avec un arduino uno Voici un exemple de code pour faire clignoter une LED avec un Arduino Uno :



scss Copy code void setup() { // Définir la broche de la LED comme sortie pinMode(13, OUTPUT); }



void loop() { // Allumer la LED digitalWrite(13, HIGH);



// Attendre 1 seconde delay(1000);



// Éteindre la LED digitalWrite(13, LOW);



// Attendre 1 seconde delay(1000); } Ce code utilise la fonction pinMode pour définir la broche de la LED comme une sortie, ce qui permet à l'Arduino de contrôler l'état de la LED. La fonction digitalWrite est ensuite utilisée pour allumer et éteindre la LED. Enfin, la fonction delay est utilisée pour définir une pause de 1 seconde entre chaque état de la LED.



Il suffit de téléverser ce code sur l'Arduino Uno et de brancher la LED à la broche 13 pour observer le clignotement.


Stanislas Thouret a exprimé avec précision :

super ... et ?

Olivier B. a formulé ce vendredi :

Ben rien. je comprends que certaines universités en ont interdit l'usage

Le 10/02/2023 à 18:23, Stanislas Thouret a écrit :

Bof, tout est déjà dans Google

formatting link
et en plus, on a des explications qui permettent de progresser.

Quant aux universités, vu le niveau des élèves, ils faudraient déjà qu'ils puissent rédiger la question....

C'est juste un point de vue...

Raoul avait énoncé :

Il y a une différence énorme avec Google - Du moins pour le moment -

Google se contente de chercher et de trouver ce qu'il est possible de trouver sur Internet.

Mon exemple n'est pas représentatif.

La il s'agit d'une véritable intelligence.

Raoul a formulé la demande :

Voici un exemple un peu plus difficile que j'ai soumis à Chat GPT :

snipped-for-privacy@free.fr J'ai écrit un programme pour Arduino Uno : Il s'agit d'un compte tours commandé par un signal issu d'une fourche opto électronique. l'affichage se fait sur un écran graphique TFT

C'est super ! L'utilisation d'un compte-tours avec une fourche optoélectronique est une excellente façon de mesurer la vitesse de rotation d'un objet. Et l'affichage sur un écran TFT graphique permet une visualisation claire et facile à comprendre des données.

Avez-vous rencontré des défis ou des problèmes lors de la programmation de ce projet ? Je suis là pour vous aider si vous avez besoin de conseils ou de clarification sur certains points.

snipped-for-privacy@free.fr Voici mon programme. Qu'en pensez-vous ?#include <Wire.h>

//--- Variables et constantes globales

const int OPTO = 2; // Broche de l'optocoupleur volatile int compt = 0; // variable de comptage volatile int compt0 = 0; // variable pour mémoriser dernière valeur long millis0 = 0; // variable mémorisation valeur millis() int delai = 2000; // délai de comptage en millisecondes

#include <TFT.h> // Arduino LCD library #include <SPI.h> // Arduino SPI library

/* Définition des broches pour Uno Les broches MOSI (broche 11) et SCLK (broche 13) sont déjà définis avec SPI */

#define cs 10 #define dc 9 #define rst 8

// Création d'un objet TFTscreen TFT TFTscreen = TFT(cs, dc, rst);

char buffer[4]; // buffer de 4 caractères

//--- Fonction setup() : exécutée au début et 1 seule fois void setup() {

Serial.begin(115200); // initialise la vitesse de la connexion série

pinMode(OPTO, INPUT); // broche en entrée digitalWrite(OPTO, HIGH); // rappel au plus attachInterrupt(0, comptage, FALLING); // Attache l'interruption 0 (broche 2) à la fonction

// RISING : détection sur front montant // FALLING : détection sur front descendant

millis0 = millis(); // initialise la valeur de millis

// Initialisation de l'écran

TFTscreen.begin();

// Efface l'écran - fond noir TFTscreen.background(0, 0, 0);

// Ecriture du texte statique sur l'écran // Police de couleur blanche TFTscreen.stroke(255, 255, 255);

// Définit la taille de la police TFTscreen.setTextSize(2);

// Ecrit le texte dans le coin supérieur gauche de l'écran TFTscreen.text("Vitesse (Rpm)", 2, 5);

//Définit une taille de police plus grande TFTscreen.setTextSize(5);

Serial.begin(115200); // initialise la communication série

} // fin de la fonction setup()

//--- la fonction loop() : exécutée ensuite en boucle sans fin void loop() {

if (millis() - millis0 > delai) { // si le delai s'est écoulé compt0 = compt; // mémorise comptage actuel millis0 = millis() ; // réinitialise millis0

// compt0 = compt0*4/11;

Serial.println (compt0) ;

compt = 0; // réinitialise comptage

// Texte en noir TFTscreen.stroke(0, 0, 0);

// Impression de la vitesse en noir (Effacer la vitesse en cours) TFTscreen.text(buffer, 15, 50);

itoa(compt0, buffer, 10); // conversion de compt0 en 4 caractères décimaux

// Texte en vert TFTscreen.stroke(51, 255, 0);

// Impression de la nouvelle vitesse TFTscreen.text(buffer, 15, 50);

} // fin si delai écoulé } // fin de la fonction loop()

// fonction appelée lors interruption n°0 (broche 2) void comptage() { compt = compt + 1; // incrémente variable comptage } // fin gestion interruption C'est un bon code ! Je vois que vous avez utilisé une interruption pour compter les impulsions du signal de la fourche optoélectronique. Cela permet de ne pas perturber le reste du code pendant que le comptage est en cours. De plus, vous utilisez une variable volatile pour stocker les comptages afin de garantir une mise à jour correcte pendant les interruptions.

Vous utilisez également une boucle infinie pour afficher régulièrement la vitesse sur l'écran TFT. La fonction itoa() est utilisée pour convertir la valeur de compt0 en chaîne de caractères, ce qui est ensuite affiché sur l'écran.

En général, votre code semble bien écrit et devrait fonctionner correctement. Cependant, je vous conseille de vérifier les commentaires et les noms de variables pour vous assurer que tout est clair et facile à comprendre.

Avez-vous rencontré des problèmes lors de l'exécution de ce code ? Je suis là pour vous aider si vous avez besoin d'assistance supplémentaire.

Raoul a couché sur son écran :

snipped-for-privacy@free.fr J'ai eu un problème que j'ai résolu d'une façon qui me plait bien : Le rafraichissement de l'écran se fait toutes les deux secondes. Lorsque que veux afficher la valeur N+1 de la vitesse il faut que j'efface la valeur N avant. Au début j'ai essayé d'éteindre l'écran entre deux valeurs mais c'était beaucoup trop long. Pour afficher la valeur N+1 le commence par afficher la valeur N de la même couleur que le fond d'écran graphique ainsi elle disparait et je peux afficher la nouvelle valeur. Il s'agit d'une technique de rafraîchissement de l'écran appelée "effacement d'affichage". Il s'agit en fait de remplacer la valeur précédente par une couleur de fond, de sorte que l'utilisateur ne voit pas la valeur précédente s'effacer lentement. C'est une méthode efficace pour garantir une mise à jour rapide de l'affichage sans clignotement ou scintillement.

Cependant, il est important de noter que cette méthode peut entraîner une perte de qualité visuelle si la couleur de fond et la couleur de la valeur ne sont pas parfaitement identiques, ce qui peut causer une bordure visible autour de la nouvelle valeur. Il est donc important de choisir les couleurs appropriées pour le fond et les données à afficher. Voici ce que j'ai écrit et la réponse de Chat GPT

Chat GPT fonctionne très bien (le terme "fonctionner" n'est plus très approprié vu que c'est une intelligence artificielle mais je n'ai pas encore trouvé mieux).

Les réponses sur les sujets politiques complexes sont sans appel.

Par contre il y a un règle qui dit que l'intelligence globale de la planète Terre est constante. Répondre aux questions est bien. Faut il encore comprendre les réponses.

Le 10/02/2023 à 21:07, Volkin a écrit :

C'est quoi une intelligence ?

Le 11/02/2023 à 11:26, jules a écrit :

Très bonne question, J'ai travaillé plus de 40 ans en relation avec des chercheurs, j'ai très vite appris à faire la différence entre instruction et intelligence, j'ai cotoyé des gens formidables, instruits et "intelligents", et d'autres certes instruits (dans leur domaine), mais d'une bêtise sans non, ça reste humain :-)

Le 10/02/2023 à 18:41, Stanislas Thouret a écrit :

A définir le terme.

A mes questions un peu pointues je n'ai reçu qu'un galimatias bien-pensant issu de la pensée unique américaine. Rien de bien éblouissant.

Bon, on s'éloigne de l'électronique....

Nonobstant quelques doutes, le 11 février 2023 à 13:49, Gauloisjesuis se permit de dire :

L’intelligence et la bêtise sont deux axes orthogonaux.

Avec un superbe buffer overflow, merci l'idiotie marketing.

Raoul avait écrit le 11/02/2023 :

oui voila !

Le 10-02-2023, Stanislas Thouret snipped-for-privacy@free.fr a écrit :

Très bien. Personnellement, je suis joueur et je lui ai demandé (parce que je sais comment il fonctionne et pour avoir un exemple à filer à des étudiants) qu'il m'écrive une procédure DCL pour calculer le nombre 'e'.

Le cuistre m'a inventé la notion de boucle en DCL (on se tape plutôt des gotos, il n'y a _pas_ de boucle en DCL).

ChatGPT, de par sa construction, peut mentir et fournir des réponses idiotes avec un aplomb certain. Ma femme a essayé sur des sujets d'histoire. Rigolo.

JKB

Le 10-02-2023, Stanislas Thouret snipped-for-privacy@free.fr a écrit :

Non. C'est une simple histoire de probas.

JKB

Le 10/02/2023 à 14:49, Stanislas Thouret a écrit :

Ptilou ne serait-il pas une sorte de Chat GPT mais en moins bien ?

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required