Water Tower Servo Project
revised 8-15-07

Objective:  Use a servo and a controller board to animate the arm on an Aristo Craft water tower.  The arm is set to drop when button 9 on a Locolinc transmitter is hit.  The arm will drop and stay dropped until the button is hit again.

 

The arm was removed and redrilled to give the servo better leverage.  One hole is the new pivot point and one is for the control arm.

The spout mount is shown here along with the piano wire control rod.  Note the small brass washer to the left side of the arm mount - it was needed to center the spout.

The water tower was disassembled and the servo mounted underneath the floor of the water tank.

Two notches were cut into the floor to allow two screws & bolts to hold the bottom of the servo.  The black wire will go to the top of the servo to hold it in place.

 

Here is the mounted servo.  The servo control cable goes through an existing hole in the floor and into the water tank.

 

The horn on the servo was cut so that it would not hit the floor.

The control wire was bent to fit the installation. 

 

 

TWOPOTS_HI_LO_SERVO_08M-V1-1.BAS

 

symbol SoundBoard = 0
symbol RCInput = pin3
symbol Pot1 = 2
symbol Pot2 = 1
symbol Srvo = 4

symbol topmax = 245 '225 manual recommended max
symbol bottommin = 25 '75 manual recommended min
symbol top = w3
symbol bottom = w4
symbol loop1 = b0
symbol delay=20

pause 1000

for loop1=1 to 5
servo Srvo, top
pause 50
next loop1
low Srvo'relax servo
pause 50


start:
if RCInput=0 then start ' wait till button pressed
readadc10 Pot1, top
top=top/4
if top > topmax then fix1
if top < bottommin then fix2
goto skip1
fix1:top=topmax
goto skip1
fix2: top=bottommin
skip1:
debug top

readadc10 Pot2, bottom
bottom=bottom/4
if bottom > topmax then fix3
if bottom < bottommin then fix4
goto skip2:
fix3:bottom=topmax
goto skip2:
fix4:bottom=bottommin
skip2:
if bottom > top then fix5:
goto skip3:
fix5:bottom=top
skip3:
debug bottom



'''low SoundBoard 'start sound
'pause 6000

for loop1= top to bottom step -1
servo 4, loop1
'debug b0:
pause delay
next loop1

'''high SoundBoard 'stop sound (doesn't really stop till cycle done)
'pause 16000


for loop1=bottom to top step 1
servo Srvo, loop1
'debug b0:
pause delay
next loop1


low Srvo 'relax servo

pause 500

goto start:




 

Software modified for coal tower - 08-19-07 - activates servo before sound activation.

TWOPOTS_HI_LO_SERVO_08M-V1-12BAStipple.BAS

symbol SoundBoard = 0
symbol RCInput = pin3
symbol Pot1 = 2
symbol Pot2 = 1
symbol Srvo = 4

symbol topmax = 245 '225 manual recommended max
symbol bottommin = 25 '75 manual recommended min
symbol top = w3
symbol bottom = w4
symbol loop1 = b0
symbol delay = 20

low soundboard
pause 1000
high soundboard
for loop1=1 to 5
servo Srvo, top
pause 50
next loop1
low Srvo'relax servo
pause 50


for b0=1 to 10:toggle soundboard:pause 500:next b0


start:
high SoundBoard 'stop sound (doesn't really stop till cycle done)
if RCInput=0 then start ' wait till button pressed

readadc10 Pot1, top
top=top/4
if top > topmax then fix1
if top < bottommin then fix2
goto skip1
fix1:top=topmax
goto skip1
fix2: top=bottommin
skip1:
'debug top

readadc10 Pot2, bottom
bottom=bottom/4
if bottom > topmax then fix3
if bottom < bottommin then fix4
goto skip2:
fix3:bottom=topmax
goto skip2:
fix4:bottom=bottommin
skip2:
if bottom > top then fix5:
goto skip3:
fix5:bottom=top
skip3:
'debug bottom




for loop1= top to bottom step -1
servo 4, loop1
'debug b0:
pause delay
next loop1
pause 2000
low SoundBoard 'start sound
pause 100
high soundboard
pause 22000


'high SoundBoard 'stop sound (doesn't really stop till cycle done)
'pause 16000


for loop1=bottom to top step 1
servo Srvo, loop1
'debug b0:
pause delay
next loop1


low Srvo 'relax servo

pause 500

goto start: