Partage
  • Partager sur Facebook
  • Partager sur Twitter

Raspberry pi GPIO ext board

Sujet résolu
    4 janvier 2020 à 20:59:34

    Bonjours,

    J'aurais besoin de brancher une trentaine de relais sur mon raspberry pi 2 B V1.1. j'ai acheté cette carte d'extension :

    Résultat de recherche d'images pour "gpio ext boar"

    mais je n'ai trouvé aucune documentation expliquant comment utiliser ces 32 ports.

    • Partager sur Facebook
    • Partager sur Twitter
      11 janvier 2020 à 3:33:39

      Salut,

      Pourquoi avoir acheté cette carte s'il n'y avait pas de documentation fournie ? Parce qu'elle est pas chère n'est pas une bonne réponse.

      Cependant, sur cette carte, il doit bien y avoir des inscriptions, en les tapant dans un moteur de recherche, tu devrais trouver une documentation.

      • Partager sur Facebook
      • Partager sur Twitter
        11 janvier 2020 à 15:23:25

        Sur la page Amazon, il y a écrit " exemple de code" mais il n'y a rien dans le carton et rien non plus sur Google.
        • Partager sur Facebook
        • Partager sur Twitter
          11 janvier 2020 à 17:51:03

          D’après ce lien https://m.fasttech.com/product/2307700-infinity-cascade-i-o-extension-board-for

          les 32 pins sont unidirectionnelles, je pense que ça veut dire que c’est juste une extension pour soit une entrée soit une entrée 

          • Partager sur Facebook
          • Partager sur Twitter
            23 janvier 2020 à 9:28:44

            C'est bon j'ai trouvé la solution ! La carte se contrôle avec 3 broches : la 19 pour les datas, la 23 pour la clock et la 24 pour le shift.  Par exemple, pour allumer la broche 1 de la carte, il suffit d'envoyer '00000000000000000000000000000001'. Pour la deux, '00000000000000000000000000000010', etc. ('00000000000000000000000000000011' pour allumer les broches 1 et 2 en même temps)

            import time
            import RPi.GPIO as gpio
            
            valeursBinaire = {}
            for a in range(32):
                valeursBinaire[a] = ''
                for b in range(32):
                    if 31 - a == b:
                        valeursBinaire[a] += '1'
                    else:
                        valeursBinaire[a] += '0'*
            
            pinData = 19
            pinClock = 23
            pinShift = 24
            
            delay = 0.05
            
            def On(pin):
                global valeursBinaire, pinData, pinClock, pinShift, delay
                for bits in range(32):
                    gpio.output(pinData, int(valeursBinaire[pin][bits]))
                    time.sleep(delay)
                    gpio.output(pinClock, 1)
                    time.sleep(delay)
                    gpio.output(pinClock, 0)
                    gpio.output(pinData, 0)
            
                gpio.output(pinShift, 1)
                time.sleep(delay)
                gpio.output(pinShift, 0)
            
            def Off():
                global valeursBinaire, pinData, pinClock, pinShift, delay
                for bits in range(32):
                    gpio.output(pinData, 0)
                    time.sleep(delay)
                    gpio.output(pinClock, 1)
                    time.sleep(delay)
                    gpio.output(pinClock, 0)
                    gpio.output(pinData, 0)
            
                gpio.output(pinShift, 1)
                time.sleep(delay)
                gpio.output(pinShift, 0)

            (Ce code ne permet d'allumer qu'une broche a la fois)

            • Partager sur Facebook
            • Partager sur Twitter

            Raspberry pi GPIO ext board

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown