Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Raspberry Pi Discussion :

150 GPIO - demande d'aide


Sujet :

Raspberry Pi

  1. #1
    Nouveau Candidat au Club
    150 GPIO - demande d'aide
    Bonjour à toutes et à tous

    Je suis débutant en tout mais avec beaucoup de bonne volonté.

    Je suis ingénieur du son et je suis en train de faire un testeur de câbles en employant un Raspberry Pi4 et une carte de ma fabrication avec 8x MCP23s17 pour obtenir 150GPIO soit une matrice de 75x75 contacts.
    La carte est montée et le programme en C++ fait par un ami fonctionne et détecte les continuités et les coupures de chaque paire audio de mes multicâbles.
    Où les choses se compliquent et arrivent dans les limites de nos connaissances, c'est la détection de court-circuits

    Je m'explique:
    la continuité (valeur 1) ou la coupure (valeur 0) de la liaison GPIO 0 et GPIO 76 fonctionne et est reconnue correctement
    la continuité ou la coupure de la liaison GPIO 1 et GPIO 77 fonctionne et est reconnue correctement
    Par contre, lorsque les GPIO 76 et 77 sont en court-circuits et qu'on teste la continuité et la coupure entre le GPIO 0 et le GPIO 76 ou le GPIO 77, le résultat est toujours "circuit ouvert" soit la valeur 0, ce qui est totalement erroné
    Du point de vue électrique, on s'attend à avoir les résultats suivants: GPIO 0 -> GPIO 76 = 1 et GPIO 0 -> GPIO 77 = 1

    Est-il possible d'obtenir de l'aide, soit de votre part, soit de la part de quelqu'un d'autre pour creuser la question jusqu'à déterrer une réponse?
    Si je ne me suis pas bien exprimé, n'hésitez pas à poser des questions; je compléterai.

    Merci d'avance de votre aide car mon projet est bloqué par ce problème

  2. #2
    Modérateur

    Salut,
    Étant donné qu'un court-circuit est une continuité et que tu dis que cette fonction est implémentée et fonctionne bien.

    Il suffit de faire évoluer un peu l'algorithmie.

    Tu mets GPIO 0 à 1 et tu lis tous les autres GPIO pour mesurer leurs valeurs. Si il y a un court-circuit entre GPIO 0 et GPIO 89 (par exemple) alors tu le verras car il y aura 1 dessus. Ensuite tu répètes la même opération mais avec GPIO 1 et ainsi de suite, jusqu'à GPIO 149.

    Pour faire ceci il faut des résistances de pulldown sur la cartes électroniques.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

###raw>template_hook.ano_emploi###