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.
Didn't find your answer? Ask the community — no account required.
O
Olivier B.
Stanislas Thouret a exprimé avec précision :
super ... et ?
S
Stanislas Thouret
Olivier B. a formulé ce vendredi :
Ben rien. je comprends que certaines universités en ont interdit l'usage
R
Raoul
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...
S
Stanislas Thouret
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.
S
Stanislas Thouret
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.
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
/* 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
// 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.
S
Stanislas Thouret
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
V
Volkin
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.
J
jules
Le 10/02/2023 à 21:07, Volkin a écrit :
C'est quoi une intelligence ?
G
Gauloisjesuis
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 :-)
R
Raoul
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....
"
"Benoît L."
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.
T
tTh
Avec un superbe buffer overflow, merci l'idiotie marketing.
O
Olivier B.
Raoul avait écrit le 11/02/2023 :
oui voila !
J
JKB
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
J
JKB
Le 10-02-2023, Stanislas Thouret snipped-for-privacy@free.fr a écrit :
Non. C'est une simple histoire de probas.
JKB
V
Volkin
Comme beaucoup ici.
G
Gauloisjesuis
:-)
P
Pascal06
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
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.