References: Buttons, Photoresistors, and Analog Sensor Input¶
-
Photoresistor - Wikipedia - Explains how a light-dependent resistor's resistance falls as illuminance rises, along with its response latency and common uses in light meters and alarm systems, the component at the center of this chapter's light-sensing circuit.
-
Voltage divider - Wikipedia - Derives the Vout = Vin x (R2 / (R1 + R2)) relationship for two resistors in series and covers using one as a resistive sensor, the exact circuit this chapter uses to turn a photoresistor's resistance into a readable voltage.
-
Switch - Wikipedia - Covers momentary push-to-make switches plus contact bounce -- the brief, repeated make-and-break that occurs as mechanical contacts settle -- and outlines the hardware and software debouncing solutions this chapter's button code implements.
-
The Scientist and Engineer's Guide to Digital Signal Processing (2nd Edition) - Steven W. Smith - California Technical Publishing - Credited with the widely cited demonstration that the moving average filter, despite its simplicity, is the optimal choice for reducing random noise in a time-domain signal while preserving a sharp step response, the exact justification for this chapter's moving-average sensor filter.
-
Make: Electronics: Learning Through Discovery (3rd Edition) - Charles Platt - Maker Media - Credited with pioneering the "learning by discovery" method of building a working circuit first and extracting the theory afterward, praised by 555-timer inventor Hans Camenzind as "teaching at its best," the same build-then-explain sequence this chapter follows for buttons and photoresistors.
-
Voltage Dividers - SparkFun Learn - Derives the voltage-divider equation and dedicates a full section to reading resistive sensors like photocells, including a worked example showing how sensor resistance swings translate into an ADC-friendly voltage range.
-
Photocells - Adafruit Learn - Walks through wiring a photocell in a pull-down voltage divider for analog reading, with reference tables of expected voltages across lighting conditions and a note on choosing resistor values for the light range you care about.
-
SparkFun Inventor's Kit: Circuit 1C - Photoresistor - SparkFun Learn - Builds a threshold-based night light and explains hands-on calibration: reading the sensor in bright and dark conditions, then setting the code's threshold value in between, directly matching this chapter's calibration technique.
-
Debouncing Contacts and Switches - Jack Ganssle - A classic, data-driven embedded-systems reference measuring real switch bounce durations with an oscilloscope across eighteen switches, grounding this chapter's debounce delay choice in actual hardware behavior rather than guesswork.
-
L1: Smoothing Input - Makeability Lab, Physical Computing (University of Washington) - Compares moving average, exponential moving average, weighted average, and moving median filters for noisy analog sensor data, with code examples showing the window-size tradeoff between smoothness and lag central to this chapter's filtering section.