I recommend EEVBlog’s OpAmp tutorial. His explanation is pretty simple to understand. Basically there are two rules (note these rules are ideal, but the exceptions can usually be ignored):
- No current flows into the inverting and non-inverting inputs.
- For negative and positive feedback circuits, the OpAmp wants to keep the inputs the same by changing its output, and will sink power to its positive or negative power rails to achieve this.
Here's a schematic representation of what I built on the breadboard, establishing the same ground point works but the LED still turns on even when V+ is disconnected from the 5V Arduino pin.