Skip to content

References: Buttons, Photoresistors, and Analog Sensor Input

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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.