Building Your Own Glowing Cyber-Balls?
krezel asks: "So I've been drooling over the Ambient Orb, a cool little gadget 'glowing ball' that you changes colors based the 'health' of things you specify. It can do stuff like fade from red to yellow to green as your stock portfolio improves. However, being a poor college student I can't afford its $200 price tag. I've found lots of sources for super bright multi-color LED's. Cast a couple of them in some translucent resin, hook them up to a power source, and you've got yourself a cheap glowing ball. But I've yet to find any good information on how to build hardware that will let me control relays for devices like this through my serial or parallel port. Basically I'm looking for a cheap way to build a board that will let me control 4-8 relays (for each color) over my serial port, and some info on how to write the software for it. This could be a very cool project, and I plan on making the plans available, and the code Open Source, when I'm done with it. Any ideas?"
This post won't be abused... no. Carry on.
fslg503-985-8686503-985-8686503-985-8686503-985-8
Usually I try to avoid being afflicted by glowing cyber balls, myself.
You know you need to get laid if "Hey baby, wanna cyber?" gets your balls glowing...
IBM had PL/1, with syntax worse than JOSS,
And everywhere the language went, it was a total loss...
I would use the parallel. You get 8 pins out instead of just the one. Sure, you can play games with the serial, but... parallel would be easier.
Depending on how many LED's per color and whether you are using transistors or relays to drive the circuit, you may want to use an external power source and use op amps to convert your parallel control to a stronger signal for the LEDs.
Anyway, just my idea.
Sure, I could probably design the circuit now (Since I am learning so I can build my own 160-6m SSB/CW rig), but I don't want to. Sorry.
Looks like we have a new candidate for this old poll.
Happy Fun Ball
It's Happy! It's Fun! It's Happy Fun Ball!
Yes, Happy Fun Ball, the toy sensation that's sweeping the nation. Only $14.95 at particpating stores!
Get one Today!
Warning: Pregnant women, the elderly and children under 10 should avoid prolonged exposure to Happy Fun Ball.
Caution: Happy Fun Ball may suddenly accelerate to dangerous speeds.
Happy Fun Ball contains a liquid core, which, if exposed due to rupture, should not be touched, inhaled, or looked at.
Do not use Happy Fun Ball on concrete.
Discontinue use of Happy Fun Ball if any of the following occurs:
* Itching
* Vertigo
* Dizziness
* Tingling in extremities
* Loss of balance or coordination
* Slurred speech
* Temporary Blindness
* Profuse sweating
* Heart Palpitations
If Happy Fun Ball begins to smoke, get away immediately. Seek shelter and cover head.
Happy Fun Ball may stick to certain types of skin.
When not in use, Happy Fun Ball should be returned to its special container and kept under refrigeration...
Failure to do so relieves the makers of Happy Fun Ball, Wacky Products Incorporated, and its parent company Global Chemical Unlimited, of any and all liability.
Ingredients of Happy Fun Ball include an unknown glowing substance which fell to Earth, presumably from outer space.
Happy Fun Ball has been shipped to our troops in Saudi Arabia and is also being dropped by our warplanes on Iraq.
Do not taunt Happy Fun Ball.
Happy Fun Ball comes with a lifetime guarantee.
Happy Fun Ball: ACCEPT NO SUBSTITUTES!
A relay is a mechanical switch. The constant clacking would drive you nuts (though, that would also be a good indication of the activity of your stocks...)
Google knows all. Click on the first link. Or any of the others.
Don't you want more than 8 colors? If you use relays, you can only turn on or off each of the red/green/blue colors. But if you vary the current through each led, or vary the duty cycle by pulsing the leds quickly, then you can get more colors (like 24 bit color!).
--Tim
Karma be damned, this is easily one of the dumbest things I have ever seen. It's a ball. That glows. The glow shifts, for example, on the rise or fall of the stock market.
Cliff, give me $200 dollars. You can call me whenever you want. Sometimes I'll hum. Sometimes I'll hum louder.
My
Limekiller
I just wanted to congratulate you for getting the phrase "glowing cyber-balls" on the front page of Slashdot!
When I was looking for computer->analog control chips a few years ago, the best methods I could find were:
Build (or buy) a serial->I2C or parallel->I2C converter; you can get D/A chips with I2C interfaces pretty cheaply.
Use a PIC microcontroller, which gives you serial and analog I/O built in.
the Ambient Orb runs off a wireless network... no computer needed, and you can control it from anywhere in the world (theoretically). To manage that, you'd have to build an 802.11b -> relay interface, at least - if not a cellular one.
Now, assuming you don't want to muck about with that (and who does), your best bet would be to not use relays in the first place - they're loud, slow, and not gradual. Use a Basic Stamp from Parallax and write some code to output a PWM (Pulse Width Modulated) voltage to three different pins - one for each color. (Chances are you'll be using either one 4-pin, 3 color LED or 3 leds (red, green, blue). Infrared or UV leds could be interesting, but aren't recommended...) Then you can either leave the BASIC stamp connected to your serial port and controlled via DEBUG or SERIN (IIRC) commands from your host computer (and write some corresponding code for the host), or you can leave it standing alone and interface to it using any one of the who-knows-how-many add-on boards Parallax sells. (you might want to check out the Communications page - that modem looks like a good thing to try)
This
several plugins for XMMS may get you started. They have plans for the hardware to connect a parallel port to leds, stepper motors, whatever.
I Don't Work Here
So I can easily keep track of the ever-changing terrorism threat level.
The natural target application: hook this up to correspond to the Terrorist Threat Level as published by the US.
I could see using locally-connected glowing globes this for all sorts of monitoring; stock market tracking isn't really near the top of the list. I can see having a row of stuff like this visible in or near a server room for example, showing network latency or traffic load, system load, any of a variety of things.
What the difference between this and assorted other status/alarm LED displays? These are in a translucent block and are more easily visible from a distance. Not such a bad thing.
Heck, I use something similar as a shower timer - it dims over 15 minutes, and if I glance over and it's gone out then I'm probably running late.
fencepost
just a little off
Get ahold of a cmos 4066 this chip has plenty of switching power throughput to handle a few leds. Hook the triggers to your parallel port and code a simple pulse width modulator routine to run the triggers. I don't know if the frequency you can achieve on a parallel port would be high enough to prevent flicker, but some capacitors should go a long way to smoothing that out, if not. You might want some current limitin resistors in there as well, so you don't burn out your leds.
BTW, this is rudimentary circuit design in almost any college course. If you want to seroiusly get into building cicuits like this check out "The Art of Electronics" by Horowitz and Hill. Might be a little expensive but will give you a solid foundation in circuit design.
-- The morphemes of your disquisition are ascertainable, but they have eschewed an ambit of transpicuous exposition.
Having done some large castings in casting resin (clear and with opaque or translucent dyes), I can tell you that it's not all that simple to just cast a ball that size either. The casting material is going to be expensive to begin with. And if you don't get the hardner mix ratio just right, that stuff it going to crack and craze like crazy (split a few "paper-weights" in half). It gives off heat (from the chemical reaction as it "cures") which can damage really thick objects, like a 6 inch ball. I'd be willing to bet that what they have is not "hobbiest grade" casting material. It's more likely commercial grade plexiglass type material with a translucent dye added. It might not even be chemically cured like epoxy resins but may be cure thermally or by UV light (former - likely, later - possible but highly unlikely). Plexiglass resins become soft and pliable as you warm them (within reason - moderately high heat burns them easily) but casting resin does not - it cracks and crazes and shatters. The dye would be similar to the casting dyes you would get at a hobby shop. You MIGHT be able to cast a ball that size, if you are lucky, in casting resin but keep it away from large temperature changes and bright sunlight (which damages through both large temperature gradients and UV breakdown damage). You may find that this isn't a cost-effective "do it yourself project" after all.
But seriously, I've always wanted something like this for work. A simple status indicator whether the cluster of machines I'm responsible for is Working Fine (green), Having Issues (yellow), or Completely B0rked (red).
Currently, I keep a persistent browser window open to a simple web-based script that checks on the status of everything and sets its background to one of those colors based on what it finds (it's quite a bit more verbose than just that should something be wrong, but that's not the point). This is fine and dandy for my use, but for the sake of being interupted during an emergency...
It'd be really cool (and actually useful) to have a separate orb that glows the same color... so the next time my PHB runs in to tell me I forgot my TPS report cover sheet.. er.. to tell me that he's noticed a problem with the site, he'll first see the big red glow and realize I'm already aware of it.
(that, and when I'm deep into a Quake match, and can't see the little window...)
I pity the fool touches my cyberballs!
http://freshmeat.net/projects/palace/?topic_id=113 %2C122%2C135
For xmms-syncing=lights via a parallel port - I've been considering doing this for a while, and the guys has great instructions
I've used something like this as well, except to drive relays that drive reset buttons on a series of machines at uni.
I agree with hotair's use of the ULN2803 chip; however, I think you need a 74HC373 octal latch. Basically when you send a byte to the printer, you need the latch to "catch" the byte and hold it after the signal goes away. The latch is controlled by 1 of the printer control lines that goes low when the data on the bus is valid (I think it is the STROBE pin).
If you want more than 8 leds, you could probably use a 74hc138 (3 to 8 demultiplexer) to control a bank of latches, but that would require alot more thinking on my part, so I'm leaving it with you.
Just imagine what you could do with one of these!
Why, you could set it to blink green to notify you when ThinkGeek gets these things back in stock!!!
"Can of worms? The can is open... the worms are everywhere."
Of course controlling 8 relays or LEDs with the parallel port is much simpler.
Since the parallel port output is basically just TTL levels, just buffer it through a 74LS244 or something similar and use that to drive the LEDs directly. You can directly control each of the 8 data pins on a parallel port by writing directly to the base I/O port (i.e. port 0x378 is the default for LPT1). It's easiest to use inverting output with TTL driving LEDs.
Something like the following circuit:
D0 ---|>---/\/\/\---| D0 = parallel port data pin 0
/\/\/\ is resistor
|> is a buffer (i.e. 74LS244)
| (+5) is a 5 volt power source separate from the parallel port.
Make sure that the ground pin of the parallel port is connected to the ground of your circuit. For the 5 volts, a 7805 is a simple solution when using a separate DC power supply.
All of the above listed parts should be available at your local Radio Crap.
When D0 is 0 (low) current will flow from the 5 volt supply, through the LED and resistor and from the buffer to ground. When D0 is 1 (high), no current will flow.
When choosing a resistor, take into account the voltage drop across the LED. Blue LED's typically have a higher voltage drop than red or green. Red LEDs are typically around 0.7 volts whereas blue can be upwards of 3v.
Also make sure that whatever buffer you use can sink the appropriate amount of current. Most LEDs typically will take up to 15-20ma of current. It might also make sense to use an inverter instead of a buffer since the above circuit will cause a LED to light when the data bit is 0. a 74LS04 is a cheap easy-to-use inverter chip that is readily available.
With 20ma of current, choose a resistor based on the voltage.
Use the basic equation, V = I*R, where V is voltage in volts, I is current (in amps) and R is resistance in Ohms.
For example, for a red LED with 20 ma with a 5 volt source use:
R = (5 - 0.7) / 0.020 = 215 ohms. Since resistors come in standard values, choose the next highest value, i.e. 220 Ohms.
For blue, with a 3.6 volt drop you would use
R = (5 - 3.6) / 0.020 = 70 ohms. The closest match is 68 ohms, but it's usually best to error on the side of caution so choose the next larger value.
One thing you do not want to do is use the parallel port to drive LEDs or relays directly as you could possibly damage it. TTL outputs typically are not designed to output much current and are typically better at sinking current than sourcing it.
Note that I'm no expert on this and I'm sure you'll see better solutions listed here.
-Aaron
This post is encrypted twice with ROT-13. Documenting or attempting to crack this encryption is illegal.
Quick answer: combine RJ45 web server with serial relay driver and presto!
... google for it. They have all sorts of nice features (current limit, fault detection, cascadability and are controlable through the parallel port (you have to bitbang the data and clock bits). The webserver above has 3 general purpose I/Os - enough to control a relay driver.
There are lots of these serial relay drivers
But, you probablly want an actual A/D converter (preferably with a current output) or a digital potentiometer. There are lots of mfgs of these products, but Maxim is pretty liberal with samples (plus they have some neat innovative products!)
HIV Crosses Species Barrier... into Muppets
The engineering staff has been good to work with as well.
Also, they seem to sell a product almost exactly like what you describe, with bright LEDs in a diffraction grating, based on the same chipset. I don't know if it has quite the diffiusion you're looking for. (But it does have a buzzer!)
Otherwise, my advice would be to use the parallel port (very easy to program, unless you're a mac user and you don't have one ;-) and don't use relays. In order to drive a relay, you'll need a transistor to switch the coils, and if you've already got the transistor, well, you can see where thats going!
- two LEDs and a switch
- TTY control: 7 buttons and 3 leds.
I built a simpler version of #2 last week, and it was a lot of fun and very easy!I'm more of a CS than an EE, but having dealt with the hardware side a little bit, it sounds pretty easy:
You can just steal or buy some testing / teaching equipment from the local EE department... I think things that can hook up to a PC and drive simple signals are common and cheap and allow software to interface with them trivially. My local EE department has hundreds lieing around, though I've never used one, and don't know what they're called.
Or, if you want to build everything yourself, that shouldn't be too hard either. Get a cheap programmable chip (unless you know more than I do about a serial port... it might be possible to do with a simple non-programmable chip that just latches values from the pins at the right time). I used a PIC16F876 at one point... it's basically a miniature computer on a chip, with IO designed for interfacing with things in a programable manner... it worked well, and is cheap ~ $4 or $5 (and you can get them for free if you ask... they give away lots of samples to students). I think it had some built-in module for interfacing with a serial port, but if not that should still be possibly manually, with some assembly coding. The chip didn't have any digital-to-analog converters on it that I can recall, but with LEDs I think switching them on and off really fast for varying periods of time is better than driving them with an variable signal anyway. It also was not capable of driving as much current as I suspect you want, so you'll need external amplifiers, but a handful of discrete transistors works fine for that purpose (and is dirt cheap). The only thing I can think of that you might actually have to pay for is the power supply for the whole thing. And maybe a board to soder on.
Hm... come to think of it, I don't know how to write out to the serial port on any OS more modern than DOS. But you can probably figure that out with a tiny bit of googling.
No I don't work for them, but http://www.ibutton.com gets you to devices that can be controlled through a serial (or parallel) port and are cheap. The DS2407 is a switch you can use to control the LEDs. Also check out the TINI links on the page for a Java JVM on a SIMM which can be used to control the LEDs and connect to the net. Nice stuff to work with.
How about designing a portable version? I would gladly pony up a pile on cash for an orb that fits in my pocket, allowing me to track money, family, friends, and the health of my networks just by looking at the colors!
This thing this where cool tech should be going. Make it small and wireless and you have a killer app.
Check out Circuit Cellar Magazine -- they are a steady stream of articles and advertisements covering just the thing you want to do.
While you're reading it, also pay attention to PIC Chips and Basic Stamps, which would be a great way to control your orbs without needing a PC (especially the cheaper PIC chips from someone like Microchip Technology)
If you're married to the PC concept, you'll also find advertisements for devices which are controllable via USB. Kinda nice for furure serial-less PCs.
Lastly, though it's a bit out of date at this point, take a look at "Controlling the World With Yor PC" by Paul Bergsmann (ISBN: 1878707159). Great stuff about parallel port interfacing.
Good luck!
All you need are the following:
1) 25 PIN MALE DB Connector (like would plug into the parallel port) - OR, probably easier, grab like a 6' or longer 25pin Parallel Printer or extension cable and chomp the end which doesn't plug into the computer off.
2) 8 superbright leds.
3) 8 10K resistors.
4) 8 2N2222 or other NPN transistors (Just go to radio shack and get a bulk package of "NPN switchint ransistors")
5) 8 "smaller" resistors. Like roughly 500 ohm, but be prepared to experiment with the value. Lower value=brighter, but if you go too low you will burn out the LED. There *IS* a formula for the smallest permitted value. I won't go into that here.
6) Perfboard to put it all on
7) 9 or 12V DC wall-mount supply (or similar).
A little background:
The parallel port on the PC has 8 outputs, on pins 2-9 of the 25 pin connector. The ground for these are on pins 18-25.
You can technically get away with just wiring the led directly to an output port, then to a resistor which then connects to the ground. Google for "parallel port led"
However, it is likely that you will need more current than the parallel port will provide. For this you can use a transistor to act as a solid state switch.
Here's a description of the schematic:
For each output pin:
1) Wire the output pin on the parallel port to one side of a 10K resistor.
2) Wire the other side of the 10K resistor to the base pin on the transistor.
3) Wire the emitter pin on the transistor to circuit ground.
4) Wire from the collector pin on the tranmitter to the pin closest to the "flat edge" on the LED.
5) Connect the other LED pin to the "smaller value" resistor.
6) Connect the remaining pin on the "smaller" value resistor to the + wire of the power supply.
ALSO, do the following:
1) Connect the ground pins (18-25) of the parallel port connector to the "circuit ground" mentioned above.
2) Connect the "-" wire of the power supply to the "circuit ground".
You can test this before plugging into the computer by plugging the DC adapter in and then jumpering between the + wire of the power supply and each output pin on the cable you are going to plug into the computer. The corresponding LED should light.
I'd recommend just doing the first led first to make sure everything works.
NOTE: YOU CAN BLOW OUT THE COMPUTER PORT IF YOU DO THIS WRONG. I HAVE NOT CHECKED THE ABOVE DESCRIPTION SO IT MIGHT BE WRONG AND MAY CAUSE THIS EVEN IF YOU FOLLOW THE INSTRUCTIONS EXACTLY.
If you need more LEDS on a given output (like 2 or 3 to get enough light), you can just connect a LED/resistor pair in parallel with the existing one (all of the LEDS are connected to the transistor, all of the resistors are connected to the + power supply connection, and each led is connected to it's own resistor).
You basically drive this by outputting data to the parallel port. You output a single byte at a time - the most recent byte is what the leds are set to on or off.
If you want to vary the brightness of the LED's you can actually do it by turning them on and off quickly in software. A simple timing loop which have the leds on 50% of the time would result in the leds being 50% dimmer than if they were just left on. Of course you have to do this fast enough so they don't "flicker" or blink.
Take one of these balls in a smaller form and place it within your computer. Have it's color be entirely temperature based.
As the heat rises, it shifts from an electric blue to a horrifying shade of red.
People who don't care about their lamps having an IP address, and just want a hoopy colour-changing battery powered LED light thing, may be interested in the ones I reviewed (along with a variety of other LED lights) a while ago. There are a few products like this around now, but these ones are tough, and you turn them on and off by shaking them :-).
Now wait just a darn minute here..
Using color to reflect the state of an object?
Color-reactiveness?
Oh wait, thats only for insane people!
Bowie J. Poag
Lotsa links here...
First of all, the 2002 Burning Man project I did that involved a couple hundred RGB LEDs spinning in a persistence-of-vision-based nighttime animated display. Here is the best picture of it. This is the page about the development details.
The LEDs I used were manufactured by Kingbright. The model I used, the LF819EMBGMBC, is big (10mm) and relatively bright for an RGB LED. I couldn't find any U.S. retailers that actually told the truth about whether they stocked them, so I ended up buying 400 directly from Kingbright for I think a little more than $2.50 each. I still have a few left.
Atmel AVR microcontrollers are just a few bucks each, easily programmable with the STK-500 programmer, also cheap at around $80. I used the ATMega8, which was more than sufficient for my needs. I imagine the original Slashdotter could use one of the ATTiny MCUs, since it really needs only 3 or 4 I/O lines (fewer depending on how many helper circuits you decide to use).
The boards were manufactured by PCBExpress and I was very happy with them. The CAD/CAM software was Eagle, which except for some crashing/redrawing bugs was really amazing. The version I used was free. I tried to buy it but CadSoft has (had?) a fairly crazy pricing scheme that actually left you worse off in terms of acceptable usage if you paid them money than if you used the free version.
The best part of using the Atmel MCU was that GCC can cross-compile for it. So you're basically writing regular old C code but it runs on a little tiny piece of silicon. You'll want to subscribe to the quite active avr-gcc mailing list. Save every message from Marek Michalkiewicz; in my opinion he's the god of GCC-for-AVR development.
The 90's were fun. The 90's were made of stuff like this. You know, PDAs and stuff. Don't pick on him. Goofy crap like this can pay for Real Estate.
At the very least Cliff is a barometer. If people still has the leisure to actually care about this we're doing fairly well. Look man, we're about to topple a regime. We have "Ambient Orbs" to fill the commercial breaks.
Anyhow, when I hit the term "Ambient Orb", I immediately recalled "Happy Fun Ball", from SNL. Does anyone else remember hyperventilating over that bit when it was new? Difference is that was parody. "Ambient Orb" you pay for. I bet the guy who wrote the "Happy Fun Ball" skit is kicking himself now.
Maw! Fire up the karma burner!
1) These are available from Brookstone for $150...
2) Delcom Engineering has a "USB Visual Signal Indicator". This includes RED, GREEN, and BLUE LEDs, Piezo buzzer, 2 meter USB cable and USB powered circuit. The cost? $69.00 each... All you need to add is a globe...
If you want to play around with this stuff, Delcom Engineering also makes USB chips, cables, etc. and they make USB development board for $49.00 that you could you could use to build what ever you wish...
In terms of hardware, you'd need the jack for the port, the power cord, a PIC chip, a transistor for each color, and a bunch of LEDs/resistors of each color. Easy stuff really. Let me know what you come up with. If you use USB, I'd be especially interested, as I have a Mac (no serial port). Good luck!
I hereby place the above post in the public domain.
Or, if range isn't an issue, how about a DIY bluetooth module for the wireless connectivity?
BTDesigner.com seems to be selling 20m-range modules for about $60.
Anyone know of cheaper sources? By now, Bluetooth modules were meant to cost around $5/module (in large quantities).
Motorola currently has a design contest going with
their MC68HC908QT4 8-bit microcontroller. This
puppy is an 8-pin DIP, FLASH EEPROM programmable,
and the pins appear to be PWR, GND, and 6 I/O
pins. (One of them may be a clock, or it may be
set up to accept a clock if you give it one.)
Start at http://www.circuitcellar.com for details.
www.maxim-ic.com
A data sheet
also check out the related products on that page.
maxim are helpfull with there sample policy. If you were to connect an array of red, green and blue LEDs inplace of the digits, you can change the brightness of each bank of them with 8 brightnesses,
In the data sheet they talk about 127 colours with bi-coloured LEDs, if you had tri-coloured then you would get... ooooh.. 16.8 million.
can be loaded by bit-banging the SPI or I2C interface from a printer port. Im sure someone has made a linux driver for it. Some code to do that was on there site when I looked but I cant find it now..
I think you will find a normal wiener functions just as well for this.
As far as the PC side goes, just a program to output individual bytes to the serial (or parrallel) port as the backend, and you can do all the "detrermine-what-LEDs-to-light" calculations in a heavier portion of code, updating itself every 60 seconds or whatever from whatever data sources.
As for the microcontroller, it's fairly trivial to write the code to control the lights, unless you want to put in stock-price-fetching/web-page-parsing functionality on the chip. Like I said, i'd recommend doing that on the PC and just have the microcontroller doing the LED-lighting work. If you've done assembly programming on Intel or most Motorola chips before, it's not hard to pick up (very different though from most RISC designs, like MIPS) but if you're not that great with assembly you can build gcc to output code for the HC12.
Regardless of how you generate the bytecode, you'll have to simulate it, and have access to an EPROM writer, and maybe some RAM. The way I implemented mine was to have the initial "boot program" on EEPROM which made a request to the PC for the actual program. The PC-side caught the request, and sent a copy of the 'real' program bytecode which got loaded into RAM, and the booter jumped to the new code. This let me update the HC12 running-code as I found bugs, and let me add more features without re-writing to the EEPROM
As promissed a note about PCM. I know a bunch of know-nothing-kiddies are going to reply to this post saying "it's a LED, it's either on or off, stupid" but as anyone whose done 1 year electical/computer engineering there are 2 ways (that i know of) to control the apparent brightness of LEDs. First, controlling the current flowing though said LED (which was not done in my HC12 LED controller implementation, but could have been with creative use of output ports and resistors), and the second is with pulse code modulation. For PCM, if you want a LED on at 80% brightness, you simply output a '1' 80% of the time, and '0' 20% of the time. The cycle repeats fast enough (remember that we're running on a 16MHz clock which (although it seems puny now) it insanely fast compared to the human eye) so that our eye sees that as 80% the brightness of an "on" LED.
Okay, maybe a few basic hardware References, HI-LED, Breadboard, and Chip Products links would help.
Reference - AtariArchives Electronic Computer Projects
Reference - Electronic Circuit Guidebook Sensors
Reference - Robot Building For Beginners
Global Specialties Breadboards
Eductional Kits USA including LED kits
High Intensity (HI) LED Source Discrete LEDs, LED Panel Mount Lamps, Based LED Lamps, SMT LEDs, PCB LEDs
RF Digital Corporation HI-LED White Red Yellow Blue Green
National Semiconductor Chip Products Catalog National Semiconductor Products
PMC-Sierra Chip Products Product Directory
R.T.Nollet, Chip Products, Australia
There you go; it should be enough to get you started on the hardware. Others that are far better at software can help with some of the required programming resources. If you can afford an old logic analyzer (maybe 8/16-pin, at surplus stores) for the I/O buses they can help you optimize your code. Years ago, (when I did) I would have used, an appropriate Hex/Machine code to do a small project like this. If you and a couple colleagues/friends succeed at this level ... the lessons you teach yourselves and experience obtained will be significant ... not many universities teach at this "wide-concept" "Master-O-None, Jack-O-All" level anymore. Very few Geeks under 40 years old (I believe) would be able to do what you are thinking about even less if they have a college degree that pushed them into a "high pay/viz" specialty at a young fragile age.
OldHawk777
Reality is a self-induced hallucination.
Unaccountable leaders are masters, and unrepresented people are slaves. How do US and EU fare?
Ok 2 not so easy ways to do it...
serial port method.
Get a pic microcontroler with built in serial port and a DtoA converter. Connect each (1 red, 1 blue, 1 green) to its own individual DtoA output (with a current limit resisor picked so 5V results in full led brightness ((5V-VfLED)/(IledCONT)= R). next hook your serial port to the pic via a RS232 to TTL converter (MAX232 is a good choice). write some simple code to read 3 values from the serial port and dump them to the DtoA reg (too long to post here send me Email for help or look at the ap notes on microchips web sight) and tada you have a serial controled glowing ball....
10baseT ethernet (UDP/IP) method.
go to
http://home.att.net/~wireb/niode/niode/index.html
build a niode and hook the led to that. I am currently working on new commands to allow the DtoA converter to work for a use similar to this (controling fiber optic lights in celing tiles). A lot more work but you would be able to control it from anywhere in the world that can send UDP trafic to it.
Later
Wire
I picked up Designing Embedded Hardware a couple of weeks ago; being a software geek, with no hardware experience (except for assembling PC's, etc), I found this book to be amazing.
I highly recommend it.
If you want a quick fix on how to wire stuff for parallel port, I believe that there are plans in the book "The Robot Builder's Bonanza" to do this. It's great, it's only about $30, and one of the professional societies on your campus probably already has a loaner copy. It's available on amazon.com. Get super-saver shipping if you're on a budget, reply to this with an e-mail addy and I'll even write software for it if I think that your design is sound ;-)
Color Kinetics (aka CK Sauce) makes a line of color-changing LED balls, wands, lights, etc.. They have several "modes", and presumably could be hacked to do whatever you wanted. Some of them run on batteries, some run on AC current, and all are cool. Chiasso carries their stuff. Fun.
-Mark
It sounds like a cool project but companies like Color Kinetics and others have patents in the color changing LED arena that you should be aware of before you go too far down this road.
I guess the poster has two options:
Parallel port - Eats his parallel port, and needs lots of wires to be run.
AVR - More complex to design, but easier overall.
I don't see why you reccommended an oscilliscope - For most uC development one isn't needed. (Can be nice to have though!)
Parallel-port AVR programs are simple and easy to build. Atmel did a good job as far as AVR programmability. You can program most AVRs in C with good results, either using GCC, or one of a few other compilers. (As much as I like GCC for most development, Codevision is an EXCELLENT IDE/compiler that is well-maintained. Cornell uses Codevision + AVRs for their microcontroller class, and Prof. Land has had 1-day turnarounds from bug report to bug fix from the author of Codevision.)
For those who are lazy and have some extra cash, the STK500 devel board is $89-109 or so depending on where you look and is wonderful for prototyping circtuits. (Has built-in switches and LEDs, TTL-to-RS232 converter for AVRs with a UART, and a serial port based programmer.)
Some AVRs have built-in internal RC oscillators - Not as stable of a frequency reference, but for many applications (such as this one), it doesn't matter, and it's much easier to use.
Most AVRs have only one or two PWM outputs, and VERY few if any have three, which isn't as serious of a limitation as it may seem - Since the PWM rate only has to exceed 100 Hz or so, he can easily do 8-bit PWM with a software loop. (Essentially, having 8 or 16 software-driven PWM channels.) 8-bit PWM would probably be overkill for this application, even 4-bit might be more than sufficient.
AVRs are also excellent for driving parallel LCD displays, although the software is much more difficult. (It's easy with Codevision, except that only the commercial versions of CV can use the LCD library.)
retrorocket.o not found, launch anyway?
Hmm.
$299 list.
$199 Thinkgeek
$150 Brookstone Ships week of 5/15/2003
Not sure if building your own worth the effort.
My 2
It seems most of the posts involve USB or some other port from a PC. I thought some of the point of the ball... well, all of the practicality of it, at least, was that it was wireless. I know the only reason I'd ever use one is because my computer is loud and I like to have it off when I'm doing anything else in my room. To have a lamp light when I've got mail would let me unsleep my machine just when I need to.
... and of course, if someone actually makes one, I want one....
Just put the guts of an old pager in it. Then you could have the thing battery powered and completely wireless. Your server checks whatever you're interested in and fires off emails to ##########@messaging.yourpagerco.com with text messages telling the lights what to do. RED FULL, PULSE RAINBOW, SLOW GREEN, whatever... have that tie in to all the other hardware you guys came up with.
Text pagers are dirt cheap - we probably have a drawer-full somewhere. And the service is under 5 bucks a month for a single person...
-- I have nothing clever to say.
Not sure if anyone covered this yet, but wouldn't you want to duty cycle the various colored LED's so that you can blend lots of different colors. You don't need actual relays to switch this level of power do you?
I'm not an electrical engineer, but you might find what you're looking for at AAG Electronica. They have serial port adapters, sensors, switches, etc that work on a 1-wire network. I have a weather station hooked up with their gear. I think you'd need the adapter (~$15) and their switch module (~$30). http://www.aagelectronica.com/aag/index.html
This is interesting. I have a basement full of old ICs including drivers, microprocessors, digital/analog devices and thousands of LEDS and other things I've bought surplus over the years for various projects. I've thought of packaging them up into little "hobbyist paks" and selling on EBay, but never could think of what kind of project to sell them for. Perhaps a kit with parts like a UDN2987 octal driver, 8 leds, a connector and a schematic showing how to build a parallel port I/O interface along with some Linux C driver code for $15-20 shipping included? I think I even have artwork for a PCB I made to do this years ago!
Think anyone would be interested?
Then again, do I really want to deal with the support emails from people who can't hold the right end of a soldering iron...
http://www.cygnal.com The C8051F300 is an 11-pin micro with 8 digital/analog peripherals. It can provide serial access and then an additional 6 outputs. Run the leds through a ULN2003 darlington array (7 transistors in a 16 pin package) and hook them up to the micro. Cost $15.
"Cast a couple of them in some translucent resin"
Yeah, like it's that easy. Have you ever tried to work with acrylic and hardener? It's a MESS. It's the consistency of motor oil and after some air exposure it starts to get sticky. Worse, it smells like paint * 100. Finally, I can guarantee that you WILL NOT be able to 'cast' a sphere. The inside of a small toy ball might be your best bet, but I have my doubts about how the mechanics of the casting process would play out.
Those discouraging words said.... Dude! Give it a try and let us know how it works. Better yet, take some time to think about clever ways to make that casting happen and maybe you can share a new and interesting technique with the rest of us. But before you start too far down this path, go buy a small (8oz) can of liquid acrylic + hardener (expect to pay $15-20 for these) and do some small experiments (more than one!) so that you get a feel for what working with that stuff is like.
Good luck and report back!
Um, you do know you can go down to WallyWorld and pick up a cheap kit. I have seen the Baby Impressions Kit in WallyWorld's craft department.
Check the CRYSTAL KEEPSAKE KIT
(I am certain you can find similar kits under different names online - GOOGLE is your FRIEND so have GOOGLE help you out)
Add in a balloon for the sphere shape while making the mold shape and pop and remove the balloon before casting. Or if you feel this will not give enough "solidness" to the shape you can fill the balloon with water, tape the end shut and when you want to remove it from the sand mold to begin casting, suck the water out with a straw.
With a little imagination a person could cast anything with just a bit of effort (using moist sand to make the mold - adding sugar to the water will give firmness when the sand dries, tamp down the sand, drain the sand, remove the positive object, if you can, then add your molding compounds, and when the mold sets or cooks or cures you can wet the sand, and retrieve your finished item.)
Please note that Silversmiths of Colonial times would use a wax sculpture of the object to be molded, then tamp some sand down in the bottom of a wooden box (to make a sand base for the model), place the wax model in the center, add fine sand carefully to fill up the area around the wax model in the box, pack the sand down gently, and then drain the water off, and then when the sand was dry they would heat up the silver in a cauldron and pour it into the open spout of the sand mold and destroy their wax model. This left a finished silver model after the silver cooled to be smoothed and polished.
Mold and object casting is an interesting art form which I suggest you folks research as you might want to try making some cast art someday.
"Face it, a nation that maintains a 72% approval rating on George W. Bush is a nation with a very loose grip on reality.
A solid state relay (S101S05v) is not a mechanical switch.
Who brings up solid state relays when talking about hooking to a parallel port? You've never done this, have you? Solid state relays are too expensive, have high hold currents and forward voltage drops, burn quiescent power, and are very large in comparison. In other words, they are simply wrong for this application.
But, you're right, they are not mechanical switches.
I have a project that you can look at to get some Linux source for this and some simple hardware to look at for hooking up 8 LEDs to a parallel port. This is very simple and safe to do. I have it running on my desktop at home giving me the CPU usage in bright blue LEDs across the front bezel of the machine. Looks awesome. Very easy to adapt the code to utilize other values to control it. Just replace the function that gets the CPU usage with whatever you want. Diskspace on a server, network utilization, flowrate in the sewage system, whatever.
My name fits again.
When working with a +-5V logic signal like the parport, just put some 1K input resistors on some 2N2222 or BC547's, and hook the LED with a 220 ohm resistor into the collector path.
If the LED's require more current (like a blue LED does) recalculate the 220 ohm by using ohms law of (5V - 0.7V [transistor drop] - (whatever the LED forward voltage is listed at)) / (LED typical forward current). Simple really. For something more robust, you could even use a current-source circuit, but these can be a little tricky for a beginner.
Hardware, software, and blinking lights!