NEWS
Ansteuerung eines Digital-Potentiometers (z.B. MCP4151)
-
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!
-
@kurti test
-
@kurti Vielleicht hilft das hier weiter: https://github.com/fivdi/spi-device