You can put an Arduino in a very low-power-down sleep mode where it draws only a few 10s of uA at 3.3V (See the Narcoleptic library, for example). Put the Arduino to sleep such that it wakes up once every few seconds, powers up, does an AD conversion to see if the battery has accumulated sufficient charge. If yes, do something, else go back to sleep.
I would get a second panel, or one that is capable of >5V open-circuit, and charge a battery directly, with no intervening SPMS, and then use the battery to power the Arduino, either while it sleeping or doing something useful. A fully awake Arduino is a real power hog, so you only want to wake up the parts of it that you really need to do something useful...