Note

Bonjour, bienvenue dans la communauté SunFounder Raspberry Pi, Arduino et ESP32 sur Facebook ! Plongez dans l’univers du Raspberry Pi, Arduino et ESP32 avec d’autres passionnés.

Pourquoi nous rejoindre ?

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

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

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

  • Réductions spéciales : Profitez de remises exclusives sur nos derniers produits.

  • Promotions festives et cadeaux : Participez à des tirages au sort et des promotions spéciales.

👉 Prêt à explorer et créer avec nous ? Cliquez sur [ici] et rejoignez-nous dès aujourd’hui !

2.5 - Lecture de la Valeur d’un Bouton

Le nom GPIO (Entrée/Sortie Générale) suggère que ces broches ont à la fois des fonctions d’entrée et de sortie. Dans les leçons précédentes, nous avons utilisé la fonction de sortie ; dans ce chapitre, nous allons utiliser la fonction d’entrée pour lire la valeur du bouton.

Composants requis

Pour ce projet, nous avons besoin des composants suivants.

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

Nom

ARTICLES DANS CE KIT

LIEN D’ACHAT

Kit Kepler

450+

Kepler Ultimate Kit

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

INTRODUCTION DES COMPOSANTS

QUANTITÉ

LIEN D’ACHAT

1

Découvrir le Pico W

1

ACHETER

2

Câble Micro USB

1

3

Plaque d’essai (Breadboard)

1

ACHETER

4

Fils de connexion (Jumper Wires)

Plusieurs

ACHETER

5

Résistance

1 (10KΩ)

ACHETER

6

Bouton

1

ACHETER

Schéma

sch_button

Un côté de la broche du bouton est connecté à 3,3V et l’autre côté est connecté à GP14. Ainsi, lorsque le bouton est appuyé, GP14 sera en niveau haut. Cependant, lorsque le bouton n’est pas appuyé, GP14 est en état flottant et peut être haut ou bas. Pour obtenir un niveau bas stable lorsque le bouton n’est pas appuyé, GP14 doit être reconnecté à la masse (GND) via une résistance de tirage de 10K.

Câblage

wiring_button

Note

Nous pouvons considérer le bouton à quatre broches comme un bouton en forme de H. Ses deux pieds gauche (droite) sont connectés, ce qui signifie que lorsqu’il traverse la ligne de séparation centrale, il connecte les deux demi-rangées du même numéro de rangée ensemble. (Par exemple, dans mon circuit, E23 et F23 sont connectés, tout comme E25 et F25).

Avant que le bouton ne soit pressé, les côtés gauche et droit sont indépendants l’un de l’autre, et le courant ne peut pas circuler d’un côté à l’autre.

Code

Note

  • Vous pouvez ouvrir le fichier 2.5_reading_button_value.ino sous le chemin kepler-kit-main/arduino/2.5_reading_button_value.

  • Ou copiez ce code dans l”Arduino IDE.

  • N’oubliez pas de sélectionner la carte (Raspberry Pi Pico) et le port correct avant de cliquer sur le bouton Upload.

Après l’exécution du code, cliquez sur l’icône de la loupe dans le coin supérieur droit de l’IDE Arduino (Moniteur Série).

../_images/open_serial_monitor.png

Maintenant, lorsque vous appuyez sur le bouton, le Moniteur Série affichera « Vous avez appuyé sur le bouton ! ».

Comment ça fonctionne ?

Pour activer le Moniteur Série, vous devez démarrer la communication série dans setup() et définir le débit de données à 9600.

Serial.begin(115200);

Pour le bouton, nous devons définir leur mode sur INPUT pour pouvoir obtenir leurs valeurs.

pinMode(buttonPin, INPUT);

Lisez l’état de buttonPin dans loop() et assignez-le à la variable buttonState.

buttonState = digitalRead(buttonPin);

Si buttonState est HAUT, la LED clignotera. Affichez « Vous avez appuyé sur le bouton ! » sur le Moniteur Série.

if (buttonState == HIGH) {
    Serial.println("You pressed the button!");
}

Mode de fonctionnement Pull-up

Voici le câblage et le code lorsque le bouton est en mode pull-up. Veuillez essayer.

wiring_button_pullup

La seule différence que vous verrez avec le mode pull-down est que la résistance de 10K est connectée à 3,3V et le bouton est connecté à la masse, de sorte que lorsque le bouton est pressé, GP14 recevra un niveau bas, ce qui est l’opposé de la valeur obtenue en mode pull-down. Il suffit donc de changer ce code en if (buttonState == LOW).