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 [Ici] et rejoignez-nous dès aujourd’hui !

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

../_images/list_2.1.4_potentiometer.png

Schéma de câblage

../_images/image311.png ../_images/image312.png

Procédures expérimentales

Étape 1 : Construire le circuit.

../_images/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.

cd ~/davinci-kit-for-raspberry-pi/nodejs/

Étape 3 : Exécuter le code.

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

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

const Gpio = require('pigpio').Gpio;

Importer le module pigpio.

const ADC0834 = require('./adc0834.js').ADC0834;

Importer un constructeur ADC0834 pour utiliser le module adc0834.

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 :

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

../_images/image181.jpeg