.. note:: Bonjour, bienvenue dans la communauté SunFounder Raspberry Pi & Arduino & ESP32 sur Facebook ! Plongez plus profondément dans l’univers du Raspberry Pi, d’Arduino et d’ESP32 avec d’autres passionnés. **Pourquoi nous rejoindre ?** - **Assistance d'experts** : Résolvez les problèmes après-vente et surmontez les défis techniques avec l’aide de notre communauté et de notre équipe. - **Apprenez et Partagez** : Échangez des conseils et des tutoriels pour améliorer vos compétences. - **Aperçus exclusifs** : Bénéficiez d’un accès anticipé aux annonces de nouveaux produits et à des avant-premières. - **Réductions spéciales** : Profitez de remises exclusives sur nos derniers produits. - **Promotions festives et concours** : Participez à des concours et à des promotions spéciales. 👉 Prêt à explorer et à créer avec nous ? Cliquez sur [|link_sf_facebook|] et rejoignez-nous dès aujourd'hui ! .. _2.1.4_pot_js: 2.1.4 Potentionmeter ======================= Introduction --------------- La fonction ADC (Convertisseur Analogique-Numérique) permet de convertir des signaux analogiques en signaux numériques. Dans cette expérience, nous utilisons l’ADC0834 pour implémenter cette fonctionnalité. Ici, nous effectuons ce processus à l’aide d’un potentiomètre. Le potentiomètre modifie la quantité physique, c’est-à-dire la tension, qui est convertie par la fonction ADC. Composants ------------- .. image:: ../img/list_2.1.4_potentiometer.png Schéma de câblage -------------------- .. image:: ../img/image311.png .. image:: ../img/image312.png Procédures expérimentales ------------------------------ **Étape 1 :** Construire le circuit. .. image:: ../img/image180.png .. note:: Veuillez positionner la puce en vous référant à la position correspondante indiquée dans l'image. Notez que les encoches de la puce doivent être orientées vers la gauche lors de son placement. **Étape 2 :** Accéder au dossier du code. .. raw:: html .. code-block:: cd ~/davinci-kit-for-raspberry-pi/nodejs/ **Étape 3 :** Exécuter le code. .. raw:: html .. code-block:: sudo node potentionmeter.js Après l'exécution du code, tournez le bouton du potentiomètre : l'intensité de la LED changera en conséquence. **Code** .. code-block:: js const Gpio = require('pigpio').Gpio; const ADC0834 = require('./adc0834.js').ADC0834; const adc = new ADC0834(17, 18, 27); const led = new Gpio(22, {mode: Gpio.OUTPUT}); setInterval(() => { adc.read(0).then((value) => { console.log(`Current analogVal: ${value}\n`); led.pwmWrite(value); }, (error)=>{ console.log("Error: " + error); }); }, 100); **Explication du code** .. code-block:: js const Gpio = require('pigpio').Gpio; Importer le module ``pigpio``. .. code-block:: js const ADC0834 = require('./adc0834.js').ADC0834; Importer un constructeur ``ADC0834`` pour utiliser le module adc0834. .. code-block:: js const adc = new ADC0834(17, 18, 27); Instancier un objet ADC0834, les trois paramètres correspondent à ses trois broches. Il s'agit d'un objet ``Promise``. Vous pouvez approfondir ce concept via le lien suivant : * `Promise `_ .. code-block:: js setInterval(() => { adc.read(0).then((value) => { console.log(`Current analogVal: ${value}\n`); led.pwmWrite(value); }, (error)=>{ console.log("Error: " + error); }); }, 100); La valeur du canal 0 de l’ADC0834 (le canal 0 est connecté au potentiomètre) est lue toutes les 100 ms, et la valeur sera stockée dans ``value``. Affichez ``value`` et utilisez-le pour contrôler la luminosité de la LED. Vous verrez alors la luminosité de la LED varier en fonction de la position du potentiomètre. Image du résultat -------------------- .. image:: ../img/image181.jpeg