А какого результата ты ждешь, если 12 пин всегда "включен"?
digitalWrite(12, HIGH);
Удали это.