Temperature Control Using Arduino UNO

The arduino external dc power barrel jack is the input for the onboard regulator.
When the USB cable is plugged in, the onboard regulator is not used because the circuitry detects the USB 5V input and uses that.
When you plug in the external dc barrel jack power of 7V or higher up to 12V , the circuitry detect that and switches to that by turning off the mosfet that normally allows the USB 5V to connect to the board. This is accomplished using a comparator which compares the dc input jack voltage to 3.3V . If it detects voltage there is switches off the USB 5V. The reason the voltage must be 7V is that all regulators have and overhead, just like all comapanies have an overhead. The bottom line is not voltage (or money ) in , it is voltage (or money) in minus the overhead, which in this case is 2V. That's why you need 7V in to get 5V on the board.The reason it should not exceed 12V is that the regulator must dissipate the extra heat caused by having to drop the voltage from 12 to 7V, just like a company must pay employees who have nothing to do. Does that explain it (with my crappy analalogies) ?