Stránka 1 z 2

DAC modul MCP4725

Napsal: 12 kvě 2021, 14:18
od Ludek
Zdravím, zkoušel někdo rozchodit tento DAC?
Někde dělám chybu. Myslel jsem si, jak je to triviální, ale...
Chtěl jsem použít knihovnu k MCP4725 a zkusit nějaký příklad.
Napíše to hlášku " Nastala chyba při kompilaci u desky Arduino Uno "
Tak jsem zkusil jinou desku... jinou knihovnu a pořád to samé. Zkoušel jsem zakomentovat kdejaké řádky,
a ten co to asi dělá je " Adafruit_MCP4725 dac; "
kde mám chybu?

Re: DAC modul MCP4725

Napsal: 12 kvě 2021, 14:58
od jankop
kde mám chybu?
Nejspíš někde v programu!

Re: DAC modul MCP4725

Napsal: 12 kvě 2021, 15:18
od Caster
Použil bych wire.h knihovnu ;) .

Re: DAC modul MCP4725

Napsal: 12 kvě 2021, 15:21
od pavel1tu
Dej sem pomocí tlačítka </> celý !!! kod.

U knihoven v kodu je dobré mít jako komentář odkud jsi knihovny stáhnul

Kdysi hodně dávno jsem uvažoval že to použiji, někde tu desku mám, nemohu najít.
Hrál jsem si s ní dle tohoto
https://learn.sparkfun.com/tutorials/mc ... -guide/all

Re: DAC modul MCP4725

Napsal: 12 kvě 2021, 19:17
od Ludek
Jasně že Wire tam je !!!
ten kod, co použil Pavel šlape, není tam knihovna.
Ale s knihovnou mi to prostě nejde :

Kód: Vybrat vše

#include <Wire.h>             //wire library
#include <Adafruit_MCP4725.h> // MCP4725 library from adafruit
#define analogVin A0          // Analog voltage input to A0

Adafruit_MCP4725 MCP4725; 		// zde to prostě nechce přiřadit jméno :-(

void setup(void) {
  Serial.begin(9600);
  MCP4725.begin(0x60); // Default I2C Address of MCP4725 breakout board (sparkfun)   If not try 0x61 or 0x62
  
}

void loop(void) {
  
    uint32_t MCP4725_value;
    int adcValueRead = 0;
    float voltageRead = 0;
    
    float MCP4725_expected_output;
    
   
    for (MCP4725_value = 0; MCP4725_value < 4096; MCP4725_value = MCP4725_value + 15)
    {
      MCP4725_expected_output = (5.0/4096.0) * MCP4725_value;
      MCP4725.setVoltage(MCP4725_value, false);
      delay(250);
      adcValueRead = analogRead(analogVin);
      voltageRead = (adcValueRead * 5.0 )/ 1024.0;
      
      Serial.print("MCP4725 Value: ");
      Serial.print(MCP4725_value);
      
      Serial.print("\tExpected Voltage: ");
      Serial.print(MCP4725_expected_output,3);
      
      Serial.print("\tArduino ADC Value: ");
      Serial.print(adcValueRead);
      
      Serial.print("\tArduino Voltage: ");      
      Serial.println(voltageRead,3);      
    }    
}

Re: DAC modul MCP4725

Napsal: 12 kvě 2021, 19:51
od jankop
Nainstaloval jsem Adafruit_MCP4725.h verze 2.0, zvolil board Arduino Uno a zkompiloval jsem to na první dobrou.
jdeto.jpg

Re: DAC modul MCP4725

Napsal: 12 kvě 2021, 20:11
od Ludek
OK, zkusím smazat knihovnu a dát tam tuto, kdes jí stáhl?
Koukal jsem do Správce knihoven a mám verzi 2.0.0
Zase to píše tu hlášku. Mě snad trefí, v čem se lišíme?
Mám IDE 1.8.1 a ty 13?

Re: DAC modul MCP4725

Napsal: 12 kvě 2021, 21:10
od jankop
Dobře, tak ta knihovna je 2.0.0 z IDE

Re: DAC modul MCP4725

Napsal: 12 kvě 2021, 21:32
od pavel1tu
Okopíruj sem celé to okno s chybama, všechny řádky co tam jsou
Opravdu nemáme křišťálovou kouli.

IDE máš instalované ze staženého EXE, nebo z W10 obchodu, nebo jen stažený ZIP a rozbalený bez instalace ?
Nemáš tam tu knihovnu 2x ?

Re: DAC modul MCP4725

Napsal: 13 kvě 2021, 07:47
od Ludek
Ahoj Pavle,
IDE mám nainstalované už dlouho, všechny skeče fungují - VŠECHNY.
Teda kromě toho ovládání MCP4725. Knihovnu mám správnou 2.0.0
teď jsem zkusil jiný příklad :

Kód: Vybrat vše

#include <Wire.h>             //wire library
#include <Adafruit_MCP4725.h> // MCP4725 library from adafruit
#define analogVin A0          // Analog voltage input to A0

Adafruit_MCP4725 MCP4725; 

void setup(void) {
  Serial.begin(9600);
  MCP4725.begin(0x60); // Default I2C Address of MCP4725 breakout board (sparkfun)   If not try 0x61 or 0x62
  
}

void loop(void) {
  
    uint32_t MCP4725_value;
    int adcValueRead = 0;
    float voltageRead = 0;
    
    float MCP4725_expected_output;
    
   
    for (MCP4725_value = 0; MCP4725_value < 4096; MCP4725_value = MCP4725_value + 15)
    {
      MCP4725_expected_output = (5.0/4096.0) * MCP4725_value;
      MCP4725.setVoltage(MCP4725_value, false);
      delay(250);
      adcValueRead = analogRead(analogVin);
      voltageRead = (adcValueRead * 5.0 )/ 1024.0;
      
      Serial.print("MCP4725 Value: ");
      Serial.print(MCP4725_value);
      
      Serial.print("\tExpected Voltage: ");
      Serial.print(MCP4725_expected_output,3);
      
      Serial.print("\tArduino ADC Value: ");
      Serial.print(adcValueRead);
      
      Serial.print("\tArduino Voltage: ");      
      Serial.println(voltageRead,3);      
    }    
    
a taky to dá hlášku


Warning: Board Breadboard-Arduino-master:avr:atmega328bb doesn't define a 'build.board' preference. Auto-set to: AVR_ATMEGA328BB
In file included from K:\Moduly\MCP4725\MCP4725_01\MCP4725_01.ino:2:0:

C:\Users\Uzivatel\Documents\Arduino\libraries\Adafruit_MCP4725/Adafruit_MCP4725.h:10:10: fatal error: Adafruit_BusIO_Register.h: No such file or directory

#include <Adafruit_BusIO_Register.h>

^~~~~~~~~~~~~~~~~~~~~~~~~~~

compilation terminated.

exit status 1
Nastala chyba při kompilaci u desky Arduino Uno.