Digital to Analog Converter MCP4725 (12 bit DAC)
Your arduino has ADC ( Analog digital converter) and PWM (Pulse width modulation) but if you need true Analog out, you are out of luck. Still we can help. You can add the analog capability to Arduino with Sparkfun MCP4725 12-Bit Digital to Analog converter module.
The MCP4725 is a low-power, high accuracy,12-bit Digital-to Analog Convertor (DAC). This means it will accept up to 4096 possible digital inputs to provide an analog output, where an output value of zero is zero and an output value of 4095 is full scale. The full scale output voltage is determined by the reference voltage you supply to the VCC. 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.
The MCP4725 chip has also with non-volatile memory (EEPROM). So you can save your last value in case of power failure. 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), SCL to I2C Clock(on the Arduino Uno, this is A5) and listen on VOUT.
- 12-bit resolution
- I2C interface (Standard, Fast, and High-Speed supported)
- 2.7V to 5.5V Supply
- Internal EEPROM to store settings or last reading
Sparkfun guide and tutorial for MCP4725