Conseils projet téléphérique Débutant
#1
Posté 25 novembre 2025 - 11:39
On m'a offert un téléphérique en kit jouet mais je me prends à vouloir le personnaliser mais mon niveau est proche de zéro, d'où mon post ici après les conseils de Jonathan.
Je vous joins la photo du système actuel avec son moteur CC 1.5 et alimentation (boitier deux piles AA) et mon souhait serait "simplement" de lui faire faire des allers-retours sur un seul et même câble. Pour l'instant le moteur le fait avancer seulement sans s'arrêter.
J'ai appris que ces moteurs pouvaient fonctionner dans les deux sens en utilisant par exemple un microcontrôleur, si oui comment l'ajouter au système ? Comment cela fonctionne-t-il ?
Pourriez-vous me conseiller au plus simple vu mon niveau pour faire évoluer mon système ?
Quelle serait votre méthode employée la plus simple et efficace pour répondre à mon souhait ?...
Merci par avance pour votre temps.
#2
Posté 25 novembre 2025 - 11:42
#3
Posté 26 novembre 2025 - 08:15
Pour joindre la photo tu peux régarder ce lien : https://www.robot-ma...obot-Maker.html
Pour le reste sur le principe :
le microcontôleur va intégrer un programme qui va "piloter" ton moteur.
Il existe de tout petit microcontrôleur exemple : https://www.robot-ma...rp2040-533.html
Ton micro contôleur ne peut pas directement piloter ton moteur, il droit passer par un driver de moteur. exemple : https://www.robot-ma...c-l9110-56.html
Tu vas peut être vouloir savoir quand tu es au bout de la ligne. Dans ce cas là tu vas peut être utiliser un capteur par exemple : https://www.robot-ma...hc-sr04-13.html
Ton micro contrôleur peut avoir un programme qui regarde droit devant avec le capteur et qui fait avancer le moteur jusqu'à ce qu'une certaine distance et mesurée, puis recule jusqu'à ce qu'une certaine distance soit mesurée puis recommence .
( Pour l'image, Si tu veux " arroser un champs" ( = faire tourner ton moteur ) le driver c'est un robinet, et le micrcontrôleur c'est l'humain qui va tourner le robinet, et l'eau représente le courant / l'energie de tes piles , le capteur c'est les yeux de l'humain pour regarder si le champs est suffisamment arrosé )
Tout ça avec quelques fils pour relier l'ensemble et potentiellement un petit convertisseur step up 5V pour alimenter ton microcontrôleur correctement à partir de tes piles et un bouton on off pour allumer et éteindre le tout et tu devrais avoir tout ce qu'il te faut.
Si mon commentaire vous a plus laissez nous un avis ! ![]()
Nouveau sur Robot Maker ?
Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope aux articles, à la boutique et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être !
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!
#4
Posté 02 décembre 2025 - 11:50
Bonjour Mike,
Les liens ne fonctionnent pas. (il semble y avoir des "crasses" à la fin de ceux-ci)
Voici les versions nettoyées :
Microcontrôleur : https://www.robot-ma...rp2040-533.html
Driver Moteur : https://www.robot-ma...c-l9110-56.html
Capteur : https://www.robot-ma...hc-sr04-13.html
Coyotte
- Mike118 aime ceci
... the alien anthropologists admitted they were still perplexed.
But on eliminating every other reason for our sad demise, they logged the only explanation left :
This species has amused itself to death...
(R. Waters)
#5
Posté 04 décembre 2025 - 09:20
J'ai tout commandé dans la boutique en suivant vos recommandations et je vois que ça vient d'être expédié aujourd'hui.
Je vais voir si je m'en sors côté branchement et surtout programmation (c'est ce que j'appréhende le plus).
Je teste et reviens vers vous si besoin d'aide
#7
Posté 05 décembre 2025 - 08:11
Est-ce indispensable ?...
Rrrra !
#8
Posté 11 décembre 2025 - 05:26
Bonjour Mike,
Les liens ne fonctionnent pas. (il semble y avoir des "crasses" à la fin de ceux-ci)
Voici les versions nettoyées :
Microcontrôleur : https://www.robot-ma...rp2040-533.html
Driver Moteur : https://www.robot-ma...c-l9110-56.html
Capteur : https://www.robot-ma...hc-sr04-13.html
![]()
Coyotte
Merci en effet, du coup je viens de corriger mon post !
Mince, je vois que j'ai oublié le petit convertisseur step up 5V pour alimenter mon microcontrôleur correctement... .
Est-ce indispensable ?...
Rrrra !
3V risque d'être un peu juste pour alimenter le microcontrôleur, mais au pire pour le moment tu pourras faire tes essais en étant branché en USB ...
Fais tes essais et on pourra voir la suite après ![]()
Si mon commentaire vous a plus laissez nous un avis ! ![]()
Nouveau sur Robot Maker ?
Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope aux articles, à la boutique et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être !
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!
#9
Posté 14 décembre 2025 - 04:02
Bon... J'ai beaucoup essayer, je ne m'en sors pas 🤣
Je n'arrive pas à reconnaître la carte avec THONNY ni avec Arduino.
Avez-vous une idée ?...
Je vous joins le code également pour avoir voir regard.
#12
Posté 14 décembre 2025 - 07:07
Du coup première victoire = c'est bon tu as réussi à mettre ton code sur le xiao rp2040 ?
Si mon commentaire vous a plus laissez nous un avis ! ![]()
Nouveau sur Robot Maker ?
Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope aux articles, à la boutique et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être !
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!
#13
Posté 14 décembre 2025 - 09:33
Non malheureusement... Ma première victoire était d'arriver à reconnaître le XIAO rp2040 sur THONNY car je n'y arrivais pas. Il me manquait un fichier.
Mais je n'arrive pas à avoir un code sans problème de syntaxe pour pouvoir le déverser.
#14
Posté 16 décembre 2025 - 11:44
Hello,
Si tu veux un coup de main pour code, je peux essayer de t'aider.
J'ai Thonny et l'environnement Arduino installés.
Si tu communiques ton code, nous pourrons essayer de voir où cela peut coincer.
Coyotte
... the alien anthropologists admitted they were still perplexed.
But on eliminating every other reason for our sad demise, they logged the only explanation left :
This species has amused itself to death...
(R. Waters)
#15
Posté 16 décembre 2025 - 12:19
Ah merci beaucoup, j'ai épuré le début car il y avait des soucis de syntaxe dans mes commentaires alors je les ai enlevé.
Je te mets mon second essai (sans les commentaires du début) et l'initial.
Je sèche pour le reste...
Merci beaucoup !
2nd essaie avec erreur en ligne 12 :
#define TRIG_AV 6
#define ECHO_AV 7
#define TRIG_AR 8
#define ECHO_AR 9
#define M1A 2
#define M1B 3
#define LIMITE 20 // en cm
long mesureDistance(int trigPin, int echoPin)
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duree = pulseIn(echoPin, HIGH, 30000); // timeout 30ms
long distance = duree / 58; // conversion µs → cm
return distance;
}
// Commandes moteur
void avance()
{
digitalWrite(M1A, HIGH);
digitalWrite(M1B, LOW);
}
void recule()
{
digitalWrite(M1A, LOW);
digitalWrite(M1B, HIGH);
}
void stopMoteur()
{
digitalWrite(M1A, LOW);
digitalWrite(M1B, LOW);
}
void setup()
{
pinMode(TRIG_AV, OUTPUT);
pinMode(ECHO_AV, INPUT);
pinMode(TRIG_AR, OUTPUT);
pinMode(ECHO_AR, INPUT);
pinMode(M1A, OUTPUT);
pinMode(M1B, OUTPUT);
stopMoteur();
delay(1000);
}
void loop()
{
long distAvant = mesureDistance(TRIG_AV, ECHO_AV);
long distArriere = mesureDistance(TRIG_AR, ECHO_AR);
// Si obstacle à lavant → recule
if (distAvant > 0 && distAvant < LIMITE)
{
recule();
}
// Si obstacle à larrière → avance
else if (distArriere > 0 && distArriere < LIMITE)
{
avance();
}
else {
// Sinon on avance par défaut
avance();
}
delay(50); // petite pause
}
#16
Posté 16 décembre 2025 - 12:21
// --- Pins capteur avant ---
#define TRIG_AV 6
#define ECHO_AV 7
// --- Pins capteur arrière ---
#define TRIG_AR 8
#define ECHO_AR 9
// --- Pins moteur L9110 ---
#define M1A 2
#define M1B 3
// Distance limite
#define LIMITE 20 // en cm
// Mesure de distance d'un HC-SR04
long mesureDistance(int trigPin, int echoPin) {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duree = pulseIn(echoPin, HIGH, 30000); // timeout 30ms
long distance = duree / 58; // conversion µs → cm
return distance;
}
// Commandes moteur
void avance() {
digitalWrite(M1A, HIGH);
digitalWrite(M1B, LOW);
}
void recule() {
digitalWrite(M1A, LOW);
digitalWrite(M1B, HIGH);
}
void stopMoteur() {
digitalWrite(M1A, LOW);
digitalWrite(M1B, LOW);
}
void setup() {
pinMode(TRIG_AV, OUTPUT);
pinMode(ECHO_AV, INPUT);
pinMode(TRIG_AR, OUTPUT);
pinMode(ECHO_AR, INPUT);
pinMode(M1A, OUTPUT);
pinMode(M1B, OUTPUT);
stopMoteur();
delay(1000);
}
void loop() {
long distAvant = mesureDistance(TRIG_AV, ECHO_AV);
long distArriere = mesureDistance(TRIG_AR, ECHO_AR);
// Si obstacle à lavant → recule
if (distAvant > 0 && distAvant < LIMITE) {
recule();
}
// Si obstacle à larrière → avance
else if (distArriere > 0 && distArriere < LIMITE) {
avance();
}
else {
// Sinon on avance par défaut
avance();
}
delay(50); // petite pause
}
#17
Posté 16 décembre 2025 - 04:40
Hello,
Le code posté à 12:19 compile sans erreur dans l'IDE Arduino
De même que le code de 12:21
Quel message d'erreur reçois-tu ?
Ceci dit, tu parles de Thonny qui, sauf erreur de ma part, n'est prévu que pour le langage Python alors le code que tu donnes ci-dessus est du C++.
Dans quel outil (Arduino IDe ou Thonny) as-tu fais tes tests ?
Coyotte
- Sandro aime ceci
... the alien anthropologists admitted they were still perplexed.
But on eliminating every other reason for our sad demise, they logged the only explanation left :
This species has amused itself to death...
(R. Waters)
#18
Posté 16 décembre 2025 - 05:01
... par ailleurs, je subodore un problème dans le fonctionnement du code (une fois qu'il compilera ;-) ) :
Imaginons que la cabine avance.
A un moment donné, le test distAvant < LIMITE sera vrai.
On va alors se mettre à reculer.
Au bout de quelques secondes, ce test ne sera plus vrai puisse distAvant sera redevenu > LIMITE
Le 2eme test ne sera pas vérifié car on n'aura pas reculé suffisamment pour que le test distArriere < LIMITE soit vrai...
Donc le dernier 'else' s'applique et on repart en avant.
La cabine risque donc d'osciller (ou de rester figée, selon la sensibilité des capteurs) à une distance LIMITE de la destination avant.
A vérifier une fois que la compilation passera.
J'opterais plutôt pour un organisation du genre (pseudo code)
// Direction = HAUT
Avance()
distance = mesureDistance(TRIG_AV, ECHO AV))
Tant que distance > LIMITE
petite pause
distance = mesureDistance(TRIG_AV, ECHO AV))
Longue Pause // Les gens sortent et entrent dans la cabine en haut
//Direction = BAS
recule()
distance = mesureDistance(TRIG_AR, ECHO AR))
Tant que distance > LIMITE
petite pause
distance = mesureDistance(TRIG_AR, ECHO AR))
Longue Pause // Les gens sortent et entrent dans la cabine en haut
C'est une option parmi tant d'autres...
Mais avançons pas à pas en faisant d'abord fonctionner le code existant... ;-)
Coyotte
... the alien anthropologists admitted they were still perplexed.
But on eliminating every other reason for our sad demise, they logged the only explanation left :
This species has amused itself to death...
(R. Waters)
#20
Posté 17 décembre 2025 - 11:36
Bonsoir,
le problème est très certainement, comme l'a indiqué Coyotte, que tu essayes d'écrire un programme C++ là où un programme Python est attendu :
- si tu utilises l'IDE arduino, alors il faut programmer en C++ (ce qui correspond au code tel qu'écrit actuellement)
- si tu utilises Thonny, alors (d'après une très rapide recherche), tu est obligé d'écrire ton code en Python (et la syntaxe Python est très différente de celle que tu utilises dans ton code).
Dans l'état actuel, tu utilises Thonny (prévu pour du Python), pour écrire un fichier .py (extension des fichiers Python), mais en y mettant du code C++ : ça ne peut pas marcher.
Tu as donc 2 solutions :
1) tu gardes ton code (actuellement écrit en C++), mais tu l'utilises dans l'IDE Arduino (qui est fait pour le C++)
ou
2) tu re-écrit ton code en python
A noter que dans les 2 cas, je te conseille de commencer par un code minimaliste "hello world", genre faire clignoter une LED, ou afficher un message sur la console série. Une fois que ça marche, tu ajoutes progressivement des fonctionnalités. C'est beaucoup plus facile de comprendre pourquoi le code ne marche pas quand on a juste changé quelques lignes par rapport à un code qui marche, que quand on a des centaines de lignes de code jamais testées, et aucune idée de la source du problème
Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...
Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.
1 utilisateur(s) li(sen)t ce sujet
0 members, 1 guests, 0 anonymous users




















