Programmation Python - 16/12/2023

Informations :

  • Orateurs : 1
  • Nombre de participants : 6

Compte-rendu :

Au cours de cette séance, nous avons abordé le pilotage d'une interface de puissance : une carte équipée d'un relais. L'intérêt de ce genre de carte est de pouvoir piloter des équipements électriques qui demandent de la puissance : lampe, radiateur, etc.
La carte testée possède 3 connecteurs en entrée et 3 connecteurs en sortie.
Les entrées permettent de : 1) alimenter la carte et 2) de piloter (activer) le relais.
Les sorties permettent de brancher l'alimentation de puissance et le système à alimenter.
Les branchements à faire sont les suivants :

                    RPI - GPIO 4 --> SIGNAL - Carte relais
                    RPI - GND --> GND - Carte relais
                    RPI - 3.3 V --> VCC - Carte relais
                    

Les problèmes rencontrés sont nombreux :

  • Mauvaise connexion dans les tutoriels : la broche (pin) VCC était prévue sur le 5V -> il faut la mettre sur 3.3V.
  • La carte est pilotable en inverse : lorsque l'on met à 1 le signal d'entrée, le relais s'éteint, lorsque l'on met à 0, le relais s'active.

La documentation de cette carte relais est limitée ... et les tutoriels ne sont pas tous d'accord. Nous aurions pu s'attendre au pilotage inversé, car sur la carte est indiqué : "Low Trigger", c'est-à-dire un pilotage (activation) lorsque le signal est à l'état "low" (bas). Nous avons pu, au fur et à mesure de la séance, identifier les différents soucis et avons réussi au final le branchement et l'utilisation de cette carte relais.

Lors de cette séance, nous en avons profité pour tester une boucle "for" qui permet d'exécuter une répétition d'allumages et d'extinctions. Il est important, car le relais est un actionneur mécanique, de ne pas allumer / éteindre trop rapidement le relais, il faut au minimum laisser 1 seconde entre chaque opération.


# Importation de la librairie de fonctions
# qui permet de gérer le GPIO
import RPi.GPIO as GPIO
# Importation de la librairie de gestion du temps
import time

# On demande une configuration en numérotation de GPIO
GPIO.setmode(GPIO.BCM)
# On désactive les affichages de "warning"
GPIO.setwarnings(False)
# On utilise le GPIO 4, en sortie
GPIO.setup(4, GPIO.OUT)

# On demande une boucle de 4
for i in range(4):
    # On active le relais (logique inversée)
    GPIO.output(4, False)

    # On attend 1 seconde
    time.sleep(1.0)

    # On désactive le relais
    GPIO.output(4, True)

    # On attend une seconde
    time.sleep(1.0)
                    

Prochaines séances :

  • 23/12/2023 (10H00..12H00) : VACANCES !
  • 23/12/2023 (18H00..20H00) : VACANCES !
  • 30/12/2023 (10H00..12H00) : VACANCES !
  • 30/12/2023 (18H00..20H00) : VACANCES !