Projet pour un étudiant en électromécanique

Bonjour,

Je suis un jeune étudant qui doit réaliser un projet Arduino pour son cours d'électromécanique. Celui-ci consiste à lever une barrière à l'aide d'un servomoteur en tapant un code sur une télécommande IR.

Concrètement :
Lorsqu'on encode une combinaison de 4 numéros sur une télécommande, si le code est correct, un message " CODE BON "apparaît sur lécran LCD. Une led jaune s'actionne et une barrière animée à l'aide d'un servomoteur se lève.

Si le code est mauvais, un message " ERREUR DE CODE " s'affiche, une led rouge s'actionne et un buzzer bippe; la barrière ne se lève pas.

Problème : je ne parviens pas à réaliser le code de ce programme et je ne sais pas si le schéma de câblage ci-dessous est correct ou s'il manque des composants ...

Serait-il possible pour quelqu'un de me venir en aide ?

Merci

Hannard Emilien

Bonsoir,

Comment le code que vous tapez sur la télécommande arrive à l’Arduino?

Vous avez une idée à proposer?

Réponse interdite:

“Je ne sais pas”

Bonsoir,

Merci pour votre réponse, je pensais utiliser un capteur infrarouge.

Et est ce que vous avez faits quelques recherches sur le sujet?

Sur ce forum, et a juste titre d’ailleurs, en tant que étudiant, je pense que vous obtiendrez peu d’aide directe si vous ne faites pas le minimum de recherches au préalable.

Il y a sur le forum un moteur de recherche, et j’en suis certain, un paquet de sujets qui répondent au moins à cette partie (la télécommande).

Oui j'ai fait pas mal de recherches depuis une semaine mais je ne parviens pas vraiment à m'en sortir, même avec l'IA c'est assez complexe. Je vais aller voir sur le moteur de recherche comme vous me l'avez suggéré.
Merci pour votre temps.

Bonsoir emilien_hnrd

C'est étonnant que pour un projet si simple que tu n'aies pas réussi à avoir un programme de la part de l'IA.
Quelle question as tu posée et sur quelle IA. Pour ça ChatGPT est très perfomante.
Partage to chat de l'IA utilisée.

A+
Cordialement
jpbbricole

J’ai demandé à Chatgpt de me faire le code du programme en lui expliquant clairement l’objectif du projet comme je l’ai fait dans l’énoncé de mon post et en lui donnant l’image de mon câblage que j’avais déjà réalisé au préalable. Il m’a donné un code mais celui-ci ne fonctionne pas et rien ne s’affiche à l’écran…

Merci,

Emilien

Mets la question posée ainsi que le programme en ligne ou plus simple, partage ton chat et on regarde demain :wink:

Bonne nuit.

Sérieusement - l'objectif du projet est que vous appreniez à travailler sur un problème pour réaliser un objectif, lire des docs, etc , pas que vous appreniez à faire des prompt pour chatGPT...

Un truc important qu'on apprend à faire assez vite, c'est de découper le gros projets en plus petits projets que vous pourrez maîtriser.

  • Maîtrisez vous les bases du monde ardiuno ? et un peu de C++ pour gérer votre projet ?
  • Savez vous connecter, alimenter et allumer ou éteindre une LED ?
  • Savez vous connecter, alimenter et activer un Servo ?
  • Savez vous connecter une télécommande IR, détecter l'appui sur une touche ?

Tant que vous ne saurez pas faire cela, vous aurez du mal à réaliser votre projet. Il vaut mieux vous y mettre rapidement plutôt que de perdre du temps à interroger chatGPT - ce qui ne vous apprendra pas grand chose si vous ne maîtrisez pas ces bases.

il est justement là :

En tant que futur technicien, tu te dois d’être plus précis dans ta description.

Ton “schéma” de câblage, n' est pas un schéma, c'est un dessin.

Et il y manque le recepteur IR.

Il y manque aussi et surtout les Réf des composants.

Tu dis que tu as un code qui ne marche pas, tu pourras au moins déposer ton code ici, qu’on puisse voir ce qui cloche, c’est la moindre des choses.

Avant, par zéle ou défit de résoudre toutes sortes de problémes, certains aidants proposaient volontier de fournir le schéma et le code comme solution prête à être utilisée.

La philosophie a quelque peu évoluée, Personnellement, pas contre toi ou qui que se soit d'autre mais uniquement contre cette nouvelle philosophie de l’entraide et des conséquences qu’elle induit, je trouve fort regrettable qu'on en arrive à proposer à ceux qui demandent de l’aide de leur écrire la “bonne” question à poser à l’IA.

Franchement, le projet que l’on te demande de réaliser est, j’en suis sûr et certains, décrit maintes fois, au moins par petits bouts, sur Internet même sans l'aide de l’IA.

Petits bouts qu’il te reste trouver, copier coller et adapter à ton besoin.

Sur Internet, avec un moteur de recherche basique, tu trouvera tout ce que tu veut par exemple sur:

-Les afficheurs LCD + I²C et Arduino

-Les servos moteurs et Arduino

-Les émetteurs/récepteurs IR et Arduino

Schémas et Codes.

Vouloir passer par l’IA avec succés est une autre solution, elle nécessite que ta demande soit correctement formulée voir re firmulée, ce n' est pas insurmontable non plus avec l’IA.

Alors espérer de l’aide pour formuler mot à mots à la place du demandeur la “bonne” question à poser à l’IA, c’est selon moi à la limite de l’abus d’incompétence.

on l'y voit, sur la platine de tests, entre le buzzer et le servomoteur : vu la forme et la fréquence utilisée par les télécommandes "jouets" (ça y ressemble, sur son dessin) ça pourrait être un TSOP38238 ou équivalent.

Je pense avoir compris que le matériel t'a été fourni, donc tu le connais.
Rappel : dans le message d'accueil il est demandé de fournir une liste précise du matériel.

Aparté important : une carte microcontrôleur "peut alimenter" des modules qui ne consomment pas trop, mais elle n'est pas faite pour cela.
Donc, sauf si c'est petit servo, il sera préférable d'utiliser une alimentation externe.

On entend improprement parler de "langage Arduino". C'est faux, le langage, c'est le C/C++.
Arduino, c'est des fonctions écrites en C/C++. Ces fonctions permettent d'utiliser simplement les microcontrôleurs.

Pour gérer les composants (modules) on utilise des bibliothèques logicielles.
Les bibliothèques contiennent le code, mais aussi des exemples.

Les exemples sont très importants.
Avant de coder ton programme il faut commencer par faire les exemples des bibliothèques.

Il faut le faire pour chaque module que tu utilises.

Les exemples sont garantis sans erreurs, les faire est la seule façon de vérifier que tu as compris le fonctionnement du module, que tu n'as pas fait d'erreur de branchement, que tu n'as pas détruit ton composant.
C'est le seul moyen de ne pas perdre du temps.

Ce n'est qu'une fois que tu auras réalisé au moins un exemple de chaque bibliothèque que tu pourras assembler et construire ton programme.
Il existe un excellant tuto : eskimon.fr qui traite des bases du C et aussi de la gestion du matériel.
Tu y trouveras des articles sur tous les composants que tu utilises.

Je mets une couche sur le "crobart" de câblage.
On accepte avec difficulté ce "truc fritzing" quand il provient d'amateurs débutants.
Mais, toi, en tant que futur professionnel, tu seras obligé de travailler correctement, alors autant commencer immédiatement.
De toute façon ce truc fritzing est illisible sur téléphone ou tablette.

Inutile de faire des œuvres d'art, papier crayon, gomme, règle, cela nous convient parfaitement. Scanner et en pièce jointe se sera parfait.

L'IA il faut s'en méfier. Elle peut être très utile à condition d'être capable de voir quand elle "hallucine" ou en français populaire quand elle se met le doigt dans l'œil jusqu'au coude.
Pour s'en rendre compte, il n'y a pas de miracle : il faut travailler le sujet avant de l'utiliser.

Je fais partie de ceux qui n'enverront jamais un débutant sur l'IA, je préfère les envoyer sur les exemples des bibliothèques.

Bon courage.

Bonjour Emilien

J'ai contrôlé ton schéma, il me semble correct .
C'est du Tinkercad?
Si oui, quelle adresse as tu mis dans l'affichage:

Est ce que ça correspond avec celle mise dans le programme?

De même, avec la version hard du matériel, connais-tu l'adresse de ton afficheur LCD i2C, si non il te faut charger le programme ci-dessous qui va scanner ton bus i2C et qui va t'indiquer l'adresse de ton afficheur, adresse à mettre dans ton programme.

Le programme scanner:

#include <Wire.h>

 void setup()
 {
	 Wire.begin();

	 Serial.begin(115200);
	 while (!Serial);             // Leonardo: wait for serial monitor
	 Serial.println("\nI2C Scanner");
 }


 void loop()
 {
	 byte error, address;
	 int nDevices;

	 Serial.println("Scanning...");

	 nDevices = 0;
	 for(address = 1; address < 127; address++ )
	 {
		 // The i2c_scanner uses the return value of
		 // the Write.endTransmisstion to see if
		 // a device did acknowledge to the address.
		 Wire.beginTransmission(address);
		 error = Wire.endTransmission();

		 if (error == 0)
		 {
			 Serial.print("I2C device found at address 0x");
			 if (address<16)
			 Serial.print("0");
			 Serial.print(address,HEX);
			 Serial.println("  !");

			 nDevices++;
		 }
		 else if (error==4)
		 {
			 Serial.print("Unknown error at address 0x");
			 if (address<16)
			 Serial.print("0");
			 Serial.println(address,HEX);
		 }
	 }
	 if (nDevices == 0)
	 Serial.println("No I2C devices found\n");
	 else
	 Serial.println("done\n");

	 delay(3000);           // wait 3 seconds for next scan
 }

PS: Partages-moi ton ChatGPT et le lien vers ta simulation Tinkercad (à mettre publique)

A+
Cordialement
jpbbricole

Bonjour,

Oui c’est sur Tinkercad et l’adresse est la même que celle de votre image.

Pour notre projet, nous faisons simplement une version soft avec un schéma de câblage et le code.

Voici le lien pour accéder à mon Chatgpt : ChatGPT - Liste matériel Arduino

Lien pour Tinkercard: Login - Tinkercad

Merci.

Ok je regarde ça :wink:

@jpbbricole
Si vous allez à la présentation de son projet vous aurez une bonne note - je ne suis pas sûr que @emilien_hnrd aura appris grand chose si vous lui donnez le travail tout mâché.

C’est un travail scolaire - il faut apprendre et travailler… il y a plein d’exemples pour chaque module de base…

Merci beaucoup :folded_hands:

Merci pour votre participation mais en réalité je ne compte pas donner le projet au professeur sans le comprendre en profondeur. En réalité, je dois rendre ce projet pour la fin de cette semaine, mais la présentation orale se fera en janvier.
Cela me laisse donc le temps de comprendre mon programme qui sera déja prêt.

Bonjour J-M-L

J'en suis conscient, mais je pars du fait qu'Emilien est un grand garçon et qu'il est tout à fait responsable de ses actes et que ce n'est pas à moi de juger du bien fondé de son intervention.

L'IA s'introduira de plus en plus dans notre "job", pourquoi vouloir aller contre?

Une toute belle journée à vous!
jpbbricole