ANALOG OUTPUT ② MKR WiFi 1010にDAC MCP4725

 MKR WiFi 1010のI2Cバスに、外付けで12ビットD-AコンバータMCP4725を取り付けます。

MCP4725のおもなスペック

  データシート

  • 分解能 12ビット
  • 電源電圧 2.7~5.5V
  • 付属機能 EEPROM
  • 負荷 RL=5kΩ時、最大1000pF
  • スルーレート 0.55V/us
  • I2Cバス 100k~3.4MHz
  • I2Cアドレス A0ピンをGND;0x60、A0ピンをVdd:0x61

 ブレークアウト・ボードはebayで入手しました。

 基板上のADDRで、GNDとはんだを盛ってショートしました。

接続

MCP4725
ピン番号
MCP4725
機能
MKR WiFi 1010
1 Vout  - 
2 Vss GND
3 Vdd (Vcc) Vcc 3.3V
4 SDA 11 SDA
5 SCL 12 SCL
6 A0 GND

スケッチ

 0xf0(3.3V*3840/4095=3.0945V)と0x00(=0V)を交互に送り出します。I2Cバスの転送速度は100kHzです。


#include <Wire.h>
#define MCP4725_address 0x60

void setup() {
  Wire.begin();
  Wire.setClock(100000);
  Serial.begin(15200); 
}

void loop() {    
    Wire.beginTransmission(MCP4725_address); 
        Wire.write(0b00001111);
        Wire.write((byte)0x00);
    Wire.endTransmission(); 

    Wire.beginTransmission(MCP4725_address); 
        Wire.write(0b00000000);
        Wire.write((byte)0x00);
    Wire.endTransmission(); 
}

 実行結果です。

 I2Cバスの転送速度を100kHzから400kHzに上げます。

 I2Cバスの転送速度は1.2MHzまで上げられました。それ以上のクロックでは波形が出ません。

前へ

ANALOG OUTPUT ① MKR WiFi 1010で波形生成<その2>

次へ

CircuitPython 10行プログラミング STEP7 (1) XIAO RP2040の準備と動作確認