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.