Controllo temperatura con arduino (sketch funzionante ultimo post)

C'è qualcosa che non mi torna.
La resistenza è da 40W 12V per la legge P = V*I, ricaviamo I = P/V = 40W/12V = 3,3A
Con un guadagno di 30, la corrente in base dovrebbe essere 3,3A/30 = 110mA
Decisamente troppo per un pin di arduino che al massimo massimo tiene 40mA.
Arduino scalda pure lui?
Il transistor è caldo o scotta proprio? Arriverebbe fino a 8A opportunamente raffreddato con le sue alette di raffreddamento, quello che mi lascia perplesso è la corrente di base erogata da Arduino.
Hai messo la resistenza suggerita da @pgiagno?

motorimicro:
forse questa ? analogWrite(HeaterPin,128) per farlo lavorare al 50% (riga 177)

Si, ma solo a scopo didattico, per sistemare basta regolare bene la resistenza di base per limitare la corrente del transistor.
Poi, ovviamente, passerà meno corrente sulla resistenza scaldante che scalderà meno.