Note

Bonjour et bienvenue dans la Communauté Facebook des passionnés de Raspberry Pi, Arduino et ESP32 de SunFounder ! Plongez plus profondément dans l’univers des Raspberry Pi, Arduino et ESP32 avec d’autres passionnés.

Pourquoi rejoindre ?

  • Support d’experts : Résolvez les problèmes après-vente et les défis techniques avec l’aide de notre communauté et de notre équipe.

  • Apprendre et partager : Échangez des astuces et des tutoriels pour améliorer vos compétences.

  • Aperçus exclusifs : Accédez en avant-première aux annonces de nouveaux produits et aux aperçus.

  • Réductions spéciales : Profitez de réductions exclusives sur nos produits les plus récents.

  • Promotions festives et cadeaux : Participez à des cadeaux et des promotions de vacances.

👉 Prêt à explorer et à créer avec nous ? Cliquez [Ici] et rejoignez-nous aujourd’hui !

1.1.3 Bargraphe à LED

Introduction

Dans ce projet, nous allons allumer séquentiellement les lumières du bargraphe à LED.

Composants nécessaires

Pour ce projet, nous avons besoin des composants suivants.

../_images/list_led_bar.png

Il est certainement pratique d’acheter un kit complet, voici le lien :

Nom

ÉLÉMENTS DANS CE KIT

LIEN

Kit Raphael

337

Raphael Kit

Vous pouvez également les acheter séparément via les liens ci-dessous.

INTRODUCTION DES COMPOSANTS

LIEN D’ACHAT

Carte d’extension GPIO

ACHETER

Plaque d’expérimentation (Breadboard)

ACHETER

Fils de Liaison

ACHETER

Résistance

ACHETER

Graphique à barres LED

-

Schéma de câblage

Nom T-Board

Physique

wiringPi

BCM

GPIO17

Pin 11

0

17

GPIO18

Pin 12

1

18

GPIO27

Pin 13

2

27

GPIO22

Pin 15

3

22

GPIO23

Pin 16

4

23

GPIO24

Pin 18

5

24

GPIO25

Pin 22

6

25

SDA1

Pin 3

8

2

SCL1

Pin 5

9

3

SPICE0

Pin 24

10

8

../_images/schematic_led_bar.png

Procédures expérimentales

Étape 1: Construisez le circuit.

Note

Faites attention au sens lors de la connexion. Si vous le connectez à l’envers, il ne s’allumera pas.

../_images/image66.png

Étape 2: Accédez au dossier du code.

cd ~/raphael-kit/python/

Étape 3: Exécutez le fichier exécutable.

sudo python3 1.1.3_LedBarGraph.py

Après l’exécution du code, vous verrez les LED du bargraphe s’allumer et s’éteindre régulièrement.

Code

Note

Vous pouvez Modifier/Réinitialiser/Copier/Exécuter/Arrêter le code ci-dessous. Mais avant cela, vous devez accéder au chemin du code source comme raphael-kit/python. Après avoir modifié le code, vous pouvez l’exécuter directement pour voir l’effet.

import RPi.GPIO as GPIO
import time

ledPins = [11, 12, 13, 15, 16, 18, 22, 3, 5, 24]

def oddLedBarGraph():
    for i in range(5):
        j = i*2
        GPIO.output(ledPins[j],GPIO.LOW)
        time.sleep(0.3)
        GPIO.output(ledPins[j],GPIO.HIGH)

def evenLedBarGraph():
    for i in range(5):
        j = i*2+1
        GPIO.output(ledPins[j],GPIO.LOW)
        time.sleep(0.3)
        GPIO.output(ledPins[j],GPIO.HIGH)

def allLedBarGraph():
    for i in ledPins:
        GPIO.output(i,GPIO.LOW)
        time.sleep(0.3)
        GPIO.output(i,GPIO.HIGH)

def setup():
    GPIO.setwarnings(False)
    GPIO.setmode(GPIO.BOARD)        # Numbers GPIOs by physical location
    for i in ledPins:
        GPIO.setup(i, GPIO.OUT)   # Set all ledPins' mode is output
        GPIO.output(i, GPIO.HIGH) # Set all ledPins to high(+3.3V) to off led

def loop():
    while True:
        oddLedBarGraph()
        time.sleep(0.3)
        evenLedBarGraph()
        time.sleep(0.3)
        allLedBarGraph()
        time.sleep(0.3)

def destroy():
    for pin in ledPins:
        GPIO.output(pin, GPIO.HIGH)    # turn off all leds
    GPIO.cleanup()                     # Release resource

if __name__ == '__main__':     # Program start from here
    setup()
    try:
        loop()
    except KeyboardInterrupt:  # When 'Ctrl+C' is pressed, the program destroy() will be  executed.
        destroy()

Explication du code

ledPins = [11, 12, 13, 15, 16, 18, 22, 3, 5, 24] Créez un tableau et assignez-lui le numéro de broche correspondant au LED Bar Graph (11, 12, 13, 15, 16, 18, 22, 3, 5, 24). Ce tableau sera utilisé pour contrôler les LED.

def oddLedBarGraph():
    for i in range(5):
        j = i*2
        GPIO.output(ledPins[j],GPIO.LOW)
        time.sleep(0.3)
        GPIO.output(ledPins[j],GPIO.HIGH)

Let the LED on the odd digit of the LED Bar Graph light on in turn.

def evenLedBarGraph():
    for i in range(5):
        j = i*2+1
        GPIO.output(ledPins[j],GPIO.LOW)
        time.sleep(0.3)
        GPIO.output(ledPins[j],GPIO.HIGH)

Make the LED on the even digit of the LED Bar Graph light on in turn.

def allLedBarGraph():
    for i in ledPins:
        GPIO.output(i,GPIO.LOW)
        time.sleep(0.3)
        GPIO.output(i,GPIO.HIGH)

Fait s’allumer les LED du LED Bar Graph une par une.

Image du phénomène

../_images/image67.jpeg