# Speed Simulator C++ Arduino

I have a speed simulator instrument, it is analog, for its displacement it receives a voltage between 0 and 10 V, the idea is to develop a program in C ++, so that it sends a hexadecimal value to Arduino, Arduino will work as a bridge, to transform that value to the corresponding voltage, which will show the simulator in its scale depending on the received voltage. I need suggestions of what Arduino model to use, libraries, ideas to do it.

Or you could put a voltage divider /2 on the 0-10V output and read that analog on the Arduino as 0 to 1023.

For your purpose volts to print = analog value x 10 / 1023 since you’re reading half of 10V.

In reality the 1023 read needs only 1/1024 short of 5V to be then up to 5V get the same value 1023, 5V = 1023 too.
The difference between for purpose and exactly real is < 1mV worst case to get a 0 to full 5 for display.

If you want real then divide by 1024 and lose seeing 10V when it is 10V because ‘in reality it could be < 1 mV less’.
Do you see where that gets?
You can always be < 1 mV off since the ADC steps are that wide, so pick your endpoints since there’s error either way.

@GoForSmoke I think it's the other way around; generate and analog voltage between 0 and 10V using an Arduino.

@jimmyoyuela You will always need additional hardware to get the level up to 10V. All (to my knowledge) AVR based Arduinos are missing a DAC; in case you opt for those, you will need an external DAC and probably an amplifier. I think that the SAM based boards (Due, Zero) have an onboard DAC in which case you only need an amplifier.

Here might be the place to PWM a led onto an LDR with 10V running through it but low current only... but the hardware guys say that a filter is smarter. With soft-PWM you could get better than 8 bit resolution.