You’ve likely seen flickering LEDs that replace fire-based candles at some restaurants. While they look nice, the flickering tends to be random, and — mostly for the best — they don’t go out when customers or the air conditioning system blows on it.
As Paul Dietz (AKA “electron_plumber”) outlines here, it is actually possible to have an LED respond this way. He uses the LED as both a light source and sensor, detecting changes in voltage drop due to differing air flow and thus cooling rates. The candle’s circuit takes the form of a simple voltage divider, with a voltage source, resistor, and LED, wired as in a typical LED setup. The wiring between the resistor and the LED, however, is connected to an Arduino’s analog input, which detects voltage changes.
This type of setup is at the edge of what the Arduino can sense voltage difference-wise, and a very small 0402 surface mount LED is used along with small wires to help facilitate accuracy. As these tiny SMD components are difficult to solder, Dietz notes that this type of component can be purchased pre-wired, a good solution for those without surgical-level hand dexterity.
Check out his “candle” in the short clip below, turning off for two seconds when a puff is detected!