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 successivement les lumières du bargraphe LED.

Composants nécessaires

Dans ce projet, nous avons besoin des composants suivants.

../_images/list_led_bar.png

Name

ITEMS IN THIS KIT

LINK

Raphael Kit

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 de connexion. Si vous le connectez à l’envers, il ne s’allumera pas.

../_images/image66.png

Étape 2 : Allez dans le dossier du code.

cd ~/raphael-kit/c/1.1.3/

Étape 3 : Compilez le code.

gcc 1.1.3_LedBarGraph.c -lwiringPi

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

sudo ./a.out

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

Note

Si cela ne fonctionne pas après l’exécution, ou s’il y a une erreur : "wiringPi.h: No such file or directory", veuillez vous référer à Installer et vérifier WiringPi.

Code

#include <wiringPi.h>
#include <stdio.h>

int pins[10] = {0,1,2,3,4,5,6,8,9,10};
void oddLedBarGraph(void){
    for(int i=0;i<5;i++){
        int j=i*2;
        digitalWrite(pins[j],HIGH);
        delay(300);
        digitalWrite(pins[j],LOW);
    }
}
void evenLedBarGraph(void){
    for(int i=0;i<5;i++){
        int j=i*2+1;
        digitalWrite(pins[j],HIGH);
        delay(300);
        digitalWrite(pins[j],LOW);
    }
}
void allLedBarGraph(void){
    for(int i=0;i<10;i++){
        digitalWrite(pins[i],HIGH);
        delay(300);
        digitalWrite(pins[i],LOW);
    }
}
int main(void)
{
    if(wiringPiSetup() == -1){ //when initialize wiring failed,print message to screen
        printf("setup wiringPi failed !");
        return 1;
    }
    for(int i=0;i<10;i++){       //make led pins' mode is output
        pinMode(pins[i], OUTPUT);
        digitalWrite(pins[i],LOW);
    }
    while(1){
        oddLedBarGraph();
        delay(300);
        evenLedBarGraph();
        delay(300);
        allLedBarGraph();
        delay(300);
    }
    return 0;
}

Explication du code

int pins[10] = {0,1,2,3,4,5,6,8,9,10};

Créer un tableau et l’assigner aux numéros de broches correspondants au Bargraphe LED (0,1,2,3,4,5,6,8,9,10). Le tableau sera utilisé pour contrôler les LED.

void oddLedBarGraph(void){
    for(int i=0;i<5;i++){
        int j=i*2;
        digitalWrite(pins[j],HIGH);
        delay(300);
        digitalWrite(pins[j],LOW);
    }
}

Faire s’allumer successivement les LED des positions impaires du Bargraphe LED.

void evenLedBarGraph(void){
    for(int i=0;i<5;i++){
        int j=i*2+1;
        digitalWrite(pins[j],HIGH);
        delay(300);
        digitalWrite(pins[j],LOW);
    }
}

Faire s’allumer successivement les LED des positions paires du Bargraphe LED.

void allLedBarGraph(void){
    for(int i=0;i<10;i++){
        digitalWrite(pins[i],HIGH);
        delay(300);
        digitalWrite(pins[i],LOW);
    }
}

Faire s’allumer les LED du Bargraphe LED une par une.

Image du phénomène

../_images/image67.jpeg