Wie radbruch ja festgestellt hat, aktualisiert die taskADC() Funktion den gewünschten Wert nur bei jedem 6ten Mal...

Rufe doch einfach in einer for-Schleife die taskADC() 6 mal hintereinander auf.
Das sollte den ersten dunklen Messwert eliminieren.