'{$STAMP BS2} '{$PBASIC 2.5} ' ************************************************************** ' * Spiders Preyground Decontamination Chamber Controller * ' * By Vern Graner SSE, Texas Information Services * ' ************************************************************** ' * Code for BSII to operate sound, lights, smoke machine(s) * ' * and pneumatics to control "Decontamination Chamber" prop * ' ************************************************************** ' * Revision Info: V.5c 6-8-2005 * ' * Update 10-31-2005 6:47pm !!!! :) * ' ************************************************************** ' ************************ ' * Pin Assignments * ' ************************ ROPE1 PIN 0 'Kit74 port 1 ROPE2 PIN 1 'Kit74 port 2 ROPE3 PIN 2 'Kit74 port 3 ROPE4 PIN 3 'Kit74 port 4 BEACON PIN 4 'Kit74 port 5 STROBE PIN 5 'Kit74 port 6 AIRJET PIN 6 'Kit74 port 7 'UNUSED PIN 7 ' Kit74 port 8 FOG PIN 8 'HB Relay 1 Smoke Machine DOOR PIN 9 'HB Relay 2 Door Release BLIGHT PIN 10 'HB Relay 3 Button Light SOUND PIN 11 'BSII Sound out to audio amp MP3T PIN 12 ' uMP3 player MP3R PIN 13 ' uMP3 player TRIGGER PIN 14 'Button LCD PIN 15 'LCD display 'TESTD PIN 11 ' HIGH 7 ' keep a full time power on the baord HIGH AIRJET 'ASCO valve is N.O.?!?! check this valve spec! 'TEST6: 'Test Button releases door for testing latch 'IF TRIGGER = false THEN ' HIGH DOOR 'ELSE ' LOW DOOR 'ENDIF 'GOTO TEST6 ' ************************ ' * Data Variables * ' ************************ CntA VAR Word ' Counter A CntB VAR Word ' Counter B CntC VAR Byte ' Counter C CntD VAR Byte ' COunter D cntI VAR Byte ' Loop Counter Result VAR Word ' Random Value CutDwn VAR result.NIB0 btnWrk VAR Byte ' Workspace for BUTTON FALSE CON 0 TRUE CON 1 ' ************************ ' * LCD variables * ' ************************ N9600 CON $4054 ' Baudmode-9600 bps inverted. Use $40F0 for BS2-SX. I CON 254 ' Instruction prefix value. CLR CON 1 ' LCD clear-screen instruction. LINE2 CON 192 ' Address of 1st char of 2nd line. JETSPEED CON 75 'HOW long the air jets stay "on" RESULT = 1534 ' ************************ ' * Display Version Info * ' ************************ PAUSE 500 SEROUT LCD,n9600,[I,CLR] SEROUT LCD,n9600,["Decon Chamber "] SEROUT LCD,n9600,[I,LINE2] SEROUT LCD,n9600,["V0.5c (c)VGraner"] PAUSE 1000 'GOTO begin 'so i dont have to get up and push the button after code dloads! START: ' ************************ ' * Main Program * ' ************************ SEROUT LCD,n9600,[I,CLR] SEROUT LCD,n9600,["Task- Waiting: "] SEROUT LCD,n9600,[I,LINE2] SEROUT LCD,n9600,["Button/Start "] 'LOW BEACON HIGH BLIGHT waitbut0: IF TRIGGER = FALSE THEN BEGIN GOTO waitbut0 BEGIN: LOW BLIGHT SEROUT MP3R,84,["PC F /FullDecon.mp3",CR] ' ************************ ' * Low Freq sweep * ' ************************ FOR cntC=1 TO 2 'how may times through the entire sequence HIGH FOG HIGH STROBE SEROUT LCD,n9600,[I,CLR] SEROUT LCD,n9600,["Task- "] SEROUT LCD,n9600,[I,LINE2] SEROUT LCD,n9600,["Low Freq Sweep "] CNTB = 1500 FOR cntA=1 TO 1500 STEP 10 CNTB=CNTB-10 FREQOUT SOUND, 20, cntA,cntB NEXT LOW FOG LOW STROBE ' ************************ ' * Ait jet Cycle * ' ************************ SEROUT LCD,n9600,[I,CLR] SEROUT LCD,n9600,["Task- "] SEROUT LCD,n9600,[I,LINE2] SEROUT LCD,n9600,["Lights Circling"] ' PAUSE 500 FOR cntA=1 TO 10 HIGH ROPE1 FREQOUT SOUND, JETSPEED, 60,120 LOW ROPE1 LOW ROPE2 LOW ROPE3 LOW ROPE4 HIGH ROPE2 FREQOUT SOUND, JETSPEED, 60,120 LOW ROPE1 LOW ROPE2 LOW ROPE3 LOW ROPE4 HIGH ROPE3 FREQOUT SOUND, JETSPEED, 60,120 LOW ROPE1 LOW ROPE2 LOW ROPE3 LOW ROPE4 HIGH ROPE4 FREQOUT SOUND, JETSPEED, 60,120 LOW ROPE1 LOW ROPE2 LOW ROPE3 LOW ROPE4 NEXT ' ************************ ' * SciFi sounds * ' ************************ SEROUT LCD,n9600,[I,CLR] SEROUT LCD,n9600,["Task- "] SEROUT LCD,n9600,[I,LINE2] SEROUT LCD,n9600,["SciFi Sound EFX1"] HIGH BEACON DTMFOUT SOUND, 50, 10, [12, 3, 15, 9] FREQOUT SOUND, 1000, 50,927 LOW BEACON GOSUB RNDSHOT SEROUT LCD,n9600,[I,LINE2] SEROUT LCD,n9600,["SciFi Sound EFX2"] HIGH BEACON DTMFOUT SOUND, 50, 10, [4,4,8,7, 5,1,9,6, 6,2,2,0,0,1, 15,12,14,11,13] FREQOUT SOUND, 550, 100,108 LOW BEACON GOSUB RNDSHOT SEROUT LCD,n9600,[I,LINE2] SEROUT LCD,n9600,["SciFi Sound EFX3"] HIGH STROBE DTMFOUT SOUND, 50, 10, [4, 5, 4, 0, 0, 4, 4, 6, 8, 12] FREQOUT SOUND, 500, 200,108 LOW STROBE GOSUB RNDSHOT SEROUT LCD,n9600,[I,LINE2] SEROUT LCD,n9600,["SciFi Sound EFX4"] HIGH BEACON DTMFOUT SOUND, 50, 10, [15, 6, 3, 9, 11, 13, 4, 2, 7, 6, 5, 4, 6,3] FREQOUT SOUND, 420, 150,158 LOW BEACON GOSUB RNDSHOT NEXT ' ************************ ' * Wait for Reset sig * ' ************************ SEROUT LCD,n9600,[I,CLR] SEROUT LCD,n9600,["Task- "] SEROUT LCD,n9600,[I,LINE2] SEROUT LCD,n9600,["Open Door "] LOW BEACON LOW STROBE LOW ROPE1 LOW ROPE2 LOW ROPE3 LOW ROPE4 PAUSE 2000 ' two seconds of blackout HIGH BEACON ' Open Door HIGH DOOR PAUSE 100 LOW DOOR PAUSE 100 HIGH DOOR PAUSE 100 LOW DOOR SEROUT LCD,n9600,[I,CLR] SEROUT LCD,n9600,["Task- Waiting: "] SEROUT LCD,n9600,[I,LINE2] SEROUT LCD,n9600,["Exit Decon "] PAUSE 8000 LOW BEACON GOTO START ' ************************ ' * Airjet Random Shot * ' ************************ RNDSHOT: 'HIGH STROBE SEROUT LCD,n9600,[I,CLR] SEROUT LCD,n9600,["Task- "] SEROUT LCD,n9600,[I,LINE2] SEROUT LCD,n9600,["Airjet Firing "] 'PAUSE 100 HIGH STROBE LOW AIRJET 'HIGH ROPE1 'HIGH ROPE4 PAUSE 500 HIGH AIRJET LOW STROBE 'LOW ROPE1 'LOW ROPE4 PAUSE 500 'LOW AIRJET 'HIGH ROPE2 'HIGH ROPE3 'PAUSE 500 'HIGH AIRJET 'LOW ROPE2 'LOW ROPE3 'PAUSE 500 'HIGH AIRJET 'HIGH ROPE2 'PAUSE 100 'LOW AIRJET 'LOW ROPE2 'PAUSE 100 ' ' 'HIGH AIRJET 'HIGH ROPE3 'PAUSE 100 'LOW AIRJET 'LOW ROPE3 'PAUSE 100 RETURN 'Done, return