Schéma de câblage
Utilisez un bouton normalement ouvert comme entrée pour le Raspberry Pi. Le
schéma de connexion est illustré ci-dessous. Lorsque le bouton est enfoncé,
le GPIO18 passe au niveau bas (0V). Nous pouvons détecter l’état du GPIO18
par programmation. Ainsi, si le GPIO18 est au niveau bas, cela signifie que
le bouton est pressé. Vous pouvez alors exécuter le code correspondant lorsque
le bouton est pressé, et la LED s’allumera.
Note
La broche la plus longue de la LED est l’anode (positive) et la plus courte
est la cathode (négative).
Procédures expérimentales
Étape 1 : Construire le circuit.
Étape 2 : Accéder au dossier du code.
cd ~/davinci-kit-for-raspberry-pi/nodejs/
Étape 3 : Exécuter le code.
Maintenant, appuyez sur le bouton et la LED s’allumera ; relâchez le bouton
et la LED s’éteindra.
Code
const Gpio = require('pigpio').Gpio;
const led = new Gpio(17, {mode: Gpio.OUTPUT});
const button = new Gpio(18, {
mode: Gpio.INPUT,
pullUpDown: Gpio.PUD_DOWN,
edge: Gpio.EITHER_EDGE
});
button.on('interrupt', (level) => {
led.digitalWrite(level);
});
Explication du code
const Gpio = require('pigpio').Gpio;
const led = new Gpio(17, {mode: Gpio.OUTPUT});
Importer le module pigpio
et créer un objet led pour contrôler le port IO Gpio17, en le définissant en mode sortie.
const button = new Gpio(18, {
mode: Gpio.INPUT,
pullUpDown: Gpio.PUD_DOWN,
edge: Gpio.EITHER_EDGE
});
Créer un objet button pour contrôler le port IO Gpio18, le définir en mode entrée,
avec une résistance de tirage vers le bas (niveau bas lorsque le bouton n’est pas pressé,
niveau haut lorsqu’il est pressé). Le mode d’interruption est défini sur EITHER_EDGE
,
c’est-à-dire que les flancs montants et descendants déclenchent la fonction d’interruption.
button.on('interrupt', (level) => {
led.digitalWrite(level);
});
Écrire une fonction d’interruption. Lorsque le bouton est pressé, cela correspond à un flanc descendant,
ce qui déclenche la fonction d’interruption. À ce moment-là, le niveau bas du port IO du bouton est transmis
au port IO de la LED, et la LED s’allume.
Quand le bouton est relâché, il s’agit d’un flanc montant, déclenchant à nouveau la fonction
d’interruption. À ce moment-là, le niveau haut du port IO du bouton est transmis au port IO
de la LED, et la LED s’éteint.