.. note:: Bonjour et bienvenue dans la communauté des passionnés de SunFounder Raspberry Pi, Arduino et ESP32 sur Facebook ! Plongez dans l'univers de Raspberry Pi, Arduino et ESP32 avec d'autres passionnés. **Pourquoi nous rejoindre ?** - **Assistance 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. - **Apprenez et partagez** : Échangez des conseils et des tutoriels pour perfectionner vos compétences. - **Aperçus exclusifs** : Bénéficiez d'un accès anticipé aux annonces de nouveaux produits et d'aperçus exclusifs. - **Réductions spéciales** : Profitez 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_analog_input_output: 1.7 Contrôle de Sortie par Entrée Analogique ============================================== Aperçu --------- Vous pouvez installer un système d'entrée/sortie (I/O) utilisant des dispositifs d'entrée ou de sortie analogiques. Par exemple, vous pouvez utiliser un potentiomètre, une photo-résistance, un capteur de niveau d'eau, etc., pour contrôler la luminosité d'une LED, la vitesse d'un moteur, et bien d'autres choses. Dans cette leçon, nous allons utiliser un potentiomètre et une LED pour faire varier l'intensité lumineuse de la LED en fonction de la rotation du potentiomètre. Composants requis --------------------- .. image:: img/list_1.7.png * :ref:`cpn_mega2560` * :ref:`cpn_breadboard` * :ref:`cpn_wires` * :ref:`cpn_led` * :ref:`cpn_resistor` * :ref:`cpn_potentiometer` Circuit Fritzing ------------------- Dans cet exercice, nous utilisons la broche PWM 9 pour alimenter la LED. La broche analogique (A0) sert à lire la valeur du potentiomètre. Après avoir téléversé le code, vous constaterez que la luminosité de la LED varie en fonction de la rotation du potentiomètre. .. image:: img/image50.png Schéma électronique ---------------------- .. image:: img/image408.png Code ------ .. note:: * Vous pouvez ouvrir directement le fichier ``1.7_analogInputControlOutput.ino`` dans le dossier ``sunfounder_vincent_kit_for_arduino\code\1.7_analogInputControlOutput``. * Ou copier ce code dans l'IDE Arduino. .. raw:: html Une fois le code téléversé sur la carte Mega2560, vous observerez que l'intensité lumineuse de la LED varie avec la rotation du bouton du potentiomètre. Analyse du Code ----------------- Déclarez les broches pour la LED et le potentiomètre. .. code-block:: arduino const int sensorPin = A0; const int ledPin = 9; Dans setup(), définissez le mode de ledPin en tant que sortie (OUTPUT). .. code-block:: arduino pinMode(ledPin,OUTPUT); Lisez la valeur du potentiomètre dans loop(). .. code-block:: arduino int sensorValue=analogRead(sensorPin); Mappez la valeur lue sur le potentiomètre à une intensité lumineuse pour la LED (0-1024 est converti en 0-255). .. code-block:: arduino int brightness = map(sensorValue,0,1024,0,255); Appliquez la valeur d'intensité à la LED. .. code-block:: arduino analogWrite(ledPin,brightness); Illustration du phénomène ---------------------------- .. image:: img/image51.jpeg