Looking for Advice/Ideas - DIY Direct Control of Hardware. Read Only. No more posting. - PlanetChristmas! Forums. Read Only. We've moved to http://talk.planetchristmas.com - The Forums of PlanetChristmas have moved to http://talk.PlanetChristmas.com
I’ve designed and prototyped a new 128 channel, dimming light control board that uses Vixen for the PC control software and interfaces to the PC via an RF link. It uses the standard four channel SSR boards and Cat5 cable. I’m just about ready to design the final PCB. My problem is I still have 16 free I/O pins and about 80 MIPS worth of processor power still available. I’m looking for ideas from this community on what I can do with all of this extra capability.
The basic question is: If you could have any special/unique capability on a light control board what would it be?
How about being able to use the 16 I/O pins as inputs to be able to (dis)able some of the outputs, say via a motion sensor input? Or for a 8x8 output matrix for driving 256 on/off outputs? That would involve some clever sequencing in Vixen . . . .
____________________ John Muldrock
Hawera - Taranaki''Why would anyone not want to be here'' - Tom Cruise during the TARANAKI filming of the 'last Samurai Movie'
NEW ZEALAND http://www.kamahilights.com
I like the 16 input options and have Vixen run different sequences based on which option was triggered. Push button "A" to run sequence # 1. Push button "B" to run sequence #2. Push button "C" to run sequence #5, #6, and #12 back to back.
How about a LEDtriks interface for driving an LED matrix? This is sort of along the same lines as what kamahi suggests, but (with external s/r chips) should be good for a much larger array than he suggests. The LEDtriks chips could go on the same PCB as the rest of your logic, or maybe on a separate board just for those who want it.
Thank you for the ideas. They are all very interesting. Some would take more development than others (but that's the fun part). In the interest of progressing with the project I think I've decided to bring the extra I/O pins out to a header. Since the microcontroller can be reprogrammed in circuit it would allow me to develop some of these ideas after I get the final main board finished. If any additional hardware is needed then I can put it on a daughter board that would connect to the header.
What processor are you using that leaves 80 MIPs unused?
Another idea might be to add the facilities to make the thing stand-alone. You would need a memory interface (to an SD flash card, or the like), and some sort of audio playback device (either an external mp3 decoder, or use those 80 extra MIPS for mp3 decoding in software/firmware).
Sorry for taking so long to respond to your question, but I've been out of town since last Saturday morning.
The processor I'm using is a fairly new one from Parallax called the Propeller chip. Its an incredible processor. It is a 32-bit processor that runs on an external 5 MHz crystal but has an internal 16x PLL to bring the internal clock speed up to 80 MHz. In general each assembly instruction uses 4 clock cycles, so it can process 20 MIPS. But wait, the best part is it has 8 cores, each capable of processing 20 MIPS for a total of 160 MIPS. Each core has equal access to all of the 32 I/O pins. This allows true time critical parallel processing and eliminates the need for those pesky Interrupt Service Routines. You get all of this for only $12.95 each. (Disclaimer: I don't work for Parallax or any of its distributors; I'm just a card carrying engineering geek that gets excited over this stuff)
When I saw the Propeller chip I was so intrigued that I had to come up with a project for it. I decided to build a light controller. Using this chip for this project kind of turned out to be like using a 12 ga shotgun to hunt mice. I used one cog (that's what Parallax calls the cores) for the main routine that coordinates everything, one cog to handle the communication, and two cogs to control the 128 channels. This leaves me with four free cogs with 80 MIPS of processing power.
I also decided to go wireless between the computer and the controller. I'm using MaxStream's XBee Pro ZigBee chip. It can communicate at up to 115200 bps at a distance of up to 1 mile (line of sight) and it is really easy to interface with.
I like your idea of making it a stand alone unit with an MP3 player. I considered that when I first started the project, but decided to keep it simple for version 1.0. In a future version (i.e. next year) I may consider it again. The Propeller IDE uses a form of OOP. There are already several objects developed including one to interface with an SD RAM card. I haven't seen one to interface with an MP3 chip yet but it should be ease enough to develop once a suitable chip is identified. I need to get this thing finalized soon so I can get some other projects completed before Thanksgiving.