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.1 LED Clignotante

Introduction

Dans ce projet, nous allons apprendre à faire clignoter une LED par programmation. En effectuant les bons réglages, votre LED peut produire une série de phénomènes intéressants. Alors, allons-y.

Composants Requis

Pour ce projet, nous avons besoin des composants suivants.

../_images/blinking_led_list1.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 à partir des 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

LED

ACHETER

Schéma de Câblage

Dans cette expérience, connectez une résistance de 220Ω à l’anode (la longue patte de la LED), puis la résistance à 3,3 V, et connectez la cathode (la courte patte) de la LED à GPIO17 du Raspberry Pi. Par conséquent, pour allumer une LED, nous devons mettre GPIO17 à un niveau bas (0V). Nous pouvons obtenir ce phénomène par programmation.

../_images/image481.png

Procédures Expérimentales

Étape 1 : Construisez le circuit.

../_images/image491.png

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

cd ~/raphael-kit/nodejs/

Note

Changez de répertoire vers le chemin du code dans cette expérience via cd.

Étape 3 : Exécutez le code

sudo node blink.js

Note

Ici, sudo - superuser do, et python signifie exécuter le fichier par Python.

Après l’exécution du code, vous verrez la LED clignoter.

Étape 4 : Si vous souhaitez modifier le fichier de code blink.js, appuyez sur Ctrl + C pour arrêter l’exécution du code. Ensuite, tapez la commande suivante pour ouvrir blink.js :

nano blink.js

Note

nano est un outil d’édition de texte. La commande est utilisée pour ouvrir le fichier de code blink.js avec cet outil.

Appuyez sur Ctrl+X pour quitter. Si vous avez modifié le code, une invite vous demandera si vous souhaitez enregistrer les modifications ou non. Tapez Y (enregistrer) ou N (ne pas enregistrer).

Puis appuyez sur Enter pour quitter. Tapez à nouveau nano blink.js pour voir l’effet après la modification.

Code

Voici le code du programme :

const Gpio = require('pigpio').Gpio;
const led = new Gpio(17,{mode: Gpio.OUTPUT});

var led_state = 0;

function blink_led(){
   led.digitalWrite(led_state);
   led_state = !led_state;
}

setInterval(blink_led,300);

Ou bien, écrivez le code sous forme de fonction fléchée plus spécifique à js :

const Gpio = require('pigpio').Gpio;
const led = new Gpio(17,{mode: Gpio.OUTPUT});

var led_state = 0;

setInterval(() => {
   led.digitalWrite(led_state);
   led_state = !led_state;
}, 300);

Explication du code

const Gpio = require('pigpio').Gpio;

Importer le constructeur Gpio dans le package pigpio de cette manière, et ensuite définir une constante Gpio pour représenter ce constructeur.

Avec une variété de constructeurs, nous pouvons utiliser js pour contrôler des dispositifs électroniques. pigpio peut être utilisé pour implémenter des GPIO rapides, le contrôle PWM, le contrôle de servo, la notification de changement d’état et la gestion des interruptions.

const led = new Gpio(17,{mode: Gpio.OUTPUT});

Le mot-clé new est utilisé pour construire des objets instanciés de la classe.

Connectez la LED au GPIO17 de la carte d’extension en forme de T, définissez le mode du LedPin sur sortie et assignez-le à la constante led, c’est-à-dire construisez un objet GPIO17 led, et son mode est le mode sortie.

Il existe deux façons de numéroter les broches IO sur le Raspberry Pi : numéro BOARD et numéro BCM. Dans notre projet, nous utilisons le numéro BCM. Vous devez définir chaque canal utilisé comme entrée ou sortie.

function blink_led(){
   led.digitalWrite(led_state);
   led_state = !led_state;
}

setInterval(blink_led,300);

La méthode setInterval() peut appeler des fonctions ou calculer des expressions avec une période spécifiée (en millisecondes). Ici, nous changeons l’état de fonctionnement de la LED avec une période de 300 ms.

La méthode gpio.digitalWrite(level) définit le niveau du gpio à 1 ou 0.

var led_state = 0;

setInterval(() => {
   led.digitalWrite(led_state);
   led_state = !led_state;
}, 300);

Réécrivez le code en tant que fonction fléchée pour rendre le code plus court.

Image du Phénomène

../_images/image541.jpeg