# Withc Talk: Using Two Frankenstein Boards to produce Conversation for 3 Axis Skull



## Dead Things (Apr 4, 2009)

*Witch Talk: Using Two Frankenstein Boards to produce Conversation for 3 Axis Skull*

Here is a video tutorial on how I get my Witches to talk, using two Frankenstein boards and a Picaxe Overlord.


----------



## Dead Things (Apr 4, 2009)

This is the code that I developed


```
'#18M2 Witch Scene. 18M2 controls all of the folders/mp3s three MDFly boards, sends logic high  
'to 5vdc relays to turn on/off spotlights and sends logic high to two CHI030 boards that 
'control flying witch

symbol Gertie = B.0 		'MDFly 1 RX line (pin 15)
symbol Gertie_BZ =pinB.1 	'MDFly 1 busy line (pin 13)
symbol Aggie = B.2 		'MDFly 2 RX line (pin 15)
symbol Aggie_BZ = pinB.3 	'MDFly 2 Busy line (pin 13)


symbol Thunder = B.5		'MDFly 3 RX line (pin 15)
symbol Thunder_BZ = pinB.4    'MDFly 3 Busy line (pin 13)
symbol Brunny_Fly = C.7

symbol Baud =T4800 		'tenda baud Rate
symbol Trigger =pinC.2 		'trigger, momentary switch 5VDC high active
symbol Retriggertime = w5  	'delay before scene can be retriggered
symbol Aggie_Light = C.1	'Logic high sent to relay to turn on spotlight
symbol Gertie_Light = C.0	'Logic high sent to relay to turn on spotlight

Start0:
	
	Retriggertime = 60
		
	Init:				'Initialize active pins by first turning them off and then turning them on
		low Aggie_Light
		pause 400
		low Gertie_Light
		pause 400
		low Brunny_Fly
		pause 400
		high Gertie 			'prepare MDFly 1
		pause 400
		high Aggie 				'prepare MDFly 2
		pause 400
		high Thunder 			'prepare MDFly 3
		pause 400			
		serout Aggie,Baud,($EF) 	'stop MDFly 1
		serout Gertie, Baud, ($EF)	'stop MDFly 2
		serout Thunder, Baud, ($EF) 	'stop MDFly 3
		pause 6000					'wait 6 seconds
		serout Gertie, Baud, ($E8) 	'set MDFly 1 volume
		serout Aggie, Baud, ($E8) 	'set MDFly 2 volume
		serout Thunder, Baud, ($E8) 	'set MDFly 3 volume
		pause 20000	 			'wait 20 seconds 

	Waiting:					'Wait for Trigger to start routines
		
		Do
		let Trigger = 0			'set Trigger as low
		let w0 = time
		random w0
		If Trigger = 1 then 
			goto Happy_Halloween	'if switch is pressed go to routine
		pause 100
		Endif
		loop while Trigger = 0
			


	Happy_Halloween:'this begins the routine with a cauldron splash and cackling
			pause 100
			serout Aggie, Baud, ($F2,09)		'all mp3s for this routine are in folder2 on both MDFlys	
			serout Gertie, Baud, ($F2,10)
			pause 2000
			do while Aggie_BZ = 0
			loop
			
			high Aggie_Light			'turn on Aggie's spotlight
			high Gertie_Light			'turn on Gertie's spotlight
			serout Aggie,Baud,($F2,01)	'the first chant begins. The witches say this together
			pause 375				'this delay is used to sync the two tracks
			serout Gertie,Baud, ($F2,01)
			pause 2000
			do while Gertie_BZ = 0		'keeps looping while MDFly 1 is low active
			loop
			
			low Aggie_Light			'turns off Aggie's spot,leaving Gertie's spot on
			serout Gertie, Baud, ($F2,02)
			pause 2000
			do while Gertie_BZ = 0
			loop
			
			low Gertie_Light
			high Aggie_Light
			serout Aggie, Baud, ($F2,03)
			pause 2000
			do while Aggie_BZ = 0
			loop
			
			low Aggie_Light
			high Gertie_Light
			serout Gertie, Baud, ($F2,04)
			pause 2000
			do while Gertie_BZ = 0
			loop
			
			low Gertie_Light
			high Aggie_Light
			serout Aggie, Baud, ($F2,05)
			pause 2000
			do while Aggie_BZ = 0
			loop
			
			low Gertie_Light
			Low Aggie_Light
			serout Thunder, Baud, ($01)	'thunder crack for dramatic effect. Uses a color organ
			pause 2000				
			do while Thunder_BZ = 0
			loop
			
			high Aggie_Light
			serout Aggie, Baud, ($F2,06)
			pause 2000
			do while Aggie_BZ = 0
			loop
			
			low Aggie_Light
			high Gertie_Light
			serout Gertie, Baud, ($F2,07)
			pause 2000
			do while Gertie_BZ = 0
			loop
			
			low Gertie_Light
			high Aggie_Light
			serout Aggie, Baud, ($F2,08)
			pause 2000
			do while Aggie_BZ = 0
			loop
			
			low Gertie_Light
			Low Aggie_Light
			high Thunder
			pause 300
			high Brunny_Fly			'sends logic high to trigger inputs on two Picaxe CHI030 boards.These control air solenoids (among other things)for a flying witch
			serout Thunder, Baud, ($01)
			serout Aggie, Baud, ($F2,10)
			serout Gertie, Baud, ($F2, 09)
			pause 16500
			low Brunny_Fly
			goto Retriggerdelay
			
		Retriggerdelay: 
				
			low Aggie_Light
			low Gertie_Light                                           
                  Do
                  Pause 1000
                  Retriggertime = Retriggertime -1 
                  Loop Until Retriggertime=0
                  goto Waiting
```


----------



## halstaff (Nov 18, 2009)

Great to see the specifics on how all this came together. This was a long process but the results were worth it!


----------

