Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Problema a far funzionare l'MCP4728

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteWALTERmwp, Foto Utentexyz

0
voti

[81] Re: Problema a far funzionare l'MCP4728

Messaggioda Foto UtenteGioArca67 » 30 ott 2021, 17:35

Però mi chiedo: perché non includere la libreria intera?
Avatar utente
Foto UtenteGioArca67
4.580 4 6 9
Master EY
Master EY
 
Messaggi: 4591
Iscritto il: 12 mar 2021, 9:36

1
voti

[82] Re: Problema a far funzionare l'MCP4728

Messaggioda Foto Utentealien75 » 30 ott 2021, 17:40

GioArca67 ha scritto:Ma non ti funzionerà....
CMD::SINGLE_WRITE ???
eep_???
attach()????


Devo aver commesso un errore con copia/incolla.
Ho inserito l'indirizzo.
Avatar utente
Foto Utentealien75
1 1 4 8
Sostenitore
Sostenitore
 
Messaggi: 590
Iscritto il: 31 lug 2011, 14:08

0
voti

[83] Re: Problema a far funzionare l'MCP4728

Messaggioda Foto UtenteGioArca67 » 30 ott 2021, 18:51

Pian pianino arriviamo
Avatar utente
Foto UtenteGioArca67
4.580 4 6 9
Master EY
Master EY
 
Messaggi: 4591
Iscritto il: 12 mar 2021, 9:36

0
voti

[84] Re: Problema a far funzionare l'MCP4728

Messaggioda Foto Utentealien75 » 1 nov 2021, 17:11

Che mi dici in merito?
Cosa devo togliere dal sorgente?
Avatar utente
Foto Utentealien75
1 1 4 8
Sostenitore
Sostenitore
 
Messaggi: 590
Iscritto il: 31 lug 2011, 14:08

0
voti

[85] Re: Problema a far funzionare l'MCP4728

Messaggioda Foto UtenteGioArca67 » 1 nov 2021, 17:35

Ma cosa devi fare? Perché non includi la libreria invece di copiare pezzettini?
Avatar utente
Foto UtenteGioArca67
4.580 4 6 9
Master EY
Master EY
 
Messaggi: 4591
Iscritto il: 12 mar 2021, 9:36

0
voti

[86] Re: Problema a far funzionare l'MCP4728

Messaggioda Foto Utentealien75 » 1 nov 2021, 20:33

GioArca67 ha scritto:Ma cosa devi fare? Perché non includi la libreria invece di copiare pezzettini?


Cosa devo includere di preciso? Non so cosa devo mettere dopo "#include"
Avatar utente
Foto Utentealien75
1 1 4 8
Sostenitore
Sostenitore
 
Messaggi: 590
Iscritto il: 31 lug 2011, 14:08

0
voti

[87] Re: Problema a far funzionare l'MCP4728

Messaggioda Foto UtenteGioArca67 » 1 nov 2021, 21:18

#include <MCP4728.h>
Avatar utente
Foto UtenteGioArca67
4.580 4 6 9
Master EY
Master EY
 
Messaggi: 4591
Iscritto il: 12 mar 2021, 9:36

0
voti

[88] Re: Problema a far funzionare l'MCP4728

Messaggioda Foto UtenteGioArca67 » 1 nov 2021, 21:18

Provi con il codice al post [68]. Che ti dice?
Avatar utente
Foto UtenteGioArca67
4.580 4 6 9
Master EY
Master EY
 
Messaggi: 4591
Iscritto il: 12 mar 2021, 9:36

0
voti

[89] Re: Problema a far funzionare l'MCP4728

Messaggioda Foto Utentealien75 » 2 nov 2021, 7:53

Ho usato questo codice:

Codice: Seleziona tutto
#include <Wire.h>
#include <MCP4728.h>


MCP4728 mcp;

void setup(void) {
  Serial.begin(115200);
  while (!Serial)
    delay(10); // will pause Zero, Leonardo, etc until serial console opens

  Serial.println("Adafruit MCP4728 test!");

  // Try to initialize!
  if (!mcp.begin(0x60)) {     //indirizzo del MCP4728, da 0x60 a 0x68, default se omesso a 0x60
    Serial.println("Failed to find MCP4728 chip");
    while (1) {
      delay(10);
    }
  }
  Serial.println("MCP4728 chip found");
  mcp.setChannelValue(MCP4728_CHANNEL_A, 4095);
  mcp.setChannelValue(MCP4728_CHANNEL_B, 2048);
  mcp.setChannelValue(MCP4728_CHANNEL_C, 1024);
  mcp.setChannelValue(MCP4728_CHANNEL_D, 0);
}



e questo è l'errore:

Codice: Seleziona tutto
Arduino:1.8.10 (Linux), Scheda:"Arduino Yún"

/home/fabio/Scrivania/fade_2/fade_2.ino: In function 'void setup()':
fade_2:15:12: error: 'class MCP4728' has no member named 'begin'
   if (!mcp.begin(0x60)) {     //indirizzo del MCP4728, da 0x60 a 0x68, default se omesso a 0x60
            ^~~~~
fade_2:22:7: error: 'class MCP4728' has no member named 'setChannelValue'
   mcp.setChannelValue(MCP4728_CHANNEL_A, 4095);
       ^~~~~~~~~~~~~~~
fade_2:22:23: error: 'MCP4728_CHANNEL_A' was not declared in this scope
   mcp.setChannelValue(MCP4728_CHANNEL_A, 4095);
                       ^~~~~~~~~~~~~~~~~
/home/fabio/Scrivania/fade_2/fade_2.ino:22:23: note: suggested alternative: 'MCP4728_H'
   mcp.setChannelValue(MCP4728_CHANNEL_A, 4095);
                       ^~~~~~~~~~~~~~~~~
                       MCP4728_H
fade_2:23:7: error: 'class MCP4728' has no member named 'setChannelValue'
   mcp.setChannelValue(MCP4728_CHANNEL_B, 2048);
       ^~~~~~~~~~~~~~~
fade_2:23:23: error: 'MCP4728_CHANNEL_B' was not declared in this scope
   mcp.setChannelValue(MCP4728_CHANNEL_B, 2048);
                       ^~~~~~~~~~~~~~~~~
/home/fabio/Scrivania/fade_2/fade_2.ino:23:23: note: suggested alternative: 'MCP4728_H'
   mcp.setChannelValue(MCP4728_CHANNEL_B, 2048);
                       ^~~~~~~~~~~~~~~~~
                       MCP4728_H
fade_2:24:7: error: 'class MCP4728' has no member named 'setChannelValue'
   mcp.setChannelValue(MCP4728_CHANNEL_C, 1024);
       ^~~~~~~~~~~~~~~
fade_2:24:23: error: 'MCP4728_CHANNEL_C' was not declared in this scope
   mcp.setChannelValue(MCP4728_CHANNEL_C, 1024);
                       ^~~~~~~~~~~~~~~~~
/home/fabio/Scrivania/fade_2/fade_2.ino:24:23: note: suggested alternative: 'MCP4728_H'
   mcp.setChannelValue(MCP4728_CHANNEL_C, 1024);
                       ^~~~~~~~~~~~~~~~~
                       MCP4728_H
fade_2:25:7: error: 'class MCP4728' has no member named 'setChannelValue'
   mcp.setChannelValue(MCP4728_CHANNEL_D, 0);
       ^~~~~~~~~~~~~~~
fade_2:25:23: error: 'MCP4728_CHANNEL_D' was not declared in this scope
   mcp.setChannelValue(MCP4728_CHANNEL_D, 0);
                       ^~~~~~~~~~~~~~~~~
/home/fabio/Scrivania/fade_2/fade_2.ino:25:23: note: suggested alternative: 'MCP4728_H'
   mcp.setChannelValue(MCP4728_CHANNEL_D, 0);
                       ^~~~~~~~~~~~~~~~~
                       MCP4728_H
Più di una libreria trovata per "Wire.h"
Usata: /home/fabio/.arduino15/packages/arduino/hardware/avr/1.8.3/libraries/Wire
Più di una libreria trovata per "MCP4728.h"
Usata: /home/fabio/Arduino/libraries/MCP4728-master
exit status 1
'class MCP4728' has no member named 'begin'

Avatar utente
Foto Utentealien75
1 1 4 8
Sostenitore
Sostenitore
 
Messaggi: 590
Iscritto il: 31 lug 2011, 14:08

0
voti

[90] Re: Problema a far funzionare l'MCP4728

Messaggioda Foto UtenteGioArca67 » 2 nov 2021, 9:30

Prova questo

Codice: Seleziona tutto
#include <Wire.h>
#include "MCP4728.h"

MCP4728 dac;

void setup()
{
    Serial.begin(115200);  // initialize serial interface for print()

    Wire.begin();
    dac.attach(Wire, 14);
    dac.readRegisters();

    dac.selectVref(MCP4728::VREF::VDD, MCP4728::VREF::VDD, MCP4728::VREF::INTERNAL_2_8V, MCP4728::VREF::INTERNAL_2_8V);
    dac.selectPowerDown(MCP4728::PWR_DOWN::GND_100KOHM, MCP4728::PWR_DOWN::GND_100KOHM, MCP4728::PWR_DOWN::GND_500KOHM, MCP4728::PWR_DOWN::GND_500KOHM);
    dac.selectGain(MCP4728::GAIN::X1, MCP4728::GAIN::X1, MCP4728::GAIN::X2, MCP4728::GAIN::X2);
    dac.analogWrite(MCP4728::DAC_CH::A, 111);
    dac.analogWrite(MCP4728::DAC_CH::B, 222);
    dac.analogWrite(MCP4728::DAC_CH::C, 333);
    dac.analogWrite(MCP4728::DAC_CH::D, 444);

    dac.enable(true);

    dac.readRegisters();
    printStatus();
    delay(5000);
}


void loop()
{
    static int count = 0;
    if (++count > 4000)  count = 0;

    dac.analogWrite(count, count, count, count);

    delay(10);
    dac.readRegisters();
    printStatus();
}

void printStatus()
{
    Serial.println("NAME     Vref  Gain  PowerDown  DACData");
    for (int i = 0; i < 4; ++i)
    {
        Serial.print("DAC");
        Serial.print(i, DEC);
        Serial.print("   ");
        Serial.print("    ");
        Serial.print(dac.getVref(i), BIN);
        Serial.print("     ");
        Serial.print(dac.getGain(i), BIN);
        Serial.print("       ");
        Serial.print(dac.getPowerDown(i), BIN);
        Serial.print("       ");
        Serial.println(dac.getDACData(i), DEC);

        Serial.print("EEPROM");
        Serial.print(i, DEC);
        Serial.print("    ");
        Serial.print(dac.getVref(i, true), BIN);
        Serial.print("     ");
        Serial.print(dac.getGain(i, true), BIN);
        Serial.print("       ");
        Serial.print(dac.getPowerDown(i, true), BIN);
        Serial.print("       ");
        Serial.println(dac.getDACData(i, true), DEC);
    }
    Serial.println(" ");
}
Avatar utente
Foto UtenteGioArca67
4.580 4 6 9
Master EY
Master EY
 
Messaggi: 4591
Iscritto il: 12 mar 2021, 9:36

PrecedenteProssimo

Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite