In order to smoothly and easily program our routines,
This setup was already responsible for triggering my Papa
Voodoo character (see the October 2014 issue of SERVO),
and we decided to synchronize this scene with it. In this
way, we could be assured that both scenes would never be
running at the same time.
In addition to triggering the two primary scenes, this
system is also responsible for directing the 16 RGBW (red,
green, blue, and white) LED floodlights used in the
cemetery scene, as well as the six lights for the witch and
skeleton scene. Incandescent bulbs are used for the witch
scene as they fade in and out well. These were installed in
inexpensive clamp lights which provide convenient
mounting options. The six scene lighting features consist of
the witch’s body, skeleton body, cauldron, spell book,
lightning bolts, and finally one for the cat.
We wanted our audience to be able to focus on each
display without the distraction of the other scene being
active. I use the free software program, Vixen (see
Resources) to run my show. It packs plenty of firepower
and does everything I need it to do. Plus, the price is
certainly right!
In order to cut down on wiring, we needed to add an
additional controller to the system. By doing so, we could
connect the auxiliary box with a single Cat6 cable next to
the scene and run all the new scene’s components from
there (see Figure 5). For this, I used a DIY board: the
The triggering for the scene is accomplished using an
AC relay which triggers all four boards simultaneously. The
timing for each board is so accurate that they operate in
perfect harmony!
Renard SS16 (see Resources). I was first introduced to
these controllers by the Christmas lighting crowd and have
been very pleased with their easy construction,
documentation, and reliability.
When the scene is in idle mode, the witch’s head will
still be calmly moving and scanning the guests. Nothing too
dramatic, but we do want her to look alive as she searches
for new victims!
Making It All Move with AMS
19 ' Servopos (75 to 225)is the expanded range of
' typical servo motor
20 '
21 '
22 ' Author: Brian Lincoln
23 ' Date: 6/6/16 Original
24
25 ' Updates:
26 ' 6/6/16 BTL Original Code
27
28 '
29
30 '
31
32 '---------- Declarations -----------------------
33 #Picaxe 08M2 ' Default PICAXE 08m2+ running at
' 4 MHz
34
35 'symbol xxx = C.0 ' Serial Out - Do not use
36 symbol new_out = C.1 ' Converted Output On or
' Off
37 'symbol xxx = C.2 ' Spare
38 symbol PWM_Input = C.3 ' PWM signal to be
' converted INPUT ONLY
39 'symbol xxx = C.4 ' Spare INPUT or OUTPUT
40 'symbol xxx - C.5 ' Serial In - Do not use
41
42
43 symbol pulse_read = w2 ' Variable to read pulse
' counts in 10us
' increments
44
45
46
47 '---------- Initialize -------------------------
48 init:
49 low new_out 'Initialize output pin to low (or
'OFF)
50
51 '---------- Main Code --------------------------
52
53 main:
54
55 pulsin PWM_Input,1,pulse_read
' record the length of a pulse on C.3
' into w2 in 10us increments (or counts)
56 ' for example 500us = 50 counts, 1500us
' = 150 counts, 2500us - 250 counts
57
58 if pulse_read > 150 then
'If pulse that was read is bigger than
'150 counts (or 1500us) then set output pin
'high
59 high new_out
60 else
61 low new_out 'If pulse that was read is smaller
'than 150 counts (or 1500us) then
'set output pin low
62 endif 'Note: If pulse is not detected at all,
'it will record a "0" which defaults to
'this "OFF" state.
63
64
65 goto main ' loop back to start
SERVO 12.2016 19
PICAXE Code for Switch
01 ' Program: PWM to On-Off1.bas
02
03 ' Status: Good
04 '
05 ' Description: Program to convert an standard
' servo PWM command to an on/off state. It is
' to be used when
06 ' servo commands are the only available output
' and need to be converted to a simple
07 ' on or off state (e.g.,relay control). Standard
' PWM range is 500ms to 2500ms with an update
08 ' period of ~20ms to 40ms (50Hz to 25Hz).
09 '
10 ' Ouput PICAXE port will be as follows based on
' PWM input:
11 ' 500 ms to 1500ms input pulse = OFF (logical 0
' 0r 0VDC)
12 ' 1501ms to 2500ms input pulse = ON (Logical 1
' or 5VDC)
13 '
14 ' Employs the Pulsin command that measures pulse
' widths in 10 us increments.
15 ' If no pulse is detected within a 0.635 seconds
' period, it will output a "0".
16 ' This would imply the code logic would set the
' ouput port to OFF (logical 0 or 0VDC).
17 '
18 ' Runs on 08M2 project board using 3 AA
' batteries; Default 4 MHz clock
Click to subscribe to this magazine