Почему код выводит случайные значения на последовательный порт Arduino ,если перед Serial.println(a); написать a = analogRead(BUTTON),не смотря на то ,что к пину BUTTON я ничего не подключал. Также я не понимаю,является ли пин аналоговый вольтметром.Почему циклы нельзя писать вне функций?
Потому что на пине всё равно есть электрический заряд. Он есть всегда и на любом проводнике. Цифровым вольтметром. Потому что код вне функций не выполняется.
Изучив этот фундаментальный труд Вы тут сами должны всех учить. Переходите скорее на следующую страницу!