.. note:: 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 [|link_sf_facebook|] und treten Sie heute bei! .. _2.1.7_js: 2.1.7 Potentiometer ===================== .. note:: .. image:: ../img/mcp3008_and_adc0834.jpg :width: 25% :align: left 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: .. image:: ../img/list_2.1.4_potentiometer.png Es ist definitiv praktisch, ein ganzes Set zu kaufen. Hier ist der Link: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - Name - ARTIKEL IN DIESEM KIT - LINK * - Raphael Kit - 337 - |link_Raphael_kit| Sie können sie auch über die untenstehenden Links einzeln kaufen: .. list-table:: :widths: 30 20 :header-rows: 1 * - KOMPONENTENBESCHREIBUNG - KAUF-LINK * - :ref:`cpn_gpio_board` - |link_gpio_board_buy| * - :ref:`cpn_breadboard` - |link_breadboard_buy| * - :ref:`cpn_wires` - |link_wires_buy| * - :ref:`cpn_resistor` - |link_resistor_buy| * - :ref:`cpn_led` - |link_led_buy| * - :ref:`cpn_potentiometer` - |link_potentiometer_buy| * - :ref:`cpn_adc0834` - \- Schaltplan ---------- .. image:: ../img/image311.png .. image:: ../img/image312.png Experimentelle Verfahren ----------------------------- **Schritt 1:** Bauen Sie die Schaltung auf. .. image:: ../img/image180.png .. note:: 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. .. raw:: html .. code-block:: cd ~/raphael-kit/nodejs/ **Schritt 3:** Führen Sie den Code aus. .. raw:: html .. code-block:: 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** .. 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); **Code-Erklärung** .. code-block:: js const Gpio = require('pigpio').Gpio; Import des ``pigpio`` Moduls. .. code-block:: js const ADC0834 = require('./adc0834.js').ADC0834; Wir importieren einen ``ADC0834`` Konstruktor, um das adc0834 Modul zu verwenden. .. code-block:: js 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: * `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); 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 ---------------- .. image:: ../img/image181.jpeg