YasPOV: Grrrreat Update!
Another weekend…. another great update!
I was able to work on my lil’ project, YasPOV. The current status is almost finished! and it really works!
I swing the thing in the air and you can see a message “printed” on the air, in red. The device works best with low amounts of ambient light. I was going to use green leds because the human eye is more sensitive to green light, but I only had red ones with transparent epoxy.
I made a little app (C# / .NET 3.5, I’m a software Architect/Developer so it is acceptable that I use this stuff
) to design the characters the device outputs. Basically each character is made of a matrix 4×8 (rows x columns) bits. In other words, each character is made of 4 bytes or 32 bits. I’m making only alphanumeric characters and a few others like punctuation (we don’t need the full ASCII char set). Basically the app is composed of a matrix made of checkboxes (ok, somewhat cheap but it really works!), so you check and uncheck these checkboxes to set and unset each bit in the matrix. The app then gives you as result an array of values to copy and insert in the source code of the firmware. For example, the array “{0xFF,0xFF,0xFF,0xFF}” would represent a filled rectangle, supposing that was a valid character. The characters are represented as a constant array of arrays that are stored in the MCU’s Flash memory. You could quickly fill up RAM space if you stored it there, so program memory is best.
I experimented for a little while with timing… delays that should happen between each character (empty space between characters) and also each of its columns while being printed. By trial and error, I found acceptable values to use with the integrated 8-bit timer, TMR0. Actually, I didn’t bother to calculate the exact time in seconds of each of the two delays I need, and it doesn’t matter, because I don’t really need to know… it just works!
Here are the pics…
Tags: Electronics, PIC, POV


