Powering an Arduino UNO + GSM shield with piezoelectric ceramics

Hi everyone, as I'm new here I'm going to explain a little my project.

I'm trying to make a sensor that shows us if water is overflowing in a pipe and what we are doing is to use the kinetic energy that has the water to make that a metallic ball hits a piece of piezoelectric ceramics. The energy obtained from this piece is used to activate a circuit with a 9V battery using a transistor and at the end we can get an arround 5.5-6.5 V constant output voltage.

With this voltage we can make an Arduino UNO + GSM shield runs but if there is about half a minute without any overflow the output voltage drops below 5V and the GSM stops.

I'm trying to improve this last part and what I'd like to know is if something can be done to make that the Arduino+GMS requires less than 5V when sending an SMS.

If not there is any other hardware that can I use to send SMS thet requires less voltage?

Thank you very much and excuse me if my english is not good enough :D

I'm surprised to hear that you can harvest enough energy to power an Arduino using the piezoelectric effect.

Or is the Arduino actually powered from the battery that you mention?

the batery harvests the Arduino but only when piezo is giving a signal. I use a pair of capacitors to keep the voltage constant for a few amount of time, one for the piezo that means that with it there aren't pick of voltage but a constant one and one for the arduino.

As you may have discovered, a 9V PP3 battery won't last more than few seconds powering a GSM shield.