# Hi-Rez Designs Zombie Containment Video with MedeaWiz Sprite & $10 Relay Decoder PoC



## wickedbeernut (Dec 14, 2016)

*Hi-Rez Designs Zombie Containment Video with MedeaWiz Sprite & $10 Relay Decoder Demo*

This video is a demonstration of the Hi-Rez Designs Zombie Containment: ZIB (Zombie in a Barrel) Volume 3 - Breakout Edition videos with a pair of MedeaWiz Sprite video players and a $10 8-channel relay DTMF decoder,






_I apologize in advance for my poor videography. It doesn't do the Hi-Rez Designs videos nor the MedeaWiz Sprite video player justice._

I'm really impressed with the MedeaWiz Sprite video player.

wbn


----------



## mikkojay (Sep 15, 2014)

Great job WBN, that is one killer proof of concept! Great presentation too! Whenever I make tutorial videos, I end up stumbling over my own tongue and saying, "n stuff" about every other line 

-Mike


----------



## Teamkingsley (Jan 6, 2017)

Great idea and nice presentation!


----------



## wickedbeernut (Dec 14, 2016)

Thank you, Mike and Bill.

Mike, I was certainly inspired by your Four Banger and I look forward to the OctoBanger.

Bill, the MedeaWiz Sprite represents a "sound" value in a triggered HD video player.

I think the combination of the MedeaWiz Sprite and my $10 DIY Wicked Stone 4-Channel Relay DTMF Decoder starts to bring the cost of a ZCU (Zombie Containment Unit) within reach of an advanced home haunt prop builder. You're still looking at $300 for the videos, video players (with the HauntForum.com discount) and relay decoder. This represents up to a $350+ savings over the alternatives. I'm probably looking at another $500 in materials to complete the ZCU. You save money where you can.

I'll track my ZCU progress here. I think this diagram sums up the ZCU PoC (Proof of Concept) rather well.

wbn


----------



## bikerglen (Feb 1, 2017)

Great job on the Sprite, DTMF decoder, and PoC video, wbn!

I’m brand new to the forum and building one of these props too. I planned on using a pair of Rapsberry Pi’s to play the videos and even got as far as modifying a version of omxplayer to toggle GPIOs based on the video playback time and a cue list stored in a file. Next up was to use a PIC18 or PIC24 to launch both videos on the RPIs at the same time.

The Sprite player + DTMF board looks simpler, more reliable, and much less expensive than my dual RPi + PIC solution. I probably need to abandon the RPis and order two of the sprite players and the DTMF decoder then start working on a way to tie everything together.

My build is coming along nicely. I’m missing two control panels that go to either side of the analysis monitor. I’m hoping to have all the decorations complete in two weeks then can begin painting and wiring.

-Glen


----------



## wickedbeernut (Dec 14, 2016)

Hi Glen,

The MT8870 DTMF Decoder Module isn't specific to the Arduino Uno. It will work in conjunction with any microcontroller with five spare input pins. I'm fond of the $4.00 MT8870 *10-pin* DTMF Decoder Module because it's fully pin-compatible with the Uno. However, it's functionally equivalent to the $1.50 MT8870 *9-pin* DTMF Decoder Module. You may just need a wire or two.

It's trivial to control (and monitor) a MedeaWiz Sprite via a serial port.

wbn


----------



## bikerglen (Feb 1, 2017)

My MedeaWiz Sprites arrived over the weekend. They’re much smaller than I thought they would be. Based on some initial testing, I think they’ll work great. 

I’m probably making this more complicated than it needs to be but I’m putting together two PIC24 boards to control everything. The first board is the sync control board and the second board is the relay control board.

The sync control board runs the show and has a PIC24, three serial ports, an input for a button, and an output for a light. The button and light will be used to trigger the prop and show it’s been triggered. Two of the serial ports will control the Sprites and the final serial port will control the relay control board.

The relay control board has a serial port to talk to the sync control board, the DTMF decoder, some relays to control the pneumatic valves, and a DMX-512 output to control some lights and bar graphs on and around the prop.

On the relay control board, I plan on using the serial port and the initial # and 9 tones to start a timer. That timer will be used to play out a list of DMX cues at specific times in the video. This is in addition to using the DTMF decoder to control the relays.

I’ll probably have the sync control stuff working by the end of next week then I can work on the relay board.

-Glen


----------



## wickedbeernut (Dec 14, 2016)

My MedeaWiz Sprites arrived over the weekend. They're much smaller than I thought they would be.

[js] I couldn't believe how small they were, too. At first glance, I'm thinking, "This can't be right".

Based on some initial testing, I think they'll work great.

[js] I'm of the same opinion. They seem to work exactly as advertised.

I'm probably making this more complicated than it needs to be but I'm putting together two PIC24 boards to control everything. The first board is the sync control board and the second board is the relay control board.

[js] More complicated than in needs to be? I'm not familiar with the PIC24. I assume you feel you don't have enough I/O pins with a single PIC24 to monitor / control all of the peripherals? In that case, two PIC's makes perfect sense.

The sync control board runs the show and has a PIC24, three serial ports, an input for a button, and an output for a light. The button and light will be used to trigger the prop and show it's been triggered. Two of the serial ports will control the Sprites and the final serial port will control the relay control board.

[js] Is the sync control board a commercial product?

The relay control board has a serial port to talk to the sync control board, the DTMF decoder, some relays to control the pneumatic valves, and a DMX-512 output to control some lights and bar graphs on and around the prop.

[js] What relay control board are you using?

On the relay control board, I plan on using the serial port and the initial # and 9 tones to start a timer. That timer will be used to play out a list of DMX cues at specific times in the video. This is in addition to using the DTMF decoder to control the relays.

[js] I'm glad you picked up on the 9 and # tones. I'm not exactly sure what purpose they serve other than to mark the beginning and end of the sequence.


----------



## bikerglen (Feb 1, 2017)

Hi, Joe,

I started with a single board with a 44-pin TQFP PIC24 but the board got kind of big and the routing got more complex than I liked so I scaled back my ambitions and decided to build two boards with 28-pin SOIC PIC24s instead.

Both boards are of my own design. One is the sync board that waits for the start button, launches the Sprites, and tells the downstream relay board to start listening for DTMF tones. The relay board has the DTMF decoder and relays on it.

The sync board is back from fab and sitting on my desk. I plan to order parts for it Monday and stuff / test it next weekend. It's a bit over-engineered but I figured I'd be better minimizing risk rather than optimizing cost on the first run.

The fab out of the relay board is on hold for the moment. I want to make sure the sync board works first and think a bit more about how I'm going to control everything-I have a lot of I/O: four bar graphs, 11 lights, 1 start button, 2 pneumatic cylinders, DMX-512, and the two Sprites.

The possibilities are the two board arrangement, going back to a one board arrangement, or using a Digilent ZYBO board with some of my own I/O boards.

Maybe I shouldn't have put so many blinking lights on this thing. Here's a picture:










I'm 3D printing some plastic bits to lift the control panels off the main unit by about a 1/2 inch. This will give it some more depth and align the fronts of the panels with the front of the monitor.

-Glen


----------



## wickedbeernut (Dec 14, 2016)

Hi Glen,

Your ZCU looks great!

I'm a big fan of the Darlington sink driver. A ULN2803A has eight 50 VDC / 500 mA outputs, perfect for controlling most 12 VDC solenoid valves and the like. You could couple a PIC24 with a pair of ULN2803A's for a total of 16 outputs. You could implement a simple serial interface between either the sync board and this I/O expander or between the relay board and this I/O expander. You could make each I/O expander board addressable and daisy-chain many I/O expander boards off a single serial port. EFX-TEK has several commercially available I/O expander boards. With your skills, you could develop your own. It's a great accessory to have in your prop building toolkit.

The thing that's nice about a relay DTMF decoder is that it's typically "stateless". The implementation need not be specific to any one prop. It detects a DTMF tone and turns an output on or off. You could edit the right audio channel of the Hi-Rez Designs ZCU video to include additional DTMF tones. My relay decoder is capable of detecting 16 DTMF tones of which only ten are used by the Hi-Rez Designs ZCU video. This leaves an additional six DTMF tones which could be used to change the state of bar graphs, lights, ... The relay DTMF decoder board need not directly change the state. The relay DTMF decoder board could send a simple command to one of possibly many I/O expander boards, leaving the relay DTMF decoder board to focus on decoding DTMF tones and controlling the relays. That one serial command could instruct the I/O expander board to change the state of multiple bar graphs and lights.

Just a thought. Keep us posted on your progress. I'd be interested in seeing your boards.

wbn


----------



## bikerglen (Feb 1, 2017)

I like the idea of a stateless design-it just works. Nothing to get out of sync.

Here's the board:










Top connector is for my REAL ICE programmer. I went to my own connector eons ago just because it's smaller than the two official connectors.

Top-left connector is for the light and push-to-start button or motion sensor. I'm using a discrete NPN transistor to switch the light on and off.

Bottom-left connector is for power input. Anywhere from +5 to +24 depending on what the light requires.

Top-right connector is the connector to my downstream boards. Basically just an idle / busy indication over a differential pair.

Middle-right and bottom-right connectors are for the Sprites. They go through level translators so I can set the voltage of the port to the sprites to either +3.3 or +5

I'm using a PIC24F128GA202-I/SO because it has 4 hardware UARTs. There's also a +3.3V power supply and a bunch of LEDs. Next revision, I'll probably eliminate the level translators, use the PIC's internal oscillator, and change the type of cap for the VCC core regulator to something in a 1206 package that cost 25 cents instead of a $3 cap.

I have a ton of PMODs for interfacing to DC output modules, relays, DMX-512, LEDs, etc., that I've built that plug into Digilent's FPGA boards. I'm tempted to just use some of those and a Digilent ChipKit or FPGA board.

Good news is that I have a few months until I have to have everything hammered down and working. Plenty of time to experiment.

-Glen

P.S. slapped some paint on the sides and base today.


----------



## bikerglen (Feb 1, 2017)

The board is stuffed and the software is written. The software has four states:

1) Detect Media Players -- listen on the serial port for both media players to announce they're running the '000' idle video. Once they're both found, the board goes to the Idle state. If only a single player is found, the software can run in a single media player configuration by hitting the start button for the prop. Start button light is off.

2) Idle -- wait for the start button to be pressed. When it is, send the '001' main video start code to both players and advanced to the preroll state. Start button light is on in this state.

3) Preroll -- wait for the found media players to announce they're running the main '001' video and blink the start button light for 3 seconds then advance to the Rolling state.

4) Rolling -- wait for the found media players to announce they're running the idle '000' video then go back to the idle state. The start button light is off in this state.

Everything seems to work well and this saved quite a bit of money versus using a bunch of Raspberry Pis or the Hi-Rez media players.

One improvement to the software would be to have the preroll state send the '001' video start code to the media players again if the videos haven't started within three seconds.

-Glen


----------



## wickedbeernut (Dec 14, 2016)

Very nice, Glen! I'm glad to hear the MedeaWiz Sprites worked for you.

wbn


----------



## Teamkingsley (Jan 6, 2017)

Joe, I've been trying to email you for weeks - and they bounce. I tried from both my normal Outlook account and my emergency Gmail account. I did receive your email last night. This is what I get back on the bounce:
Host or domain name not found. Name service error for
 wickedbeernut.com type=A: Host not found

I am hoping this thread will alert you. I do not seem to have any issues with my mail reaching others.


----------



## Scifideity (Sep 25, 2016)

Quick question while I read up on this stuff. Has anyone found a source for an inexpensive 12" LCD for the small screen? It's crazy that I can get a refurb 24" monitor for $24 but a 12" cost over $100. That's nuts.


----------



## David_AVD (Nov 9, 2012)

I keep an eye out for older VGA LCD monitors on eBay and the like. I think the smallest I've gotten that way was 14" though.

If the media player only does HDMI you could maybe use a HDMI - VGA converter?


----------



## bikerglen (Feb 1, 2017)

And even the $100+ 7 to 10" monitors are mostly imported junk of questionable quality with mediocre reviews. I went the other way and way overpaid for a 7" monitor that was of high enough quality I could use it as a monitor for my camera when shooting videos.


----------

