Why HIGH and LOW?
Zero and one are names for signal levels—not whether the Arduino has power.
Water level = signal voltage.
- The Arduino stays powered while we measure one signal pin.
- Empty = 0 V; full = 5 V on our Uno.
- LOW (0) is a low range, not necessarily exactly 0 V. A pin can also be at 0 V while the board stays powered.
- HIGH (1) is a high range, not necessarily exactly 5 V.
Digital: two answers.
| Level | Voltage | Reading |
|---|---|---|
| 0–30% | 0–1.5 V | LOW / 0 |
| Between 30–60% | Between 1.5–3 V | Not guaranteed |
| 60–100% | 3–5 V | HIGH / 1 |
The middle is not a third digital value: it may read LOW or HIGH.
Analog: measure the level.
analogRead() gives 0–1023.
Empty: 0 · Halfway: ≈512 · Full: 1023
Back to Blink: writing LOW sets the output near 0 V; writing HIGH sets it near 5 V. That turns our LED off and on.