I have been thinking about switching, and I have come up with at least three ways to accomplish switching: with an FET, with an analog switch IC, and with a relay. Frankly, I'm a little overwhelmed, and I wonder if anybody could help me understand what qualities differentiate these devices, that would cause someone to choose one of them over another.
The two specific applications I'm considering are 1) replacing a manual NO switch in a device with a switch that is controlled by the Arduino, and 2) feeding a PWM input to a switch to cause a parallel resistor to cycle in and out of circuit, thereby approximating a digital pot via the PWM duty cycle. But I would like to have a broader understanding of when the use of each of these types of devices is appropriate.
EDIT TO ADD:
2.2 volts / 4 mA for the NO switch.
2.7 volts / 1 mA for the pot.
Here is what I already (think I) know:
Relays, especially mechanical relays like the solenoid in your car, excel at switching large currents. They can be designed such that there is a very large difference in voltage between the control circuit and the switched circuit. They are usually larger and more expensive than ICs. The relays I have seen also seem to have slower switching speed than the other two: the solid state relays seem to have switching speeds in the ms, where the others have switching speeds in the tens of ns.
FETs are, in a simple sense, like a SPST switch. That is basically all I know about them.
Analog switch ICs come in a wide variety of designs, with multiple switches and multi-pole/multi-throw configurations. They also have both a NO and an NC output, whereas an FET, by itself, is either NO or NC, but not both. So I could see that in a more complex switching application (3P2T), or an application where you needed a lot of switches, an analog switch IC would make sense because of its compactness and simplicity.
Other than these characteristics, I'm not sure what else might differentiate these devices. In the two examples I list above, what would you use, and why?