Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Ansteuerung eines Digital-Potentiometers (z.B. MCP4151)

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Ansteuerung eines Digital-Potentiometers (z.B. MCP4151)

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
3 Beiträge 2 Kommentatoren 209 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • K Offline
    K Offline
    Kurti
    schrieb am zuletzt editiert von Homoran
    #1

    Hallo Community,
    hat vielleicht jemand Erfahrung in der Ansteuerung von Digital-Potentiometern mittels IoBroker und Raspberry? Ich versuche das Digi-Pot MCP4151 über seine SPI-Schnittstelle (Seriell Peripheral Interface) aus IoBroker heraus mittels JavaScript gemäß nachfolgendem Script anzusteuern, bekomme aber immer die Fehlermeldung "Error opening SPI-device". Vielleicht kann mir jemand helfen, die Fehlerursache zu beseitigen.

    const SpiDevice = require('/opt/iobroker/node_modules/spi-device/spi-device.js');
    
    // Define the SPI configuration for the MCP4151
    const spiConfig = {
      mode: SpiDevice.MODE0,     // SPI mode 0
      chipSelectHigh: false,     // Active low CS
      maxSpeedHz: 20000,       // Maximum SPI clock speed (1 MHz)
    };
    
    // Define the MCP4151 command to set the potentiometer value
    const MCP4151_WRITE_COMMAND = 0x00;
    
    // Function to set the potentiometer value
    function setPotentiometerValue(spi, value) {
      const message = [{
        sendBuffer: Buffer.from([MCP4151_WRITE_COMMAND, value]),
        byteLength: 2,
      }];
    
      spi.transfer(message, (error) => {
        if (error) {
          console.error('SPI transfer error:', error);
        } else {
          console.log(`Potentiometer value set to ${value}`);
        }
        spi.close(() => {
          console.log('SPI device closed');
        });
      });
    }
    
    // Open the SPI device
    const spi = SpiDevice.open(0, 0, spiConfig, (error) => {
      if (error) {
        // @ts-ignore
        console.error('Error opening Rie-SPI device:', error);
      } else {
        // Set the potentiometer value (0-255)
        const potValue = 128; // Change this to your desired value
        setPotentiometerValue(spi, potValue);
      }
    });
    

    MOD-EDIT: Code in code-tags gesetzt!

    K 1 Antwort Letzte Antwort
    0
    • K Kurti

      Hallo Community,
      hat vielleicht jemand Erfahrung in der Ansteuerung von Digital-Potentiometern mittels IoBroker und Raspberry? Ich versuche das Digi-Pot MCP4151 über seine SPI-Schnittstelle (Seriell Peripheral Interface) aus IoBroker heraus mittels JavaScript gemäß nachfolgendem Script anzusteuern, bekomme aber immer die Fehlermeldung "Error opening SPI-device". Vielleicht kann mir jemand helfen, die Fehlerursache zu beseitigen.

      const SpiDevice = require('/opt/iobroker/node_modules/spi-device/spi-device.js');
      
      // Define the SPI configuration for the MCP4151
      const spiConfig = {
        mode: SpiDevice.MODE0,     // SPI mode 0
        chipSelectHigh: false,     // Active low CS
        maxSpeedHz: 20000,       // Maximum SPI clock speed (1 MHz)
      };
      
      // Define the MCP4151 command to set the potentiometer value
      const MCP4151_WRITE_COMMAND = 0x00;
      
      // Function to set the potentiometer value
      function setPotentiometerValue(spi, value) {
        const message = [{
          sendBuffer: Buffer.from([MCP4151_WRITE_COMMAND, value]),
          byteLength: 2,
        }];
      
        spi.transfer(message, (error) => {
          if (error) {
            console.error('SPI transfer error:', error);
          } else {
            console.log(`Potentiometer value set to ${value}`);
          }
          spi.close(() => {
            console.log('SPI device closed');
          });
        });
      }
      
      // Open the SPI device
      const spi = SpiDevice.open(0, 0, spiConfig, (error) => {
        if (error) {
          // @ts-ignore
          console.error('Error opening Rie-SPI device:', error);
        } else {
          // Set the potentiometer value (0-255)
          const potValue = 128; // Change this to your desired value
          setPotentiometerValue(spi, potValue);
        }
      });
      

      MOD-EDIT: Code in code-tags gesetzt!

      K Offline
      K Offline
      Kurti
      schrieb am zuletzt editiert von
      #2

      @kurti test

      geschildG 1 Antwort Letzte Antwort
      0
      • K Kurti

        @kurti test

        geschildG Online
        geschildG Online
        geschild
        schrieb am zuletzt editiert von
        #3

        @kurti Vielleicht hilft das hier weiter: https://github.com/fivdi/spi-device

        1 Antwort Letzte Antwort
        0
        Antworten
        • In einem neuen Thema antworten
        Anmelden zum Antworten
        • Älteste zuerst
        • Neuste zuerst
        • Meiste Stimmen


        Support us

        ioBroker
        Community Adapters
        Donate

        708

        Online

        32.6k

        Benutzer

        82.3k

        Themen

        1.3m

        Beiträge
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
        ioBroker Community 2014-2025
        logo
        • Anmelden

        • Du hast noch kein Konto? Registrieren

        • Anmelden oder registrieren, um zu suchen
        • Erster Beitrag
          Letzter Beitrag
        0
        • Home
        • Aktuell
        • Tags
        • Ungelesen 0
        • Kategorien
        • Unreplied
        • Beliebt
        • GitHub
        • Docu
        • Hilfe