You could do the ball raise/lower using a servo to push the ball up a tube when the weight of the ball on the tee shorts pin 4 to ground, and when the ball is removed pin 4 is unshorted and the servo moves the tee back down into the tube. code below.
//zoomkat servo button test 7-30-2011
#include <Servo.h>
int button1 = 4; //button pin, connect to ground to move servo
int press1 = 0;
Servo servo1;
void setup()
{
pinMode(button1, INPUT);
servo1.attach(7);
digitalWrite(4, HIGH); //enable pullups to make pin high
}
void loop()
{
press1 = digitalRead(button1);
if (press1 == LOW)
{
servo1.write(160);
}
else {
servo1.write(20);
}
}