Aller au contenu


Photo
- - - - -

Conseils projet téléphérique Débutant


  • Veuillez vous connecter pour répondre
37 réponses à ce sujet

#21 Bénito

Bénito

    Nouveau membre

  • Membres
  • 20 messages
  • Gender:Male

Posté 17 décembre 2025 - 11:53

J'avais commencé avec l'IDE ARDUINO mais je n'arrivais pas à reconnaître ma carte XIAO une fois le logiciel lancé et carte connecté... D'où ma bascule sur THONNY avec mon code en C++ mais en effet si le langage et/ou la syntaxe n'est pas le(s) même(s)... .

 

Je vais voir si j'arrive à reconnaître ma carte XIAO avec mon logiciel IDE ARDUINO alors, je trouvais le nom de la carte mais elle était grisée.

 

Je reviens vers vous après avoir réessayé avec l'IDE ARDUINO, voir si j'arrive à reconnaître cette carte.

 

Merci, je fais au plus vite !



#22 Coyotte

Coyotte

    Nouveau membre

  • Membres
  • 14 messages
  • Gender:Male
  • Location:Liège
  • Interests:Informatique, musique, électronique, lecture, cuisine, robotique, modélisme...

Posté 20 décembre 2025 - 05:20

Bonjour,
 

Rien n'empêche d'écrire le programme en Python.
Mais il faut choisir un environnement et s'y tenir sans quoi cela risque de devenir très compliqué  :) 

Pour l'IDE arduino, il faut probablement le configurer pour supporter ton type de carte via le menu "Outil"/ "type de carte" / "Gestionnaire de cartes"
J'ai trouvé un lien qui pourrait t'aider : https://wiki.seeedst...0-with-Arduino/

 

 

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)


#23 Bénito

Bénito

    Nouveau membre

  • Membres
  • 20 messages
  • Gender:Male

Posté 22 décembre 2025 - 12:55

Bonjour !

 

Après avoir bien galéré j'ai réussi à reconnaître la carte avec ARDUINO IDE, il me fallait télécharger et installer des fichiers supplémentaires (voir photo pour exemple).

 

J'ai même réussi à déverser mon code du coup.

 

Par contre, rien ne se passe... Normal ? Une manipulation à faire ou ça vient d'un potentiel couac de branchement ou soudure ?... 

Image(s) jointe(s)

  • Screenshot_2025-12-21-23-05-42-023_com.android.chrome.jpg
  • IMG_20251222_003031.jpg
  • Screenshot_2025-12-22-00-53-50-757_com.miui.gallery.jpg


#24 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 293 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 22 décembre 2025 - 01:37

Première chose à tester : Tu peux mettre de un Serial.begin(115200) dans ton setup() et Serial.println("hello"); dans ton loop() et regarder dans le moniteur série ton rp2040 devrait t'écrire " hello ".


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

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!

 

Les réalisations de Mike118  

 

 

 


#25 Coyotte

Coyotte

    Nouveau membre

  • Membres
  • 14 messages
  • Gender:Male
  • Location:Liège
  • Interests:Informatique, musique, électronique, lecture, cuisine, robotique, modélisme...

Posté 22 décembre 2025 - 03:06

Hello,

Comme le dit Mike, il faut y aller étape par étape.
Commence par sa proposition.
Ensuite lorsque tu verra le "Hello" arriver, tu peux modifier le programme pour faire clignoter la LED.

Ensuite, tu essaies de lire la valeur d'un capteur à ultra-sons et tu affiches celle-ci sur le port série.

Cela te servira ensuite pour déterminer la valeur de "LIMITE" que tu utilisais dans ton code original.

En procédant ainsi et en ne faisant qu'un seul changement à la fois, tu peux

 1) valider le bon fonctionnement (et la bonne compréhension) de ton code

 2) et en cas de problème, tu peux plus facilement retrouver l'erreur éventuellement commise.

 

Et n'hésite pas à poster ici tes progrès et/ou soucis...
 


... 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)


#26 Bénito

Bénito

    Nouveau membre

  • Membres
  • 20 messages
  • Gender:Male

Posté 22 décembre 2025 - 03:58

Capture 22122025.PNG Bonjour !

 

Je viens d'actualiser mon code avec les recommandations de Mike, ça donne ce code :

 

#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()
{
  Serial.begin(115200);

  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()
{
  Serial.print("hello");
  long distAvant = mesureDistance(TRIG_AV, ECHO_AV);
  long distArriere = mesureDistance(TRIG_AR, ECHO_AR);

  // Si obstacle à l’avant → recule
  if (distAvant > 0 && distAvant < LIMITE)
  {
    recule();
  }
  // Si obstacle à l’arrière → avance
  else if (distArriere > 0 && distArriere < LIMITE)
  {
    avance();
  }
  else {
    // Sinon on avance par défaut
    avance();
  }

  delay(50); // petite pause
}
 
ça compile très bien et se déverse très bien, mais même stade... Je n'obtiens pas le résultat souhaitait par Mike dans le moniteur.

 



#27 Bénito

Bénito

    Nouveau membre

  • Membres
  • 20 messages
  • Gender:Male

Posté 22 décembre 2025 - 04:25

Capture 22122025 hello.PNG

 

Je n'étais pas au bon endroit ! Au temps pour moi ! 

 

J'avais mal interprété la zone "Moniteur"

 

Nouvelle étape atteinte ;) Merci !

 

Par contre je ne sais pas comment réaliser les étapes de COYOTE (faire clignoter la Led et relever les mesures d'un capteur et saisir sur le port série)... Je vais continuer à me renseigner avec les différentes ressources à ma disposition pour voir si j'arrive denouveau à débloquer une étape.



#28 Sandro

Sandro

    Membre chevronné

  • Modérateur
  • PipPipPipPip
  • 1 338 messages
  • Gender:Male

Posté 22 décembre 2025 - 09:49

Pour faire clignoter la LED, il faut d'abord trouver sur quelle pin elle est, puis tu utilise la fonction digitalWrite pour l'alumer ou l'éteindre (cf fonction avance() dans ton code). La seule chose un peu "pénible", c'est de gérer le temps entre l'alumage et l'extinction. Il y a des méthodes efficaces (basées sur mesurer le temps courant à l'alumage/extinction, puis vérifier le temps écoulé depuis pour décider s'il faut ou pas éteindre/allumer la LED), mais je penses que c'est inutilement compliqué. Tu peux aussi utiliser la fonction millis(XXX); pour attendre XXX millisecondes (mais ça bloque tout le code). Si tu prends cette dernière approche, alors penses à le supprimer quand tu as fini avec, sinon ça t'embêtera juste après quand ton moteur ne réagira pas pendant XXX milliseconds.

Bref, à mes yeux, faire clignoter la LED n'est peut être pas très utile.


En revanche, je t'encourage fortement à afficher la valeur des distances distAvant et distArriere.
La fonction à utiliser est Serial.print (que tu utilises déjà pour afficher hello) : je te laisse lire la documentation pour voir toutes les manières dont tu peut t'en servir.

D'ailleurs, une fois que c'est fait, c'est pas inutile d'utiliser la même fonction pour dire "j'avance" quand tu appelles la fonction avance, "je recule" quand tu appelles la fonction recule, ... ça te permettra de bien comprendre qu'est ce qui se passe (ou pas)


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.


#29 Bénito

Bénito

    Nouveau membre

  • Membres
  • 20 messages
  • Gender:Male

Posté 26 décembre 2025 - 11:45

Bonsoir !

 

Ayant des difficultés à utiliser les capteurs à ultrasons HC-SR04, j'ai essayé de les "isoler" pour vérifier les branchements et tenter de prendre des mesures et malheureusement (après télécharger de bibliothèques) mes relevés de mesures sont nulles... .

Avez-vous une explication ?

 

Au départ je n'avais rien dans le moniteur de série mais c'était car je n'avais pas téléchargé la bonne bibliothèque.

 

Là j'ai une valeur qui apparaît mais nulle "0,00"... .

 

Merci par avance !

Image(s) jointe(s)

  • Test HCSR04 échec.PNG


#30 Sandro

Sandro

    Membre chevronné

  • Modérateur
  • PipPipPipPip
  • 1 338 messages
  • Gender:Male

Posté 27 décembre 2025 - 11:30

Bonjour,

c'est bien la bonne approche (de tester le capteur tout seul).

Je ne vois pas de problème évident dans le code, donc je pencherais plutôt sur un problème au niveau matériel.

Initialement, je partais pour te conseiller de vérifier les branchements (GND relié au GND, Alim bien branchée, signaux sur les bon pins). Je partais sur le fait de te dire de brancher le Vcc sur le 5V de ton Arduino, quand je me suis souvenu que tu n'utilisais pas une Arduino, mais le Xiao RP2040, qui fonctionne en 3.3V. C'est très probablement de là que viennent les problèmes.

Si tu as branché le Vcc au 3.3V, alors il y a très peu de risque que tu ait endommagé quelque chose, mais il est bien possible que 3.3V ne suffisent pas à alimenter le HC-SR04.
Le "datasheet" sur robotmaker (https://www.robot-ma...ons-hc-sr04.pdf ) spécifie une tension de 5V (@Mike : tu m'expliquera comment tu génères une tension de 5.0000000000000V, ou alors il manque la plage de tensions d'entrée). Un autre datasheet ( https://www.gotronic...picaxe-1343.pdf ) demande une tension entre 4.5 et 5.5V (nb : il existe plein de variantes du HC-SR04, donc ça ne s'applique pas forcément au tient). Bref, il y a peu de chances que le module fonctionne en 3.3V.

Si en revanche, tu branches le Vcc au 5V, alors tu risques d'endommager le RP2040 :
- le capteur sera correctement alimenté
- est-ce que le trigger fonctionnera, je l'ignore (il ne recevra que 3.3V, alors qu'il attend 5V). Il me semble probable que ça suffise, mais j'ai pas trouvé de datasheet indiquant la tension de seuil, et j'ai trouvé différents schémas électriques avec différents composants en entrée, donc impossible de déterminer à priori quel est la tension seuil.
- la tension de sortie du capteur sera 5V, alors que le RP2040 n'accepte que du 3.3V en entrée !!! risque important de cramer le RP2040 (ou si tu as de la chance juste le pin en question). Il y a une petite chance que ça puisse passer de justesse si la sortie du HC-SR04 est de type "transistor + résistance de pull up", mais je ne parierais pas là dessus (probabilité <30%). La solution serait d'ajouter un diviseur de tension (constitué de 2 résistances). Est-ce que tu as des résistances chez toi?


Pour continuer :
- si pour l'instant tu avais testé en 5V, alors teste en alimentant le capteur en 3.3V, et en changeant de pin pour le signal écho (le pin que tu avais utilisé est probablement mort). A l'inverse, si tu avais testé en 3.3V, ne teste pas en 5V pour l'instant.
- est-ce que tu as tout ou une partie du matériel suivant chez toi (je ne serais pas surpris que tu n'ait rien, mais on sait jamais) : résistances (quelles valeurs?)? diode? condensateur? multimètre? oscilloscope?
- @Mike : est-ce que tu aurais un "vrai" datasheet du module (j'ai peu d'espoir pour un capteur "hobbyiste", mais parfois on a de la chance), ou le schéma électrique de la version que tu vends (j'ai trouvé 2 schémas, mais ils se contredisent)
- à défaut, est-ce que quelqu'un aurait soit une photo en bonne résolution de la face "du dessous" du capteur, soit pourrait me donner le texte écrit sur les 3 circuits intégrés (l'un est le LM324 d'après la photo sur la boutique (4 amplificateurs opérationnels), mais les 2 autres ne sont pas lisibles)

Si tout ça ne donne rien, il va soit falloir trouver quelqu'un de bien équipé (oscilloscope + alim de labo + capteur HC-SR04 + résistances) qui veuille bien faire des tests un peu poussés pour déterminer la tension de seuil du trigger, et vérifier si la sortie écho est limitée en courant ou pas. Ou alors, il va falloir investir dans un translateur de niveau logiques (ou essayer avec des résistances, ce qui marchera facilement pour le signal écho, pour le trigger, s'il ne marche pas en 3.3V, on peut probablement aussi se débrouiller, mais sans plus de données, ce sera du pifomètre)


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.


#31 Bénito

Bénito

    Nouveau membre

  • Membres
  • 20 messages
  • Gender:Male

Posté 28 décembre 2025 - 09:12

Bonjour,

 

Je vois... Effectivement je ne suis pas équipé en grand chose !

Par rapport à cette problématique d'alimentation, serait-elle écartée si "j'investis" sur une carte différente ? De type Clone Arduino Nano (ou autre dans petit budget) pour mon petit projet pour remplacer la Xiao RP2040 ?

 

Ça me demandera un nouvel apprentissage de carte mais qui restera plus accessible avec mes capacités de débutant... .

 

Merci encore pour tous vos retours



#32 Coyotte

Coyotte

    Nouveau membre

  • Membres
  • 14 messages
  • Gender:Male
  • Location:Liège
  • Interests:Informatique, musique, électronique, lecture, cuisine, robotique, modélisme...

Posté 28 décembre 2025 - 04:30

Hello,

L'utilisation d'un Arduino va simplifier la problématique des niveaux de tension différents entre contrôleur et capteurs.
Les cartes Arduino Nano et apparentées fonctionnent en 5v, comme ton capteur.

Si tu peux te le permettre, ce serait probablement un moyen simple de limiter ce type de problème.  :) 
 

 

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)


#33 Sandro

Sandro

    Membre chevronné

  • Modérateur
  • PipPipPipPip
  • 1 338 messages
  • Gender:Male

Posté 28 décembre 2025 - 10:42

En effet, un (clone) d'Arduino Nano résoudrait ce problème.

Par contre, j'ai plus en tête les détails de l'alimentation. Si tu alimentes en USB, alors ça ne change rien. Si tu avais prévus autre chose, alors à vérifier si ça convient (il te faut soit du 5V régulé, soit une tension entre 7 et 12V)


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.


#34 Bénito

Bénito

    Nouveau membre

  • Membres
  • 20 messages
  • Gender:Male

Posté 29 décembre 2025 - 12:13

Je vais revoir mes plans et tant pis partir sur la clone Arduino Uno alimenté via un adaptateur de pile 9V si cela vous semble plus adapté. (À me confirmer 😅)

 

Une fois réceptionnés et mis en place, je vous ferai un retour 😉

Merci encore pour vos retours !

Image(s) jointe(s)

  • clone-arduino-uno-16u2.jpg
  • adaptateur-pile-9v-pour-arduino-uno-et-mega.jpg


#35 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 293 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 29 décembre 2025 - 02:32

Le but d'utiliser un xiao c'est pour la petite taille. 

Il me semble que le HCSR04 fonctionne en 3.3V. 

Je rentre le 05 janvier, je vais faire le nécessaire pour tester les différents éléments et revenir avec des réponses à ce moment là. ( Je ferais le nécessaire pour ajuster la fiche produit en même temps )

en attendant mes réponses, d'ici là tu peux faire des essais avec un délai pour faire des allers retours en fonction du temps passé. 



 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

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!

 

Les réalisations de Mike118  

 

 

 


#36 Bénito

Bénito

    Nouveau membre

  • Membres
  • 20 messages
  • Gender:Male

Posté 29 décembre 2025 - 11:55

Ah bonne idée merci !

 

Je ne veux pas que vous vous cassiez trop la tête pour moi non plus. C'est très sympa

 

Je vais faire ça pour l'instant alors !



#37 ximun

ximun

    Nouveau membre

  • Membres
  • 11 messages
  • Gender:Male

Posté 05 janvier 2026 - 11:05

bonjour, 
Voici un code d’exemple qui fait une lecture de distance avec un HC-SR04 alimenté & contrôlé en 3.3V par un xiao rp2040:

#include "Arduino.h"
#define TRIGER_1 D8
#define ECHO_1 D9
#define DISTANCEARRET 70

void setup() {
  // put your setup code here, to run once:
  init_capteur();
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  float distance_1=mesureDistance_1();
  if(distance_1<70 && distance_1>0){
    Serial.println(String()+"STOP "+distance_1);
  }
  else{
    Serial.println(String()+ "La distance mesurée est de: "+distance_1);
  }
  delay(1000);
}

void init_capteur(){
  pinMode(TRIGER_1,OUTPUT);
  pinMode(ECHO_1,INPUT);
}

float mesureDistance_1(){
  float duration;
  float distance;
  digitalWrite(TRIGER_1, LOW);  
  delayMicroseconds(2);
  digitalWrite(TRIGER_1, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIGER_1, LOW);
  duration = pulseIn(ECHO_1, HIGH,24000);//j' ai mis 24000 en partant du principe que la vitesse du son est de 340m/s et que la distance max à mesurer est de 4m *2 car aller retour
  distance = duration / 58;
  return(distance);
}
 

Si vous avez des questions, n'hésitez pas je répondrai avec plaisir.



#38 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 293 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 05 janvier 2026 - 02:25

en attendant mes réponses, d'ici là tu peux faire des essais avec un délai pour faire des allers retours en fonction du temps passé. 



 

 

 

Ximun ( Mon apprenti à Robot Maker) a répondu pour moi suite à ma demande ;)


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

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!

 

Les réalisations de Mike118  

 

 

 





1 utilisateur(s) li(sen)t ce sujet

0 members, 1 guests, 0 anonymous users