Read solar panels a button?

It's giving the high counts because it adds one every time the pin is read HIGH. It should overflow as quickly as 9600 baud printing lets it and I don't see any code setting it back to zero.

Any large enough shift in voltage (while not exceeding VCC) can be used digitally.

In a pinch, a led can be used as a light detector just by placing the short lead in ground and the long one in A0. Expose to bright light and don't read A0 very often (analog read drains a tiny bit of charge) and you can see > 1V. A few quick reads will show the value drop fast. It's slow but it's easy and it works.