Trabalhar com o Módulo DAC

A placa Arduino One não possui conversor D/A. A idéia é então usar o módulo I2C MPC 4725 :

MCP4725

Este módulo contêm um conversor D/A de 12-bits, o que significa que aceita valores de entrada entre 0 à , gerando tensão de saída (Pino OUT) respectivamente entre 0 à 5 Volts (quando a placa é alimentada com 5 Volts no pino VCC).

Este módulo se comunica com um microcontrolador externo usando I2C via pinos SCL e SDA, onde

No entanto para acessar este módulo via IDE tradicional do Arduino se faz necessário instalar sua biblioteca:

Instalação das Bibliotecas para trabalho com MPC4725.

Revisando páginas exemplo na internet usando este módulo perbemos que o mesmo foi originalmente disponibilizado pela empresa Adafruit: MCP4725 Breakout Board - 12-Bit DAC with I2C Interface. Esta mesma empresa disponibilizou uma biblioteca (em código C) para trabalhar com este módulo: GitHub Public: Adafruit_MCP4725.

Para instalar as bibliotecas fazer:

  1. Acesse a página no GitHub Public: Adafruit_MCP4725, clique no botão [DOWNLOADS] no canto superior direito, e baixe o arquivo .zip. Outro local que dá acesso a esta biblioteca é: https://github.com/adafruit/Adafruit_MCP4725/archive/master.zip ou Arduino.cc >> Adafruit_MCP4725-2.0.0.zip.
  2. Pode ser útil comprovar que este arquivo compactoido contêm os arquivos: Adafruit_MCP4725.cpp (arquivo que codifica os métodos da classe Adafruit_MCP4725) e Adafruit_MCP4725.h (arquivo que inclui as definições de métodos da classe Adafruit_MCP4725).
  3. Você pode mover a a pasta da biblioteca Adafruit_MCP4725 para a sua pasta: /Users/<user>/Documents/Arduino/libraries/ou mais fácil:
  4. Para acrescentar componentes à biblioteca do Arduíno pode ser usando o Gerenciador da Biblioteca (Library Manager) do mesmo. É possível instalar a biblioteca diretamente à partir do arquivo .zip. Basta na IDE do Arduino, navegar na barra do menu até "Sketch > Incluir Biblioteca > Adicionar Biblioteca .ZIP" (Sketch > Include Library > Add .ZIP Library), como mostra a figura abaixo:

https://docs.arduino.cc/static/00e666f9f56d2082a20f714ef3b21896/a6d36/ImportLibraryFromZIPFile.png

  1. Também será necessário baixar a bibluoteca Adafruit_BusIO. Se pode tentar usar o Gerenciador da Biblioteca, ou baixar o arquivo .zip à partir de: https://github.com/adafruit/Adafruit_BusIO (Localizar a opção <> Code v e clicar na mesma, fazendo abrir a abra "Local" e escolhendo por fim "Download ZIP").

  2. Ao final deste processo, você deve ter instalado algo do tipo (à partir da pasta: /Users/<user>/Documents/Arduino/):

  3. Será necessário re-iniciar a IDE do Arduino para estas bibliotecas poderem ser reconhecidas.

Obs.: esta biblioteca requer a biblioteca <Wire.h> do Arduino para poder trabalhar com I2C.

Como deve ter sido percebido, dentro da pasta /libraries há exemplos de como acessar com estes módulos.

Acesando fisicamente o módulo I2C MPC4725

Os seguintes pinos físicos do módulo devem ser assim conectados:

Acessando por software o módulo I2C MPC4725:

Este módulo se conecta a um microcontrolador usando comunicação I2C. A princípio, este módulo pode ser encontrado em 6 endereços (ID) diferentes: 0x60, 0x61, 0x62, 0x63, 0x64, 0x65.

Se pino A0 do DAC está desconectado --> normalmente este módulo é encontrado no endereço: 0x62.

Se pino A0 do DAC está conectado à Vdd --> este módulo é encontrado em: 0x63

Ref.: https://learn.adafruit.com/mcp4725-12-bit-dac-tutorial/wiring

Sugestão de programação:

Antes do bloco:

Você deve acrescentar as linhas:

Depois disto para acessar o módulo, deve fazer:

  1. Na seção void setup(){:
  1. A ISR que vai comandar o módulo DAC, fica algo como:

Fim.