Summary of Arduino Basics: RCtime using arduino
The article explains how the Arduino RCtime function measures the time taken to charge a capacitor through a resistor, effectively serving as a simple analog-to-digital converter. This method is useful for reading analog sensors when Arduino's analog inputs are full or require higher resolution, although RCtime's output is nonlinear. It can also be applied to monitor voltage, current, and capacitance. The resolution can be adjusted by changing the capacitor size or resistor value. A step-by-step setup involves using an Arduino, resistor, capacitor, potentiometer, and breadboard.
Parts used in the RCtime Arduino Project:
- Arduino
- Breadboard
- Resistor (220 ohm to 1K)
- Capacitor (0.1µF or 1µF electrolytic)
- Potentiometer (or other resistive sensor)
- Wire
RCtime is a function for the Arduino that finds its roots in Basic-based micro controller programming languages (such as the Basic Stamp). This function basically counts the amount of time it takes to charge a capacitor through a resistor and returns a digital value. In some sense, it is a simple hack for analog to digital conversion. The general purpose of such a circuit would be to read analog sensors when all of the analog pins on the board are occupied or, more commonly, when you need a higher resolution than the puny A/D pins on the Arduino currently have to offer. Although, keep in mind that unlike the built in analog pins, the response of RCtime is not linear.
Aside from reading analog sensors, you can do a number of other swell things like monitor voltage, current and capacitance. I’m not going to go over them here, but you can read more about them on this page.
Step 1: Go get stuff
To do this you will need:
An Arduino
A breadboard
A resistor (220 ohm to 1K)
A capacitor (0.1uF)*
A potentiometer (or any other resistive sensor)
Wire and whatnot
*note that changing the capacitor will change the resolution of the circuit. To increase the resolution, you simply need to increase the size of the capacitor. Try using a 1uF electrolytic capacitor and compare the difference (remember that is is polarized and the + side should connect to the power source).
The resolution can also be changed, but less significantly, by changing the resistor value. Just make sure to keep it in the range of 220 ohm to 1K.
For more detail: Arduino Basics: RCtime