Joy-PI Leçon #20 : Utiliser la platine d’expérimentation

La platine d’expérimentation (breadboard – si vous demandez à un traducteur la version français de breadboard, vous aurez « planche à pain ») est un élément très pratique qui permet de créer vos propres circuits.

Dans cet exemple, vous allez créer votre premier circuit personnalisé en faisant clignoter une LED. Pour alimenter électriquement la LED, nous utilisons un GPIO en tant que sortie, il faut également un 0V (GND), Joy-PI met à disposition les interfaces servo 1 et servo 2 (numéros 14 et 15 sur le plan). Sur le servo 1, la broche du GPIO 37 est accessible facilement.
Une LED produit de la lumière lorsqu’un courant électrique la traverse, mais si on connecte la LED directement avec une borne sur le GPIO et une borne au 0V, le courant électrique sera trop grand, et la LED sera détruite, il faut utiliser une résistance pour limiter le courant qui traverse la LED.
Mathématiquement, cela se passe ainsi :

  • La tension à la sortie du GPIO lorsque celui-ci est à l’état HAUT est de 5.0V
  • La LED provoque une chute de tension de l’ordre de 1.7V
  • Le courant traversant la LED ne doit pas dépasser 20mA

La formule à utiliser pour calculer la tension est celle-ci :

R=\frac{U}{I}=\frac{5.0V-1.7V}{20mA}=165\Omega

Une résistance de 165 Ohms n’existe pas, la valeur supérieure la plus proche est 180 Ohms (séries E12 et E24), la plupart du temps, on vous conseillera une résistance de 220 Ohms. Vous pouvez prendre une valeur de résistance plus grande (le LED produira moins de lumière), sinon un courant trop grand risque de détruire la LED.
Réalisez le montage ci-dessous, notez que les éléments (LED, résistance, câbles), ne sont pas fournis avec la mallette d’apprentissage et doivent être acquis séparément.

Afin que le GPIO 37 soit connecté sur le servo 1, il faut basculer à OFF les interrupteurs 7 et 8 du bloc de commutateur de droite :

Finalement, introduisez le programme suivant :

import time
import RPi.GPIO as GPIO

led_pin = 37

GPIO.setmode(GPIO.BOARD)
GPIO.setup(led_pin, GPIO.OUT)

try:
    while True:   
        GPIO.output(led_pin, GPIO.HIGH)
        time.sleep(3)
        GPIO.output(led_pin, GPIO.LOW)
        time.sleep(1)

except KeyboardInterrupt:
    GPIO.cleanup()

Laisser un commentaire