Bemerkung

Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.

Warum beitreten?

  • Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.

  • Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.

  • Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.

  • Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.

  • Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.

👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [hier] und treten Sie heute bei!

2.1.7 Potentiometer

Bemerkung

../_images/mcp3008_and_adc0834.jpg

Abhängig von Ihrer Kit-Version identifizieren Sie bitte, ob Sie ADC0834 oder MCP3008 haben, und fahren Sie mit dem entsprechenden Abschnitt fort.

Einführung

Die ADC-Funktion kann verwendet werden, um analoge Signale in digitale Signale umzuwandeln. In diesem Experiment verwenden wir den ADC0834, um die Funktion in Verbindung mit ADC zu nutzen. Hier setzen wir diesen Prozess mit einem Potentiometer um. Ein Potentiometer ändert die physikalische Größe – die Spannung, die dann von der ADC-Funktion umgewandelt wird.

Benötigte Komponenten

Für dieses Projekt benötigen wir folgende Komponenten:

../_images/list_2.1.4_potentiometer.png

Es ist definitiv praktisch, ein ganzes Set zu kaufen. Hier ist der Link:

Name

ARTIKEL IN DIESEM KIT

LINK

Raphael Kit

337

Raphael Kit

Sie können sie auch über die untenstehenden Links einzeln kaufen:

KOMPONENTENBESCHREIBUNG

KAUF-LINK

GPIO Extension Board

KAUFEN

Steckbrett

KAUFEN

Jumper-Kabel

KAUFEN

Widerstand

KAUFEN

LED

KAUFEN

Potentiometer

KAUFEN

ADC0834

-

Schaltplan

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

Experimentelle Verfahren

Schritt 1: Bauen Sie die Schaltung auf.

../_images/image180.png

Bemerkung

Bitte positionieren Sie den Chip entsprechend der Darstellung auf dem Bild. Beachten Sie, dass die Rillen des Chips links liegen sollten, wenn er platziert wird.

Schritt 2: Wechseln Sie in den Ordner mit dem Code.

cd ~/raphael-kit/nodejs/

Schritt 3: Führen Sie den Code aus.

sudo node potentionmeter.js

Nachdem der Code ausgeführt wurde, drehen Sie den Knopf am Potentiometer. Die Intensität der LED wird entsprechend verändert.

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);

Code-Erklärung

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

Import des pigpio Moduls.

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

Wir importieren einen ADC0834 Konstruktor, um das adc0834 Modul zu verwenden.

const adc = new ADC0834(17, 18, 27);

Ein ADC0834-Objekt instanziieren; die drei Parameter sind seine drei Pins.

Dies ist ein Promise-Objekt. Sie könnten das Konzept unter dem folgenden Link verstehen wollen:

setInterval(() => {
    adc.read(0).then((value) => {
        console.log(`Current analogVal: ${value}\n`);
        led.pwmWrite(value);
    }, (error)=>{
        console.log("Error: " + error);
    });
}, 100);

Der Wert des ADC0834 Kanal 0 (Kanal 0 ist mit dem Potentiometer verbunden) wird alle 100ms gelesen, und der Wert wird in value gespeichert.

Geben Sie value aus und verwenden Sie es, um die Helligkeit der LED zu steuern. Nun sehen Sie, dass die Helligkeit der LED sich mit dem Wert des Potentiometers ändert.

Phänomen-Bild

../_images/image181.jpeg