# DAC ユニット {docsify-ignore-all}
***
:memo:**[概要](#概要)** :octocat:**[サンプルコード](#サンプルコード)** 🛒**[購入リンク](https://www.aliexpress.com/item/M5Stack-DAC-MCP4725-I2C-Dac-12-0/32947696641.html)**
## 概要
**DAC**ユニットはデジタル信号を電圧波形、音声波形などのアナログ信号に変換することができます。 MCP4725という12ビットの高分解能DACチップを内蔵しています。このチップには不揮発性メモリ(EEPROM)が内蔵されており、DAC入力や設定データをEEPROMに書き込むことができます。このユニットはI2Cで制御することができます。I2Cアドレスは**0x60**です。
## 特徴
- 最大12bit 分解能
- 出力電圧 0 ~ 3.3V
- LEGO 互換ホール
- EEPROM内蔵
## パッケージ内容
- 1x DACユニット
- 1x Groveケーブル
## アプリケーション
- MP3オーディオプレイヤー
- ミニオシロスコープ
## 関連リンク
- **[公式ビデオ](https://www.youtube.com/channel/UCozgFVglWYQXbvTmGyS739w)**
- **[フォーラム](http://forum.m5stack.com/)**
- **データシート**
- [MCP4725](http://pdf1.alldatasheet.com/datasheet-pdf/view/233449/MICROCHIP/MCP4725.html)
## サンプルコード
### 1. Arduino IDE
*完全なソースコードは[こちら](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/DAC/Arduino)。*
```arduino
/*
hardware : m5stack uint dac
please install adafruit MCP4725 lib
*/
#include
#include
// new a object
Adafruit_MCP4725 dac;
// initialization
dac.begin(0x60);
dac.setVoltage(2048, false);
// 12bit value , false mean not write EEPROM
dac.setVoltage(1024, false);// input digital value "1024" to unit
delay(1000);
dac.setVoltage(2048, false);// input digital value "2048" to unit
delay(1000);
```
## 回路図
### ピンマッピング
| M5Core(GROVE A) | GPIO22 | GPIO21 | 5V | GND |
| DAC Unit | SCL | SDA | 5V | GND |