Wednesday, October 20, 2010

New Programmer's commerce site up, The Common Exchange!

I've been working on this for about a month now, but the site is stable at last, and works. It is not complete, but not much has to be done. The basic "just" of the site is working smoothly.

What it is:
The Common Exchange is a site where programmers can upload their programs for marketing them. They simply register with the site, select "Upload Your Program" from the side menu, and proceed with getting their program on! The site is the first of it's kind for the Parallax line of products, particularly the Propeller Chip, which has it's own paid OBEX (Object Exchange). At last Propeller Programmers have the chance to sell their objects, programs, or apps without having to have their own website or doing patchy selling on the Parallax forums. This isn't just for Propeller programmers, Basic Stamp and SX chip programmers can also upload, and the microcontroller selection is being increased to use Xmos, PIC, and the Arduino.

Click here to go to The Common Exchange website

Click the link above to go to the site. It is currently in working order, although there may be some changes being made as you browse it!

Wednesday, September 8, 2010

What will you do to keep from checking the mail?

If you follow my regular posts on the Parallax forums then you probably know that I have been working on a job for Ken Gracy of Parallax Inc. He has hired me to build him a device that will tell him exactly when the mail has arrived, including the time that it has arrived and to show the current time. This is achieved by having a 2 part system, composing of a transmitter and a receiver. The transmitter simply has a pushbutton, 2 LEDs, and an Xbee radio. The receiver is technically more complicated, composing of an LCD, a 5 pos switch, and a board with an Xbee radio, RTC, relay controller for the screen, etc. The circuits have been completed, the devices have been enclosed in nice Mountain King Tech enclosures, and it is all ready to be sent out, exepting the LCD, which has not arrived yet.

Wish me luck on my first "official" job!

Sunday, May 30, 2010

Smaller Junkbot a successful project!

During the last 2 months I have built a varity of notable projects. (and a larger varity of not-notable projects!) First of all, the "junkbot" mentioned a while ago has made a great shelf for holding my project parts, if that tells you anything.
However, I have successfully transfered the servos onto another smaller robotics platform that I made out of plywood. I used 2 PING sensors that I got out of the "Traveling Junk box" that has been circulating to members of the Savage Circuits forum to do distace detection, and I used the Xbee transievers to do data extange and control. The robot relays distance data back to the base system that is displayed on a composite TV screen salvaged from an old DVD player. It is controlled with a 4X4 matrix keypad read by a Propeller microcontroller and sent through the Xbee module. The bot itself is a 16X16 inch square of plywood controlled by a Propeller microcontroller and driven by 2 servos. It receives Xbee data and then controls the servos accordingly. If the keypad code is entered, the bot is set to "autopilot mode" and roams around on it's own using the PING sensors for object detection.
This may seem great, and the development did go very well, but there is one error. For some reason the PINGs stop working after the servos are powered up. I don't understand it as the PINGs are controlled by a different power supply, but they still do it. There should be no prossesing problems as the PINGs and the servos are in 2 seperate cogs (Propeller cores).
I will update any progress on this and if the problem is solved then I will put the code on my site. Thanks for reading!

Thursday, March 25, 2010

Microcontrolled Online coming soon!

I have been able to secure a sub-domain and a host (thanks mctrivia!) that will allow me to host my own site. I am coding the site in HTML and designing the buttons with Cool Text. The site for the most part looks good, and I am now adding the other pages to it. I am using IPswitch for the transfer and notepad to write the HTML files. The site will have a link to my blog (of course!), a download page, a store, and a large amount of my Propeller programs I have written over the years. They will be in one large file and I will post other programs as they are made, so anyone can access them. Even though most of what I am doing to the site right now is experimentation, you can still see what I am doing HERE.

Thanks for reading,

Tuesday, February 23, 2010

Project Junk bot!

Yea, I know, another project. Well, this is my Xbee evaluator as well, so I just had to build it. :-) It is about 4 feet tall, 20 lbs., and powered by 2 small Parallax servos. It was originally going to run on a Propeller alone, but the Prop cannnot generate enough servo torque to move this giant thing so I used a BS2/Propeller combo. Each has it's own power source of 1 9V battery and each communicate non-serialy through 2 wires. It is input driven instead of serial because of memory problems on the Prop. The Propeller does all the hard work of reading sensor data, (the only one is GPS right now), reading the Xbee, and displaying results on the screen. It changes between 3 menus selected by the keyboard. One is GPS data, one is a serial terminal (for 2 way message communication between robot user and remote user), and the other is a directory of pre-set rooms that the GPS can navigate to. The data to get to each room is programmed into an SD card. You set the bot on "record" and every turn and stop is loading as data into the SD card allong with the GPS coordinates with which it was in when the turn was made.

This is the Keyboard interface and the display. 


This is the section where the electronics go. There are no electronics in it at the time, but there will be. They are currently at my desk for programming and tweeking. 
Well, that's all I have now! I'll post updates every time a signifficant step is taken in the making of this. Thanks for reading!


P.S. If other Parallax forum fans noticed, the monitor in the background of the first picture has a forum page on it. :-)

Thursday, February 11, 2010

Going wireless with Xbee!!

I've had a number of projects for some time that could be compleated (or made!) if only I had an easy to use, highly supported, Propeller-object connected wireless interface. Then my dream came true and Parallax started supplying Xbee modules!! I've just heard that I should be getting them any day now so I'm getting my projects ready! I've already written code for a tracking device that will utilize the Xbee module! As soon as I get them in I'll have some projects running! :-)

Spreading out: Learning Java and C#

Well, this week I've taken a break from my usual programming and I am finding online resources to learn programming in languages other then the ones Parallax provides. In just mere days I am able to write light programs in Java and C#, although Java more then C#. I did this by watching some video tutorials. The ones on Java were long and tedious, but they taught you what to do and what you shouldn't do. The C# tutorials where fast and to the point, but they didn't go into detail about the programming process as if you were to do it, but more of just what the language keywords where and what they did, vaguely on how to use them. Here are some links.

Java video tutorials

C# Tutorials (includes Java, C++, SCL and other web languages)

Thanks for reading!

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.