Ultimate Guide Links & resources
These links will be updated periodically as I try to keep them as up to date as possible. Some of the recommended products link to Amazon. As an Amazon Associate I earn from qualifying purchases. If you decide to not utilize those links, you may use the original links in the book to go directly to the desired product.
Chapter 1 – From the Beginning
Stan Winston School of Character Arts
My website and YouTube channels - http://bit.ly/Hauntech and http://bit.ly/Halstaff
EEVblog Soldering Tutorial - http://bit.ly/2NRurcD
Essential Mechanism Examples - http://bit.ly/2MKIVXc
Forums –http://bit.ly/2ldUxcg , http://bit.ly/2NRuHZ9
Books and Magazines –Servo Magazine -http://bit.ly/2D8p5pb,
Nuts and Volts Magazine - http://bit.ly/2RMwnBE
DC Props prop building books - http://bit.ly/2phmQWY
Prop ideas - http://bit.ly/2D7ZZqr
Pandemic Cemetery Prop Plans - http://bit.ly/2NQWWr0
Charts for servo comparisons - http://bit.ly/2OCMbpd and http://bit.ly/2OHlnEg
ServoCity - http://bit.ly/2ODEi3b
Monster Guts - http://bit.ly/2OzFi8d
Spider Hill Prop Works - http://bit.ly/2D5LhQZ
McMaster Carr - http://bit.ly/2mxAnKy
Fright Props - http://bit.ly/2mj5d9p
Robot Shop - http://bit.ly/2NU2qkP
Spark Fun - http://bit.ly/2lipiNi
Making Custom Resealable Bags – http://bit.ly/BagMod
Chapter 2 – Setting Up Shop
Spray Can Grip - https://amzn.to/305dqPr
McMaster-Carr - http://bit.ly/2mxAnKy
My YouTube channel - http://bit.ly/Halstaff
My Website - http://bit.ly/Hauntech
Chapter 3 – Idea To Reality
Popsicle sticks for prototyping – http://bit.ly/2yyXo4p
Allen Hopps You Tube Channel – http://bit.ly/2xwOHpN
Robives Mechanisms - http://bit.ly/2PSf1lL
Brian Lincoln’s flying saucer build thread -http://bit.ly/2DbfsX4
Home Depot PVC Cutter - https://thd.co/2xyIn0W
Harbor Freight Heat Gun - http://bit.ly/2xyIrOe
Spider Hill Prop Works Joints - http://bit.ly/2D5LhQZ
ServoCity Actobotics - http://bit.ly/2NQo35E
Chapter 4 – Tips of the Trade
MakerPlace - http://bit.ly/2PHIE9k
CorrosionX - http://bit.ly/2pkKH8h
Allen Hopps airbrush tips video - http://bit.ly/2NRsDjW
9V Battery Containers - https://amzn.to/2Ykrin8
Servo Clips - https://amzn.to/2YibP7a
Pro-Poxy 20 - https://amzn.to/2Lx9oMx
Froggy’s Fog Scents - http://bit.ly/2MMJvDQ
My YouTube Channel –http://bit.ly/Halstaff
My Website - http://bit.ly/Hauntech
Chapter 5 – Wiper Motors
Wiper Motor tombstone video - http://bit.ly/2QBj6Mm
Wiper Motor mechanism thread - http://bit.ly/2D7No6M
Updated tombstone controller - http://bit.ly/2pieZsf
Brian Lincoln’s table circuit videos - http://bit.ly/2xuLhDY , http://bit.ly/2D8fPRV , http://bit.ly/2QBkFtI and http://bit.ly/2NnjrEz
Monster Guts - http://bit.ly/2pig4Aj
Fright Props – http://bit.ly/2OxCrwB
McMaster-Carr - http://bit.ly/2mxAnKy
ScareFX Rocking Granny - http://bit.ly/2piSZ0h
Simple Circuit Boards – http://bit.ly/2NlFcEF
Scary Terry - http://bit.ly/2NRCAxP
Spider Hill Prop Works - http://bit.ly/2xp9bl7
Utilizing Motor Outputs of a Servo - http://bit.ly/2xE87cD
ServoCity - http://bit.ly/2xytZ8Y
My YouTube channel - http://bit.ly/Halstaff
My Website - http://bit.ly/Hauntech
Chapter 6 – More Motors
Robives Linkages - http://bit.ly/2PSf1lL
FrightProps PicoVolt - http://bit.ly/2NXkD0E
Scary Tinker Labs - http://bit.ly/2PJuBQw
Kindy’s Reindeer Motors- http://bit.ly/2MLetfK
ServoCity Motors- http://bit.ly/2pmL1Dl
Shiatsu Video - http://bit.ly/2xpbQLI
Shiatsu Thread - http://bit.ly/2xxx6xY
Flexible Screwdriver - https://amzn.to/2YkrZNg
My YouTube Channel - http://bit.ly/Halstaff
My Website - http://bit.ly/Hauntech
Chapter 7 - Servos
HiTec Servo comparison chart - http://bit.ly/2OCMbpd
Tyler’s Servo Tester thread - http://bit.ly/2Db5btO
Servo Arms - http://bit.ly/2xjfTZZ
ServoCity Actobotics - http://bit.ly/2NQo35E
Hitec Programmer – http://bit.ly/2OxKMjH
Adafruit - http://bit.ly/2PPN91Q
RobotShop – http://bit.ly/2xvEkUf
SparkFun – http://bit.ly/2xneCkE
Parallax – http://bit.ly/2DdAbte
Pololu -- http://bit.ly/2DckyCj
RobotShop Servo Brackets - http://bit.ly/2Nli6y1
Sullivan Products - http://bit.ly/2xwRQG9
My YouTube channel - http://bit.ly/Halstaff
My Website - http://bit.ly/Hauntech
Chapter 8 - Pneumatics
Canyon Trail Cemetery slider - http://bit.ly/2xBQQRk
Haunt Hackers - http://bit.ly/Hnthack
Automation Direct - http://bit.ly/2O0T2vW
Monster Guts - http://bit.ly/2OzINvr
Helpful Pneumatic links list - http://bit.ly/2xueTkW
Fright Props Tutorials - http://bit.ly/2OEl11m
My website - http://bit.ly/Hauntech
My YouTube channel - http://bit.ly/Halstaff
Chapter 9 – Linear Actuators
ADA Robotic hand – http://bit.ly/2DfGNqX
Linear Actuator using Arduino - http://bit.ly/2pnOlhG
Actuonix Motion Devices - http://bit.ly/2plPjuE
ServoCity - http://bit.ly/2NryiOc
Fright Props – http://bit.ly/2NpUMiv
My YouTube channel - http://bit.ly/Halstaff
My Website - http://bit.ly/Hauntech
Chapter 10 – Triggers and Sensors
Wired Pushbutton build - http://bit.ly/2NUnLdS
Step Mat build - http://bit.ly/2NVikLB
IR Modification – http://bit.ly/2OD44o3
PIR Sensor - http://bit.ly/2pqRZr6
PIR Enclosure video - http://bit.ly/PIRenclosure
PIR Floodlight hack thread- http://bit.ly/2MJhxc1
Rangefinder build - http://bit.ly/2Nsg3Im
Srvo mounts - http://bit.ly/2QITAVq
Photocell project – http://bit.ly/2xzhNF8
Photocell tutorial - http://bit.ly/2OCpB08
Limit Switch thread - http://bit.ly/2D7No6M
Wiper Motor with limit switch - http://bit.ly/2xvKzXb
Step Mat - http://bit.ly/2Dbb7mr
Parallax BASIC Stamp Carrier Board - http://bit.ly/2NrpUhA
Parallax Super Carrier Board - http://bit.ly/2NTuoNz
BASIC Stamp Editor - http://bit.ly/2PLPeM7
Ultrasonic Sensor Kit - http://bit.ly/2Da6fhq
Servo Mounts - http://bit.ly/2QITAVq
Arduino Uno - http://bit.ly/2xBJq0q
Extended Marker - https://amzn.to/305euTr
Chapter 11 – Prop Controllers
Fright Props Pico Volt – http://bit.ly/2OFQRei
SparkFun Inventor’s Kit - http://bit.ly/2pqM9Ga
MDFLY Audio Units - http://bit.ly/2mKo0If
Scuba Board Button Banger – http://bit.ly/2xpO1DB
Frankenstein Three-Axis Board - http://bit.ly/2PUuEJF
Banshee – http://bit.ly/2rea2AZ
Parallax Activity Board – http://bit.ly/2t0ykTB
Vixen Software - http://bit.ly/2QII6S9
Renard Plus - http://bit.ly/2MPxL3v
Light-O-Rama - http://bit.ly/2pliaPY
Haunt Bots – http://bit.ly/2ppFA6D
EFX-TEK - http://bit.ly/2NR7KWf
VenueMagic – http://bit.ly/2ppFImD
My YouTube channel - http://bit.ly/Halstaff
My Website - http://bit.ly/Hauntech
Chapter12 - Audio
Continuous loop hack - http://bit.ly/2QSTB9G
Fright Props PicoBoo Controller - http://bit.ly/2rgLqcO
MDFLY - http://bit.ly/2mKo0If
Banshee Controller - http://bit.ly/bancont
Bluetooth Speaker Review - http://bit.ly/2seFQ84
Papa VooDoo Video – http://bit.ly/PapaVoDo
Big Red Video - http://bit.ly/bigredvid
Witch Scene Video - http://bit.ly/witchskel
Sinful Audio - http://bit.ly/sfaudio
Audacity - http://bit.ly/AdctAd
Freesound - http://bit.ly/2s7F25q
Audioblocks - http://bit.ly/2qzU95F
Motion Detector Sound System- http://bit.ly/2qt8tC4
Coiling extension cords - http://bit.ly/2qtcpT7
My YouTube channel - http://bit.ly/Halstaff
My Website - http://bit.ly/Hauntechdiy
Chapter 13 - Power
RobotShop - http://bit.ly/2pmBcVU
ServoCity - http://bit.ly/2xql3U5
Hitec – http://bit.ly/2OFjzvL
My Website - http://bit.ly/Hauntech
My YouTube Channel - http://bit.ly/Halstaff
Chapter 14 – Puppeteering
VSA – http://bit.ly/2OEyarh
MonkeyBasic – http://bit.ly/2DgojXs
ServoCity – http://bit.ly/2Dhy47H
Parallax Activity Board - http://bit.ly/2t0ykTB
Hitec Servos - http://bit.ly/2DhLJf7
Actuonix Linear Servos - http://bit.ly/2MP2A8D
Adafruit Electronic Eyes - http://bit.ly/2xpj5U0
Vixen Software - http://bit.ly/2QII6S9
Renard Plus - http://bit.ly/2MPxL3v
All Electronics - http://bit.ly/2xzI1aD
Brian's Servo Recorder/Player Software - http://bit.ly/60BServo
My Facebook live video - http://bit.ly/2Ga4yzE
My YouTube channel - http://bit.ly/Halstaff
My Website - http://bit.ly/Hauntech
Chapter 15 – Moving Your Head
Servo Attachment - http://bit.ly/2OFfaZF
Scary Terry Audio Circuit - http://bit.ly/2Dhk4uA
Monster Guts 3 Axis Kit - http://bit.ly/2lYq65x
Halloween2Go - http://bit.ly/2OM3uUQ
ServoCity Actobotics - http://bit.ly/2NQo35E
My Webpage - http://bit.ly/Hauntech
Audacity - http://bit.ly/2xBGSzn
Chapter 16 - Eyes
Animatronic Eyes - http://bit.ly/2OFnadf
Halloween2go - http://bit.ly/2OM3uUQ
ServoCity - http://bit.ly/2MQL3g0
ProPoxy - https://amzn.to/2Lx9oMx
Stan Winston School - http://bit.ly/2xoYXBs
Monster Guts - http://bit.ly/2pqlZ6t
Adafruit - http://bit.ly/2xpj5U0
Shapeways - http://bit.ly/2xpXryX
Eye Blanks - https://amzn.to/2HaVVpp
Chapter 17 - Hands
Brian’s Build Forum Thread - http://bit.ly/2OF16zs
Stan Winston School of Character Arts - http://bit.ly/StanWin
Tying the Palomar knot - http://bit.ly/2QMSxnK
Reversing Servo Rotation video - http://bit.ly/2Dg3Ema
Adafruit Flex Sensor Strips - http://bit.ly/2xA4K6r
ServoCity Servo Recorder - http://bit.ly/2prVPjv
My YouTube Channel – http://bit.ly/Halstaff
My Website - http://bit.ly/Hauntech
Chapter 18 – The Body
Spider Hill Prop Works - http://bit.ly/2D5LhQZ
ServoCity Actobotics – http://bit.ly/2NQo35E
All Scare – http://bit.ly/2xsm9OV
Evil Ted - http://bit.ly/2QGQT6S & http://bit.ly/2QLD33d
Bill Doran - http://bit.ly/2DeCAE3
Magnogrip - http://bit.ly/2QRBUau
My YouTube channel - http://bit.ly/Halstaff
My Website - http://bit.ly/Hauntech
Chapter 19 - Face
Monster Guts Three-Axis Kit - http://bit.ly/3axis
Teensy Eyes - http://bit.ly/TeensyEyes
E6000 Glue - https://amzn.to/2Hb4yAD
Light Weight Stone Clay - https://amzn.to/2HaUpE0
Apoxie Sculpt – https://amzn.to/2PSszim
Allen Hopps Sculpting – http://bit.ly/Alsclp
Distortions Unlimited - http://bit.ly/DistUn
Ed Edmunds Sculpting - http://bit.ly/MLsculpt
Tandy Leather Stain - http://bit.ly/Tndygel
Allen Hopps Hair – http://bit.ly/Alhair
Hitec Servos - http://bit.ly/HTservo
Chapter 20 - Lighting
LED Wizard - http://bit.ly/LEDwzrd
Gantom tutorials - http://bit.ly/2DSAo4y
Voltage Drop Calculator — http://bit.ly/Voltdrop
DIY Floods - http://bit.ly/2zavmvk
Monoprice — http://bit.ly/mnpric
Kill-A-Watt — https://amzn.to/31BiydT
Lights Alive — http://bit.ly/litealv
Fright Light Illuminations — http://bit.ly/frtlte
Mini Spotlight — http://bit.ly/minspt
Gantom — http://bit.ly/gntmlt
DIY Christmas — http://bit.ly/Clight
My YouTube channel — http://bit.ly/Halstaff
My Website — http://bit.ly/Hauntechdiy
Chapter 21 - Bandit
ServoCity - http://bit.ly/2ODEi3b
Tenda Stereo Audio Board – http://bit.ly/2NZbl4o
Parallax Passive Infrared Sensor – http://bit.ly/2pqRZr6
Scary Terry’s Website - http://bit.ly/2Dhk4uA
Picaxe Program Editor – hhttp://bit.ly/2DecfWs
My Website - http://bit.ly/Hauntech
Youtube Video: http://bit.ly/2qUPSwe
Chapter 22 – Papa VooDoo
Servo City - http://bit.ly/2NQo35E
Parallax - http://bit.ly/2t0ykTB
Simple IDE - http://bit.ly/2DhZI4n
MDFLY Electronics - http://bit.ly/2NZbl4o
Red Tie Photography - http://bit.ly/2tZ0Ino
Completed Build Video - http://bit.ly/PapaVoDo
Brian's Servo Recorder/Player Software - http://bit.ly/60BServo
Chapter 23 - ParkerBot
ServoCity - http://bit.ly/2ODEi3b
Electronics123 Audio Board - http://bit.ly/2Di0EFV
Pololu Simple Motor Controller - http://bit.ly/2MP1LfR
Sound Downloads - http://bit.ly/2QJuWUJ
Audacity Audio Editor Download - http://bit.ly/2xBGSzn
My Website - http://bit.ly/Hauntech
Chapter 24 – Big Red
OpenBuilds Part Store - http://bit.ly/2NpfEqe
ServoCity – Actobotics - http://bit.ly/2NQo35E
Parallax Activity Board - http://bit.ly/2t0ykTB
Sparkfun - http://bit.ly/2POJYYb
Monster Guts - http://bit.ly/2lYq65x
Audacity - http://bit.ly/2xBGSzn
Brian's Servo Recorder/Player Software - http://bit.ly/60BServo
Papa VooDoo code thread - http://bit.ly/2MXwozT
My Website - http://bit.ly/Hauntech
Chapter 25 - Jarvis
ServoCity – http://bit.ly/2OAuxT8
RobotShop – http://bit.ly/2MPA32v
Hitec – http://bit.ly/2OFVMMf
Actuonix Motion Devices – http://bit.ly/2DpO6g2
Adafruit - http://bit.ly/2xpj5U0
Haunt Hackers - Banshee – http://bit.ly/2rea2AZ
Brian's Servo Recorder/Player Software - http://bit.ly/60BServo
My YouTube channel - http://bit.ly/Halstaff
My Website - http://bit.ly/Hauntech
Chapter 26 – Witch Scene
ServoCity Actobotics - http://bit.ly/2NQo35E
Hitec Servos - http://bit.ly/2DhLJf7
Actuonix Linear Servos - http://bit.ly/2MP2A8D
Monster Guts Three-Axis - http://bit.ly/2lYq65x
Tandy Leather Stain - http://bit.ly/2DeCzQo
Parallax Activity Board - http://bit.ly/2t0ykTB
Adafruit Electronic Eyes - http://bit.ly/2xpj5U0
Red Tie Photography - http://bit.ly/2tZ0Ino
Brian's Servo Recorder/Player Software - http://bit.ly/60BServo
My YouTube Channel - http://bit.ly/Halstaff
My Website - http://bit.ly/Hauntech
Chapter 27 – Talking Skull
Scary Terry's website with the original circuit - http://bit.ly/2Dhk4uA
Free audio editing software - http://bit.ly/AdctAd
LAME software DLL that allows Audacity to import/export MP3 files - http://bit.ly/2z53uc5
ProPoxy - https://amzn.to/2Lx9oMx
Dr. Terror Eyes - http://bit.ly/2PmRnBo
YouTube Videos - http://bit.ly/2ENNykJ & http://bit.ly/2theyCZ
Build Components
Skeletons and More Skull - http://bit.ly/hskull
Hitech 425BB Servo - http://bit.ly/425bb
Servo Bracket – http://bit.ly/2Nli6y1
Eyes – http://bit.ly/2RdGkro
LED Eye Cables - http://bit.ly/2yzfe7q
LED’s – http://bit.ly/taydaled
Rigid Wire – http://bit.ly/jawwire
Red Tie Photography - http://bit.ly/rtphoto
ACCOUNT INFORMATION
Side BAr Information
Sample Code
Chapter 10 – Triggers and sensors
SIDEBAR 1
#Picaxe 08M2
symbol PIR_IN=pinC.1
symbol PIR_COUNT=b5
Init: 'Just a starting point label
Pause 6000 'Wait 60 secs for PIR to 'settle down
Testit: 'PIR motion test
Do : Loop Until PIR_IN=1
Do
PIR_COUNT = PIR_COUNT + 1 * PIR_IN
Loop Until PIR_COUNT = 10
PIR_COUNT = 0
goto Routine
SIDEBAR 2
' {$STAMP BS2}
' {$PBASIC 2.5}
' {$PORT COM6}
'---------variables------------------------------------------
lid_servo VAR Word
repeat VAR Byte
rawDist VAR Word
inches VAR Word
'---------pins------------------------------------------
Ping PIN 2
servo1 PIN 0
'---------constants------------------------------------------
Sonar CON 5 ' trigger pulse = 10 uS
Scale CON $200 ' raw x 2.00 = uS
Baud CON $8000 | 6
RawToIn CON 889 ' 1 / 73.746 (with **)
RawToFt CON 889 / 12
'---setup--screen-----
'---------program-----------------------------------------------
main:
GOSUB Get_Sonar ' get sensor value
inches = rawDist ** RawToIn ' convert to inches
DEBUG CRSRXY, 20,3, DEC inches, CR
IF inches < 40 AND inches > 10 THEN GOSUB move_servo
IF inches < 8 THEN GOSUB close_lid
GOTO main
move_servo:
lid_servo = inches *30 MAX 1050 MIN 300
FOR repeat = 0 TO 4
PULSOUT 0, lid_servo
PAUSE 12
NEXT
DEBUG DEC lid_servo
PAUSE 20
DEBUG CLS
RETURN
close_lid:
FOR repeat = 0 TO 5
PULSOUT 0, 240
PAUSE 15
NEXT
RETURN
Get_Sonar:
Ping = 0 ' make trigger 0-1-0
PULSOUT Ping, Sonar ' activate sensor
PULSIN Ping, 1, rawDist ' measure echo pulse
rawDist = rawDist */ Scale ' convert to uS
rawDist = rawDist / 2 ' remove return trip
RETURN
Chapter 14 – Puppeteering
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
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
Chapter 16 - Eyes
SIDEBAR 1
#Picaxe 08M2
'C.1 is Eyes Left/Right servo
'C.2 is Eye Up/down servo
'C.4 is is Eye Lid servo
symbol Eyelr = C.1
symbol Eyeud = C.2
symbol Eyelid = C.4
symbol counter = b9
symbol pointer = b8
symbol delay = 10
symbol counter1 = b19
symbol pointer1 = b18
symbol delay1 = 39
symbol counter2 = b25
symbol pointer2 = b24
symbol delay2 = 45
start0:
pause 500
start1:'Eye Lids
let b8=133 'set pointer offset so that Eye Lid loop does not get stuck
let b6=130
let b7=130 'set default center values
servo Eyelid,pointer 'center servo
pause 7500
for counter = 130 to 83 step -1
servopos Eyelid,counter
pause delay
next counter
pause 3000
for counter = 83 to 180 step 1
servopos Eyelid,counter
pause delay
next counter
pause 3000
for counter = 180 to 130 step -1
servopos Eyelid,counter
pause delay
next counter
pause 4000
move: random w3 'place a random number in wo (also B0 & B1)
if b7<83 then left 'check for random down
if b7>=83 and b7<=130 then middle 'check for random middle
if b7>=130 then right
goto move 'keep moving the Eye Lid back to move loop
right: if pointer = 83 then move
if pointer = 130 then mr
for counter = 180 to 83 step -1
servopos Eyelid,counter
pause delay
next counter
pointer = 83
goto skipmr
mr: for counter = 130 to 83 step -1
servopos Eyelid,counter
pause delay
next counter
pointer = 83
skipmr: pause 7000 'delay to look natural
goto move 'return to move loop
middle: if pointer = 130 then move 'if Eye Lid is already in the middle then go back to move
if pointer = 83 then ml
for counter = 180 to 130 step -1
servopos Eyelid,counter
pause delay
next counter
pointer = 130
goto skipml
ml: for counter = 83 to 130 step 1
servopos Eyelid,counter
pause delay
next counter
pointer = 130
skipml: pause 9000 'delay to look natural
goto move 'return to move loop
left: if pointer = 180 then move
if pointer = 83 then lmr
for counter = 130 to 180 step 1
servopos Eyelid,counter
pause delay
next counter
pointer = 180
goto skiplmr
lmr: for counter = 83 to 180 step 1
servopos Eyelid,counter
pause delay
next counter
pointer = 180
skiplmr: pause 7000 'delay to look natural
goto move 'return to move loop
start2:'Eye Left/Right
let b18=153 'set pointer offset so that Eye Left/Right loop does not get stuck
let b16=150
let b17=150 'set default center values
servo Eyelr,pointer1 'center servo
pause 8000
for counter1 = 150 to 125 step -1
servopos Eyelr,counter1
pause delay1
next counter1
pause 3000
for counter1 = 125 to 175 step 1
servopos Eyelr,counter1
pause delay1
next counter1
pause 3000
for counter1 = 175 to 150 step -1
servopos Eyelr,counter1
pause delay1
next counter1
pause 2000
move1: random w8 'place a random number in wo (also B0 & B1)
if b17<125 then left1 'check for random left
if b17>=125 and b17<=150 then middle1 'check for random middle
if b17>=150 then right1
goto move1 'keep moving the Eye Left/Right back to move loop
right1: if pointer1 = 125 then move1
if pointer1 = 150 then mr1
for counter1 = 175 to 125 step -1
servopos Eyelr,counter1
pause delay1
next counter1
pointer1 = 125
goto skipmr1
mr1: for counter1 = 150 to 125 step -1
servopos Eyelr,counter1
pause delay1
next counter1
pointer1 = 125
skipmr1: pause 7000 'delay to look natural
goto move1 'return to move loop
middle1: if pointer1 = 150 then move1 'if Eye left/Right is already in the middle then go back to move
if pointer1 = 115 then ml1 'check to see if Eye is pointed left or right
for counter1 = 175 to 150 step -1
servopos Eyelr,counter1
pause delay1
next counter1
pointer1 = 150
goto skipml1
ml1: for counter1 = 125 to 150 step 1
servopos Eyelr,counter1
pause delay1
next counter1
pointer1 = 150
skipml1: pause 9000 'delay to look natural
goto move1 'return to move loop
left1: if pointer1 = 175 then move1
if pointer1 = 125 then lmr1
for counter1 = 150 to 175 step 1
servopos Eyelr,counter1
pause delay1
next counter1
pointer1 = 175
goto skiplmr1
lmr1: for counter1 = 125 to 175 step 1
servopos Eyelr,counter1
pause delay1
next counter1
pointer1 = 175
skiplmr1: pause 7000 'delay to look natural
goto move1 'return to move loop
start3: 'Eye Up/Down
let b24=153 'set pointer offset so that Eye Up/Down loop does not get stuck
let b22=150
let b23=150 'set default center values
servo Eyeud,pointer2 'center servo
pause 9500
for counter2 = 150 to 120 step -1 'move Eye from middle to up
servopos Eyeud,counter2
pause delay2
next counter2
pause 3000
for counter2 = 120 to 200 step 1
servopos Eyeud,counter2 'move Eye from up to down
pause delay2
next counter2
pause 3000
for counter2 = 200 to 150 step -1
servopos Eyeud,counter2 'move Eye from down to middle
pause delay2
next counter2
pause 4000
move2: random w11 'place a random number in wo (also B0 & B1)
if b23<120 then left2 'check for random up
if b23>=120 and b23<=150 then middle2 'check for random middle
if b23>=150 then right2 'check for random down
goto move2 'keep moving the Eye back to move loop
right2: if pointer2 = 120 then move2 'if Eye is already down goto back to move
if pointer2 = 150 then mr2 'check to see if Eye in pointed middle or up
for counter2 = 200 to 120 step -1 'move Eye from up to down
servopos Eyeud,counter2
pause delay2
next counter2
pointer2 = 120 'set Eye pointer direction to down
goto skipmr2
mr2: for counter2 = 150 to 120 step -1 'move Eye from middle to down
servopos Eyeud,counter2
pause delay2
next counter2
pointer2 = 120 'set Eye pointer direction to down
skipmr2: pause 7000 'delay to look natural
goto move2 'return to move loop
middle2: if pointer2 = 150 then move2 'if Eye is already in the middle then go back to move
if pointer2 = 120 then ml2 'check to see if head is pointed up or down
for counter2 = 200 to 150 step -1
servopos Eyeud,counter2 'move Eye from down to middle
pause delay2
next counter2
pointer2 = 150
goto skipml2
ml2: for counter2 = 120 to 150 step 1
servopos Eyeud,counter2 'move servo from left to middle
pause delay2
next counter2
pointer2 = 150
skipml2: pause 9000 'delay to look natural
goto move2 'return to move loop
left2: if pointer2 = 200 then move2 'if head is already left then return to move
if pointer2 = 120 then lmr2 'check if the head is in the middle or the right
for counter2 = 150 to 200 step 1
servopos Eyeud,counter2 'move head from middle to left
pause delay2
next counter2
pointer2 = 200
goto skiplmr2
lmr2: for counter2 = 120 to 200 step 1
servopos Eyeud,counter2 'move head from right to left
pause delay2
next counter2
pointer2 = 200
skiplmr2: pause 7000 'delay to look natural
goto move2 'return to move loop
Chapter 21 - Bandit
#Picaxe 18M2
'C.1 is to Tenda
'B.1 is Waist Bend
'B.2 is Spread Wings
'B.3 is Head Nod
Symbol Waist = B.1
Symbol Wings = B.2
Symbol Head = B.3
Symbol Tenda = C.1
Init:
serout Tenda,4800, ($EF); 'STOP MP3 module
pause 1000
serout Tenda,4800, ($E1); 'Set MP3 volume
pause 1000
Servo Waist, 50
Servo Head, 210
Servo Wings, 170
Routine:
servopos Head, 130
pause 1000
servopos head, 210
pause 1000
servopos Wings, 90
pause 250
servopos Wings, 170
pause 1500
servopos Waist, 150
pause 1000
servopos Waist, 100
pause 3000
serout Tenda,4800,($01) 'Start playing first mp3
pause 500
servopos Waist, 50
pause 1000
servopos Waist, 100
pause 3000
servopos Wings, 90
pause 250
servopos Wings, 170
pause 1500
servopos Waist, 150
pause 1000
servopos Waist, 75
pause 1500
servopos Head, 100
pause 1000
servopos head, 160
pause 1000
servopos wings, 90
pause 500
servopos wings, 170
pause 1500
servopos Waist, 120
pause 1000
servopos Waist, 90
pause 2750
servopos Head, 210
pause 1000
servopos head, 140
pause 1000
servopos wings, 90
pause 250
servopos wings, 170
pause 5000
servopos Waist, 150
pause 1000
servopos Waist, 90
pause 2000
servopos Head, 210
pause 1000
servopos head, 140
pause 1000
servopos wings, 100
pause 500
servopos wings, 170
pause 2500
servopos Head, 130
pause 1000
servopos head, 180
pause 1000
servopos Wings, 90
pause 250
servopos Wings, 170
pause 1500
servopos Waist, 150
pause 1000
servopos Waist, 100
pause 3000
for time = 1 to 60'60 is the number of seconds of retrigger delay
pause 1000 'Pause for 1 sec
next time
goto Routine