.. note:: Bonjour et bienvenue dans la communauté des passionnés de SunFounder Raspberry Pi, Arduino et ESP32 sur Facebook ! Plongez au cœur 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 avec l'aide de notre communauté et de notre équipe. - **Apprendre et partager** : Échangez des conseils et des tutoriels pour améliorer vos compétences. - **Aperçus exclusifs** : Profitez d'un accès anticipé aux annonces de nouveaux produits et aux aperçus exclusifs. - **Réductions spéciales** : Bénéficiez de remises exclusives sur nos derniers produits. - **Promotions et cadeaux festifs** : Participez à des promotions spéciales et à des tirages au sort. 👉 Prêt à explorer et créer avec nous ? Cliquez sur [|link_sf_facebook|] et rejoignez-nous dès aujourd'hui ! .. _ar_digital_input_output: 1.6 Contrôle de Sortie par Entrée Numérique ============================================= Aperçu -------- Avec la compréhension des commandes digitalWrite() et digitalRead(), nous pouvons créer un système d'Entrée/Sortie complet pour contrôler un appareil de sortie en obtenant des données d'un appareil d'entrée. Nous pouvons utiliser cette méthode pour permettre à des composants d'entrée numérique tels que le bouton, le capteur tactile, ou le capteur de mouvement infrarouge de contrôler des dispositifs de sortie numérique tels que des LED ou des buzzers actifs. Dans cette leçon, nous allons utiliser un bouton et une LED pour illustrer le contrôle d'une LED par un bouton avec une condition (if-else). Composants requis ------------------ .. image:: img/list_1.6.png * :ref:`cpn_mega2560` * :ref:`cpn_breadboard` * :ref:`cpn_wires` * :ref:`cpn_button` * :ref:`cpn_resistor` Circuit Fritzing ------------------- Dans cet exemple, nous utilisons la broche 9 pour allumer la LED. Utilisez la broche numérique 2 pour lire le signal du bouton. Lorsque le bouton est pressé, la LED s'allume. .. image:: img/image48.png Schéma électronique --------------------- .. image:: img/image407.png Code ------ .. note:: * Vous pouvez ouvrir directement le fichier ``1.6_digitalInputControlOutput.ino`` dans le dossier ``sunfounder_vincent_kit_for_arduino\code\1.6_digitalInputControlOutput``. * Ou copier ce code dans l'IDE Arduino. .. raw:: html Une fois le code téléversé sur la carte Mega2560, vous pouvez maintenir le bouton enfoncé pour allumer la LED. Analyse du Code --------------- Déclarez les broches de la LED et du bouton, et déclarez une variable pour stocker l'état du bouton. .. code-block:: arduino const int buttonPin = 2; const int ledPin = 9; int buttonState = 0; Initialisez le mode des broches dans setup(). .. code-block:: arduino pinMode(ledPin, OUTPUT); pinMode(buttonPin, INPUT); Lisez l'état du bouton dans loop() et assignez-le à la variable buttonState. .. code-block:: arduino buttonState = digitalRead(buttonPin); Utilisez une condition if pour vérifier : si un signal haut est détecté depuis le bouton, allumez la LED. .. code-block:: arduino if (buttonState == HIGH) { digitalWrite(ledPin, HIGH); } Sinon, éteignez la LED. .. code-block:: arduino else { digitalWrite(ledPin, LOW); } Illustration du phénomène ------------------------- .. image:: img/image49.jpeg