Three-Sensor Multi-Output Logic
Three sensor switches feed three independent combinational functions: Motion AND Sound, NOT Motion AND Light, and Light OR Sound. The graph implements parallel Boolean outputs, not autonomous decision-making.
A parallel sensor-logic exercise with three independent output functions, each visible on its own lamp.
What You'll Learn
- Trace Motion, Light, and Sound through all three branches.
- Derive one expression from each output's actual connected gates.
- Verify all eight input combinations against three simultaneous outputs.
- Detect and resolve a contradiction between narrative annotation and executable wiring.
- Compare one-level and two-level combinational paths.
How It Works
The production graph is a three-input, three-output combinational network. Its switches are labeled Motion, Light, and Sound. The upper output light is driven by an AND of Motion and Sound. The middle light is driven by an AND of ¬Motion and Light. The lower light is driven by an OR of Light and Sound.
The exact implemented functions are: - MotionAndSound = Motion · Sound - NoMotionAndLight = ¬Motion · Light - LightOrSound = Light + Sound
These branches run in parallel and share sensor signals, but they do not combine into one aggregate decision. There is no fourth input, override switch, feedback path, or stored state.
One large canvas annotation describes a “motion but no light” recording response, but that sentence conflicts with the executable wiring. The adjacent gate annotation and the actual connections both show No Motion AND Light. The equations and table here therefore follow the connected component graph. Because the three lamps themselves have no action labels, the overlay uses function-based names rather than assigning unsupported real-world actions.
Truth Table
Inputs are ordered Motion, Light, Sound. Outputs are ordered by lamp position: MotionAndSound, NoMotionAndLight, LightOrSound.
| Inputs | Output | |||||
|---|---|---|---|---|---|---|
| Motion | Light | Sound | MotionAndSound | NoMotionAndLight | LightOrSound | |
| 0 | 0 | 0 | 0 | 0 | 0 | No sensor asserted — all three branch outputs low. |
| 0 | 0 | 1 | 0 | 0 | 1 | Sound alone asserts only LightOrSound. |
| 0 | 1 | 0 | 0 | 1 | 1 | Light with no Motion asserts the middle and lower outputs. |
| 0 | 1 | 1 | 0 | 1 | 1 | Light and Sound with no Motion keep the middle and lower outputs high. |
| 1 | 0 | 0 | 0 | 0 | 0 | Motion alone satisfies none of the three equations. |
| 1 | 0 | 1 | 1 | 0 | 1 | Motion and Sound assert the upper and lower outputs. |
| 1 | 1 | 0 | 0 | 0 | 1 | Motion and Light assert only LightOrSound. |
| 1 | 1 | 1 | 1 | 0 | 1 | All inputs high assert MotionAndSound and LightOrSound; the inverted-Motion branch is low. |
Boolean Expression
The upper output is high only when Motion and Sound are both high.
The middle output is high only when Motion is low and Light is high.
The lower output is high whenever Light or Sound is high.
Try It Step-by-Step
Set the listed controls in the embedded circuit, then compare the observed modeled state with the expected result.
- 1Light=0Motion=0Sound=0Expected:
MotionAndSound = 0, NoMotionAndLight = 0, LightOrSound = 0What you'll see:000 leaves every gate output low. - 2Light=1Motion=0Sound=0Expected:
MotionAndSound = 0, NoMotionAndLight = 1, LightOrSound = 1What you'll see:With only Light high, ¬Motion·Light and Light+Sound are both 1. - 3Light=0Motion=1Sound=1Expected:
MotionAndSound = 1, NoMotionAndLight = 0, LightOrSound = 1What you'll see:Motion and Sound satisfy the upper AND and the lower OR, while ¬Motion disables the middle branch. - 4Light=1Motion=1Sound=0Expected:
MotionAndSound = 0, NoMotionAndLight = 0, LightOrSound = 1What you'll see:Motion and Light do not satisfy either AND branch, but Light alone is sufficient for LightOrSound.
Components Used
Applications and Design Context
Condition monitoring. Separate Boolean indicators can summarize different combinations of shared sensor inputs.
Diagnostic panels. Multiple lamps can expose intermediate rules independently instead of hiding them behind one aggregate status.
Automation permissives. AND branches identify simultaneous conditions, while OR branches collect alternative triggers.
Logic verification exercises. The circuit is useful for checking equations against wires when labels or requirements disagree.
Prototype policy logic. Function-based outputs provide a precise starting point before actions, priorities, memory, timing, and fault behavior are specified.
Frequently Asked Questions
Why use equation-derived output names?
The three output lamps have no individual action labels in the production graph. MotionAndSound, NoMotionAndLight, and LightOrSound are equation-derived names that state exactly what each connected branch computes without inventing an alarm, camera, or motion command.
How would I implement “motion but no light”?
Move the inverter from Motion to Light, then feed Motion and ¬Light into that AND gate. The required equation is Motion · ¬Light; the present wiring implements ¬Motion · Light instead.
Do the three response branches run in parallel?
They are independent combinational branches that share inputs. A single sensor change can affect more than one lamp, but no output is fed back into another branch and there is no priority encoder.
Does the circuit remember a detected condition?
No. The graph has no clock, latch, or flip-flop. Each output follows the current inputs after the relevant gate delays; retaining an event would require an added storage element and reset policy.
Are timing hazards possible?
In physical hardware, the middle branch has NOT-plus-AND depth while the other two have one gate level. Input transitions can therefore reach outputs at different times, and downstream safety logic may require synchronization or hazard analysis.