One of the best explanations I’ve found of the Heisenberg uncertainty principle is in Volume III of the Feynman Lectures on Physics. Read the following sections (which I’ve linked) to understand the general concept behind it:
Essentially, there is an inverse relation between the width of a wave-packet, and the range of wavenumbers of the waves you’ll need to superpose to generate that wave-packet, . In general, the more localized a wavepacket is, the more waves you need to add to create it. Here’s an animation to show what I mean:
We can describe this relation as:
Multiplying the first relation with , we get
or more precisely,
Which is the Heisenberg Uncertainty Principle.