I have a movement detector sensor that generate a pulse (3.3V TTL) for 60 seconds when something moves in front of it. On the other hand, I have a impulse solenoid valve that close on a negative voltage (-3.6V) and open on a positive voltage (+3.6V).

What would be the simplest and cheapest way to drive the solenoid from the movement detector?

The circuit or chip should produce +3.6V output for at least 30ms when the input signal goes to 3.3V and then produce -3.6V for at least 30ms when the input signal goes low (0V).

(I also have available a solenoid that work on 4.5V rather than 3.6V if this can help)

Links:

Valve

Movement detector

24/08/2013 Update

Inspired by the answer of Jim, will a circuit like this one work?




Question: How to set precision and format labeled Slider in Manipulate?
Answer: You mean something like this?

Manipulate[
 Plot[Cos[k x], {x, 0, 2 Pi}, Frame -&gt; True, Axes -&gt; False, ImagePadding -&gt; 30],

 Text[Style[

   Grid[{ {Style["k", Italic], Spacer[2],
      Manipulator[Dynamic[k, {k = SetPrecision[#, 22]} &amp;], {0, to, del}, 
       ImageSize -&gt; Tiny],

      Spacer[2],

      Dynamic[AccountingForm[k , (*choose how many digits to show*){23, 22}, NumberSigns -&gt; {"", ""}, 
        NumberPadding -&gt; {"0", "0"}, SignPadding -&gt; True]]}},

     Spacings -&gt; {0.1, .1}, Frame -&gt; True, FrameStyle -&gt; Directive[Thickness[.001], Gray]
    ],
   20]
  ],
 {{k, 1}, None},
 Initialization :&gt;
  (
   to = SetPrecision[4.0, 22];
   del = SetPrecision[0.100, 22]
   )
 ]