Note

Bonjour et bienvenue dans la communauté des passionnés de SunFounder Raspberry Pi, Arduino et ESP32 sur Facebook ! Découvrez plus en profondeur le monde de 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 conseils et des tutoriels pour développer vos compétences.

  • Aperçus exclusifs : Profitez d’un accès anticipé aux nouvelles annonces de produits et aux avant-premières.

  • Réductions spéciales : Bénéficiez de remises exclusives sur nos nouveaux produits.

  • Promotions festives et concours : Participez à des concours et à des promotions de saison.

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

1.4 Lecture numérique

Aperçu

Vous pouvez utiliser la commande digitalRead() pour lire l’état de niveau d’une broche numérique. Cette commande est adaptée aux éléments d’entrée numériques tels que le bouton, le capteur tactile, le capteur de mouvement infrarouge, etc. Cet article prendra l’exemple du bouton pour lire l’état de niveau.

Cet exemple vous montre également comment surveiller l’état d’un interrupteur en utilisant l’USB pour établir une communication série entre une carte de contrôle et un ordinateur.

Composants requis

../_images/list_1.4.png

Circuit Fritzing

Dans cet exemple, nous lisons le signal du bouton avec la broche numérique 2. Lorsque le bouton n’est pas appuyé, la broche numérique 2 (via la résistance de pull-down) est reliée à la masse pour lire le niveau bas (0) ; lorsque le bouton est enfoncé, les deux broches sont connectées, et la broche est reliée à l’alimentation 5V, permettant de lire le niveau haut (1).

../_images/image403.png

Note

Si vous déconnectez la broche d’entrée/sortie numérique de tout, la LED peut clignoter de manière aléatoire. Cela est dû au fait que l’entrée est « flottante » - c’est-à-dire qu’elle n’a pas de connexion solide avec la tension ou la masse et retournera donc de manière aléatoire soit HIGH soit LOW. C’est pourquoi une résistance de pull-down est nécessaire dans le circuit.

Schéma électronique

../_images/image404.png

Code

Note

  • Vous pouvez ouvrir directement le fichier 1.4_digitalRead.ino dans le dossier sunfounder_vincent_kit_for_arduino\code\1.4_digitalRead.

  • Ou copier ce code dans l’IDE Arduino.

Après avoir téléversé le code sur la carte Mega2560, nous pouvons ouvrir le moniteur série pour observer la valeur lue de la broche. Lorsque vous appuyez sur le bouton, le moniteur série affichera 「1」, et lorsque le bouton est relâché, 「0」 sera affiché.

Analyse du Code

Démarrez la communication série dans setup() et définissez la vitesse de transmission à 9600.

Serial.begin(9600);

Vous devez également configurer l’état de la broche numérique 2 sur INPUT pour lire l’état de sortie du bouton.

pinMode(2, INPUT);

Utilisez l’instruction digitalRead() dans loop() pour lire l’état de niveau de la broche numérique 2 et déclarez une variable pour stocker cet état.

int buttonState = digitalRead(2);

Imprimez la valeur stockée par la variable sur le moniteur série.

Serial.println(buttonState);

Utilisez les instructions delay() pour faciliter l’observation des résultats imprimés.

delay(1);

※ Comment activer le Moniteur Série

Cliquez sur l’icône en forme de loupe en haut à droite de la fenêtre de programmation de l’IDE Arduino pour ouvrir le Moniteur Série.

../_images/image405.png

Image du Phénomène

../_images/image43.jpeg