Controllo temperatura con arduino (sketch funzionante ultimo post)

motorimicro:
...SetPoint = map(analogRead(ThresholdPin),0,1023,0,300);...

Quella riga ti dice questo:
Il pin di arduino legge il valore analogico della tensione (0-5V) e lo "trasforma" in un valore che va da 0 (0V) a 1023 (5V).
Considera queste scale equivalenti:

Applicando questa tensione al pin di arduino
0V        0,49      0,98      1,47      1,96      2,44      2,93      3,42      3,91      4,40         5,00
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+--
Si ottengono questi valori
0         100       200       300       400       500       600       700       800       900          1023
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+--

L'istruzione "map" cambia il MIN e MAX della scala inferiore e "ridistribuisce" i valori intermedi. Nel caso dell'istruzione

SetPoint = map(analogRead(ThresholdPin),0,1023,0,300);
Le scale diventano
0V        0,49      0,98      1,47      1,96      2,44      2,93      3,42      3,91      4,40        5,00
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+--
0                   58                  117                 176                 235                   300
Si ottengono questi valori

Penso che tu abbia capito come funziona map. Puoi dare il MIN e il MAX entro i quali saranno compresi i tuoi valori.

Ciao,
P.

P.S. Ottimo il suggerimento di fabpolli!