Э-э-э... без цитирования.
1. Предложенные примеры попробую и доложу.
2. Никто переменную портить не должен был. Массива никакого рядом не было. Внутренний таймер и всякие манипуляции вокруг да около (туда-сюда-плюс-минус), борол возможный дребезг кнопки ну и т.д.
3. Код был примерно как я написАл в сообщ. 25. Есть версия, что я мог пытаться сложить long и unsigned long либо что-то в этом духе. Но это уже выяснить затруднительно, ибо в процессе ловли я там сначала закомментировал, потом прокомментировал по-матерному в письменном виде, а потом стёр)). И с тех пор в скетче многое поменялось и я уже могу не вспомнить.
4. Числа получались разные, но близкие. И не те, что ожидались. Отрицательным взяться было неоткуда. Ну и выяснил это, навставляв всюду Serial.print(var...). Всё заработало после того, как я просто убрал у всех "unsigned".
5. Сообщ. 30 не понял. Как это "знак минус равен 2147483648"? В описании языка сказано:
Тип данных long используется для хранения целых чисел в расширенном диапазоне от -2,147,483,648 до 2,147,483,647. long занимает 4 байта в памяти.
Unsigned long используется для хранения положительных целых чисел в диапазоне от 0 до 4,294,967,295 (2^32 - 1) и занимает 32 бита (4 байта) в памяти.
Ну да ладно.
6.