' ========================================================================= ' ' File....... ' Purpose.... ' Author..... Jon Williams -- Parallax, Inc. ' E-mail..... jwilliams@parallax.com ' Started.... ' Updated.... DD MMM YYYY ' ' {$STAMP BS1} ' {$PBASIC 1.0} ' ' ========================================================================= ' -----[ Program Description ]--------------------------------------------- ' -----[ Revision History ]------------------------------------------------ ' -----[ I/O Definitions ]------------------------------------------------- SYMBOL Pir = PIN7 SYMBOL Fan = 5 SYMBOL Servo = 2 SYMBOL Eyes = PIN1 SYMBOL SoundFX = 0 ' -----[ Constants ]------------------------------------------------------- SYMBOL HeadLeft = 55 SYMBOL HeadRight = 230 SYMBOL TriggerDelay = 3000 SYMBOL IdleTime = 5000 SYMBOL IsOn = 1 SYMBOL IsOff = 0 ' -----[ Variables ]------------------------------------------------------- SYMBOL counter = W2 ' -----[ EEPROM Data ]----------------------------------------------------- ' -----[ Initialization ]-------------------------------------------------- Hold_PIR: FOR counter = 30 TO 1 STEP -1 DEBUG CLS, "PIR ready in ", #counter, "seconds" PAUSE 800 NEXT Reset: DEBUG CLS, "Waiting...", CR PINS = %00000001 DIRS = %00100111 ' -----[ Program Code ]---------------------------------------------------- Main: PULSOUT Servo, HeadLeft PAUSE 20 IF Pir = 0 THEN Main ' wait for motion DEBUG "Tripped", CR FOR counter = 0 TO TriggerDelay STEP 20 PULSOUT Servo, HeadLeft PAUSE 20 NEXT DEBUG "Head Right", CR FOR counter = 0 TO 3000 STEP 20 PULSOUT Servo, HeadRight PAUSE 20 NEXT DEBUG "Light eyes", CR Eyes = IsOn FOR counter = 0 TO 2000 STEP 20 PULSOUT Servo, HeadRight PAUSE 20 NEXT DEBUG "Scream", CR PULSOUT SoundFX, 100 ' trigger SFX board DEBUG "15-second delay", CR FOR counter = 0 TO 15000 STEP 20 PULSOUT Servo, HeadRight PAUSE 20 NEXT DEBUG "Return head to left", CR FOR counter = 0 TO IdleTime STEP 20 PULSOUT Servo, HeadLeft PAUSE 20 NEXT DEBUG "Resetting", CR GOTO Reset ' -----[ Subroutines ]-----------------------------------------------------