Cultivate Curiosity, Inspire Imagination.
Your Arduino has ADC (analog digital converter) and PWM (pulse width modulation) but if you need true Analog out, you can add the MCP4725 12-Bit Digital to Analog converter module.
The MCP4725 is a low-power, high-accuracy, 12-bit Digital-to-Analog Converter (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 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.
- Operating Voltage: 2.7V-5.5V
- Resolution: 12-bit
- Interface: I2C (Standard, Fast, and High-Speed supported)
- Modes: Normal, Power-Down
- Settling Time: 6µs (typ)
- Operating Temperature: -40°C to +125°C
- On-Board Non-Volatile Memory (EEPROM) to store settings or last reading
- ±0.2 LSB DNL (typ)
- External A0 Address Pin
- External Voltage Reference (VDD)
- Rail-to-Rail Output
- Low Power Consumption
- 1x Digital Analog Converter DAC MCP4725 12-bit