RGB LED Fan Controller (custom electronics project)

Status
Not open for further replies.
That's the part I'm not sure about. My programming knowledge on PC right now extends to the Linux command line only, so all of my starting apps will probably be Linux command line apps. I would like a GUI for Windows but don't know of an easy language to do that. I also don't know how to access the serial port in Windows. Maybe I'll try Visual Basic or something, maybe Visual C++ (I know C++ just not the visual part). For starters I'll probably control it using RealTerm (a fancy terminal program for the serial port), just type in a string of bytes and dump it to the port to change colors. Eventually I'd like a program on my web page (it's going in a server that does have HTTP) to either click on colors or slide 3 sliders per LED to adjust color but I have zero experience in web programming.
 
Try AutoHotKey. It's a really easy language to learn, and (thanks to an autohotkey program someone wrote) it has a GUI creator. You drop in whatever buttons, displays, windows, etc. you want then the program creates a script for you to edit so you can input all your variable values.
 
Finally installed all 4 LED's, though I think I may have damaged one of them with the soldering iron (the blue wouldn't come on until I hit it with straight 5V for a while, then it seems to work fine). Anyways, made a quick video of my color-cycling program. Now I have the basic hardware down so I can start doing some real programming.

YouTube - RGB LED Fan Controller Test 1

EDIT: Wrote a new program for the microcontroller that takes serial data to change each LED and fan speed individually. I made some interesting color combinations with it...

RGB


Blue and Yellow


"Windows XP Colors"


"Windows Vista Colors"


Then I stuck it in the front of my PC just to see what it would look like:
 
Update:

I almost have RPM detection working (it counts the RPM fine but I am trying to find a good place to calculate and reset the counter that will keep it accurate) and everything else works. I also designed a PCB:

fanpcbfinal.png


To create the PCB I am trying to use the laser printer toner transfer method, which involves printing the design on a laser printer and then ironing the paper against a copper-clad blank PCB to melt the toner and fuse it to the copper layer. Then I used soapy water to help dissolve and break up the paper leaving the dark traces on the board. This can then be etched leaving only the copper under the black traces. I've had varying success so far, but without the right paper I don't think I can get it perfect.

Attempt 1: First try, but still a failure, no amount of patching will fix this


Attempt 2: Second try came out a lot better, and I patched it up with a Sharpie, but then realized that I wired it wrong, so I had to go back and edit the layout.


Final board design (the first one I had the fan wired wrong, had the ground connection on the middle pin)
fanpcbfinal.png
 
Great work, my plan for the last summer break (the last four months) was to build a similar project that would control the fans in my pc based on the core temperatures recieved by a peice of software I was going to write. Only problem is that when I got to building the circiut board I found it was going to cost NZ$250 to get a run of six made, now I might just try to finish it with your method of transfer. What are you using to etch the copper off the PCB? And what program did you use to design the circiut board?
 
I used Eagle CAD (they have a free version but you have to keep the size down). To etch the PCB I'm going to use ferric chloride (common etchant that I got at RadioShack [our local electronics store] a while ago) but any etchant should work.
 
Surprisingly the board etched pretty well, the fan connector did etch off so I had to fix it with solder, but overall the result is great. I haven't attached the LED's yet but the fan controlling part works, the LED's I just have to decide what resistor values I want to use.


 
Kinda, I'm in college for computer engineering, but I'm only in the intro courses so far so all my microcontrollers and circuit projects have just been side projects that I've been doing for fun and to learn how to use things that are useful (as all intro courses teach is stupid theory...). The PCB design I learned in about a week, saw this program called Eagle CAD, downloaded it, played around until I figured out how to work it, drew up a board, then followed instructions online to do the transfer to the actual board using a laser printer. I had etched hand-drawn boards before for a model railroading project where we made a lot of small, simple boards so I already knew how to etch the board with the chemical etchant and I've been soldering for a long time so that was no problem.

The hardest part now is finishing the code (that big chip is a little 8 bit processor, it runs C code and talks to the PC via the other chip [a serial level converter]). I have the LEDs and fan motor code working, but I need to find somewhere in my code that executes exactly once per second to calculate RPM. Then I have to write all the serial port code that makes the board and the PC talk nicely, the hard part is going to be serial port programming on Windows, something I've only ever tried in Linux where port access is as easy as file access.
 
Status
Not open for further replies.
Back
Top Bottom