jremington:
Sure, just output a voltage V = RPM*5.0/100.0As you can see, V=5 if RPM=100, V=2.5 if RPM=50, etc.
The Adafruit tutorial I linked shows you how to output a voltage.
Keep in mind that 5V output from the MCP4725 corresponds numerically to 4095 at 12 bit resolution, so the formula that you will actually be using is V=4095.*RPM/100.
Hi jremington, thanks a lot for your reply. I’m new to coding with the Arduino. Can you please help me modify the existing sketch provided by adafruit to work with my application. I understand the mathematical calculation but don’t know how to code it.
/**************************************************************************/
/*!
@file trianglewave.pde
@author Adafruit Industries
@license BSD (see license.txt)
This example will generate a triangle wave with the MCP4725 DAC.
This is an example sketch for the Adafruit MCP4725 breakout board
----> http://www.adafruit.com/products/935
Adafruit invests time and resources providing this open source code,
please support Adafruit and open-source hardware by purchasing
products from Adafruit!
*/
/**************************************************************************/
#include <Wire.h>
#include <Adafruit_MCP4725.h>
Adafruit_MCP4725 dac;
void setup(void) {
Serial.begin(9600);
Serial.println("Hello!");
// For Adafruit MCP4725A1 the address is 0x62 (default) or 0x63 (ADDR pin tied to VCC)
// For MCP4725A0 the address is 0x60 or 0x61
// For MCP4725A2 the address is 0x64 or 0x65
dac.begin(0x62);
Serial.println("Generating a triangle wave");
}
void loop(void) {
uint32_t counter;
// Run through the full 12-bit scale for a triangle wave
for (counter = 0; counter < 4095; counter++)
{
dac.setVoltage(counter, false);
}
for (counter = 4095; counter > 0; counter--)
{
dac.setVoltage(counter, false);
}
}