Adafruit MCP4725 Breakout Board (12-Bit DAC w/I2C Interface)
Your microcontroller probably has an ADC (analog -> digital
converter) but does it have a DAC (digital -> analog converter)???
Now it can! This breakout board features the easy-to-use MCP4725 12-bit
DAC. Control it via I2C and send it the value you want it to output, and
the VOUT pin will have it. Great for audio / analog projects, such as
when you can't use PWM but need a sine wave or adjustable bias point.
We
break out the ADDR/A0 pin so you can connect two of these DACs on one
I2C bus, just tie that pin of one high to keep it from conflicting. Also
included is a 6-pin header, for use in a breadboard. Works with both
3.3V or 5V logic.
Some nice extras with this chip: for chips that
have 3.4Mbps Fast Mode I2C (Arduino's don't) you can update the Vout at
~200 KHz. There's an EEPROM so if you write the output voltage, you can
'store it' so if the device is power cycled it will restore that
voltage. The output voltage is rail-to-rail and proportional to the
power pin so if you run it from 3.3V, the output range is 0-3.3V. If you
run it from 5V the output range is 0-5V.
We
have an easy-to-use Arduino library and tutorial with a triangle-wave
and sine-wave output example that can be used with any 'duino or ported
to any microcontroller with I2C host. Wiring it up is easy - connect
VDD to your microcontroller power pin (3-5V), GND to ground, SDA to I2C
Data (on the Arduino Uno, this is A4 on the Mega it is 20 and on the
Leonardo digital 2), SCL to I2C Clock(on the Arduino Uno, this is A5 on
the Mega it is 21 and on the Leonardo digital 3) and listen on VOUT.
Technical Details:
- This board/chip uses I2C 7-bit address, you can use 0x62 or 0x63