An Arduino can typically measure voltages between 0V (GND) and its operating voltage, which is usually either 5V or 3.3V, depending on the specific Arduino board.
In more detail:
- Analog Inputs: Arduino boards have analog input pins that convert analog voltages into digital values. These pins are designed to read voltages within a specific range.
- Voltage Range: The standard range for the analog inputs is from 0 volts (GND - Ground) up to the Arduino's operating voltage. For many common Arduinos like the Uno, Nano, and Mega, this is 5V. Some boards, like the Arduino Due, operate at 3.3V. Therefore, the measurable range is 0V to 5V or 0V to 3.3V, respectively.
- Reading Negative Voltages: Directly reading negative voltages with a standard Arduino is not possible because the analog input pins are not designed to handle negative voltages. Applying a negative voltage can damage the Arduino.
- Exceeding the Voltage Range: Similarly, applying a voltage higher than the operating voltage (5V or 3.3V) can also damage the Arduino.
- Voltage Dividers: To measure voltages higher than the Arduino's operating voltage, you can use a voltage divider. This uses resistors to reduce the input voltage to a safe level that the Arduino can measure. You then use a simple calculation to determine the original voltage.
- Level Shifters/Op-Amps: To measure negative voltages, you typically need to use additional circuitry such as an op-amp configured to shift the voltage into a measurable positive range or a dedicated level shifter.
Example:
If you want to measure a voltage between 0V and 10V, you could use a voltage divider to reduce the 10V to 5V (assuming a 5V Arduino). The Arduino reads the voltage, and you multiply the result by 2 to get the original voltage.