Explicación sobre funciones

Hola a todos.
Estoy aprendiendo a programar y no consigo información sobre lo que hace cada una de las líneas de este programa, se trata de colocar un potenciómetro que lo que hace es regular la velocidad con la que se encienden de forma secuencial 8 leds.
He escrito lo que creo que es cada una de las lineas, pero no estoy muy segura de si está bien, además en la de unsigned long changeTime no he encontrado ninguna posible explicación.

int ledNum = 8; //Programamos el número de leds como una variable, y le damos el valor 8.

byte ledPin[] = {2, 3, 4, 5, 6, 7, 8, 9};    // Declara que la variable de ledPin puede tener esos posibles valores. 

int direction = 1; //Programa la dirección como una variable de número entero y le da el valor de 1.

int currentLED = 0;variable que nos permite almacenar cual es el led que se encuentra precedido actualmente.

unsigned long changeTime; Ni idea, no encuentro el significado en internet

int potPin = 0;    // Defino el pin del potenciómetro

Bueno, el código esta incompleto y no se si aún asi quieres que te lo expliquemos?

Esas lineas son solo definicion de variables...

La que dices que no entiendes es una variable que la han llamado changeTime (la podrian haber llamado de cualquier manera) y la han definido como un long sin signo, es decir, admite valroes numericos de 0 hasta 4,294,967,295. Mira aqui:

Mejor primero lee un poco un manual de referencia como este.