Thursday, January 28, 2010

Other projects on hold: Starting 60 RGB LED spinning display

It upsets me every time I do this, but I do it often. I can never finish anything. Most of the time I can get down to just a day's worth of work left and then completely lose interest. I can blame the Parallax forums for this, for I get most of my ideas from it. Another thing that will hold me off from finishing a project is hardware, where I will have a very nice program that works great and has a good user interface, but I have no hardware to put it on! Oh, well, I'll get more project ideas at UPEC, enough to last me a year. Now onto the project:

This is the first project in my life that I am not doing alone. Matthew (mctrivia) is getting the hardware done for this project. The project was his idea after seeing my Spinning Light Display. He then told me he wanted me to write the program. The board will be straight, with RGB LEDs down it controlled by serial latches. I can send out a serial command that is 180 bits long (number of LEDs) with 2 pins (clock, serial) The LED driver will have to be in ASM, which is unfamiliar territory for me, as of I just learned it (or started learning, for a language is never completely learned) but I agreed anyway.

This project is in the early stages. The serial shift-out driver is made, and in about only 12 lines of code too, and the graphics function is being worked on. Text will only be shown going around the device, not straight across. This would require a large amount of processing, so it is omitted. The coordinates are given in polar, but I have already integrated a built in Cartesian to Polar converter.  Oh, the text has only been desided on, not integrated yet. Updates to be posted. Please leave a comment if you have an opinion.

UPDATE 5/30/10:  Matthew has decided that this project will not be a good investment, so he has decided to change his interests. I am now working on a touchscreen project for him, but it too is failing, for he failed to realize the difficulty in downloading programs from Ethernet.

Thursday, January 14, 2010

Automation Project Part 2: Main Computing device Software Update 1

This is the part that must be done before the remote gets finished, as the system revolves around this central system.
The software so far features full SD card app support and file name search with filetype autodetect. Basically I wrote a SPIN program that allows you to select the "Apps" function from the main menu of the device, then choose to launch from a list of pre-programmed apps or to enter the file name of your custom one. The driver will let you enter a filename on the SD card. It then proceeds to check to make sure the file exists and then it checks to make sure the file is supported. You can enter .bin files (Binary Propeller Applications) or .wav files (High Quality music files) and it will respond with the proper built in driver. The way it runs propeller Applications (basically programs that are designed to run on the hardware included) is it uses a modifyed bootloader program, a program (not written by me) that is designed to be loaded to the non-volitle memory so that you just load your programs onto an SD card connected to the Propeller and you do not have to use a PropPlug to load your programs into the propeller memory. However, I changed it so that it can work as an object and load them on cue from a main program. This lets the system work like a computer, allowing it to run apps on the RAM without using any of the main program's memory. Then, to go back to the original state it simply resets and the RAM is emptyed. Now that the file systems on this are done, I will update next with the automation funcitons themselfs followed by the remote functions and communication syncing and so on.
There are no apparent errors. Originally the bootloader would not work but that was because I had to disable the current SD reader in the program to allow the SD reader in the bootloader access the SD card. That is fixed now.

This is all I have for now. Check back in a day or 2 for another update!! Also, be sure to comment on anything you want. I will gladly listen to requests and corrections/critisizem.

Saturday, January 9, 2010

Automation Project Part 1: Remote controller update Part 1

This is an extended project that I have started that will take over a month to complete and will be composed of little parts, featuring (most likely) a remote control, a central controller, and individual outposts. The project will take place in 3 parts, each part consisting of individual updates that will be posted every time a memorable checkpoint is made. Now for the initial project start.

Project Progress:
The remote controller is at the hardware-compleate stage where all the circuits are built and all the vital parts are secure. The control consists of an IR LED for wireless communication, a bi-color LED for status, an OLED serial controlled display, 4 pushbuttons, and a 6-diget blue 7-segment display. It also has a port for outside control with a straight-through port to the OLED display.

What it does:
Well....nothing now. Without a program in the main processor it does nothing. However a clock program (I wrote it) IS loaded into it so that the digets function as a fully working clock. The pushbuttons let you enter in the clocks time and the digets display it in full blue glory.

All projects have this subject in common, I've noticed. :-)

- The OLED flickers and gets hot withen seconds, It has worked before on other systems so this is a mystery since the display is totally isolated from the rest of the circuit excluding power and the serial control line. Even with the serial line unsoldered it still does this. This is the biggest error so far.

- The top segment in the displays has had to be re-routed because pin 0 is not operating correctly

- There is a more heavy "ghost diget" then usual and only in darkness does the display look almost solid and not like it's being pulsed.

Future updates:
Removal of errors (obviously) better clock fuctions, Serial interface, and the remote fuctions that it is made for.

Check back soon for more updates and maybe some mini projects!

Friday, January 8, 2010

Quick Project: Clap light (CCFL)

At the beginning of the week I was out of projects and I needed something to design, so I built this simple device. It utilizes a sound impact sensor and a custom relay driver (transistor based) that can drive the 12V lamp with a 3V microcontroller.

Techinical details:
It uses a P8X (Propeller Chip) running at 80Mhz on a breadboard (for easy mods) and enabled with a relay controlled by a transistor. The transistor circuit will come in handy later, and the relay circuit will be used in a future project. The P8X is really much overkill, as all it is doing is switching, an SX chip could handle it just fine and maybe even that would be an overkill. The program only uses about 250 bytes out of the 32,000 that are on the chip.

It worked great and the relay circuit switched with perfection. However, it didn't prove itself useful enough to survive more then a day when it was salvaged and labeled as experimental only. It used 2 regulators and a crystal, which I am low on and with the large project I am starting I needed them greatly. Nevertheless, I still have the program, which is the heart of the device and I have the schematics so I can eventully build it back correctly. It is one of the few times that I documented everything.