It is nice to have an office. Some days it feels more like an obstacle course.
Monday, August 12, 2013
I spent the weekend unwinding and trying to restore some lost ambitions and projects. One of my hobbies has become Kerbal Space Program. I have been wanting to write a mod for it and want it to interact in the physical world.
Taking a cue from Telemachus, which graphs out flight information to a webpage, I began creating a library that will send data over a serial bus (USB preferred) to an receiver for display. For my test receiver, I have rigged up my Teensy 3.0 with the ST7735 LCD display and am spitting out text. I plan on converting the text to feed into a set of 15 segment and 7 segment LED displays instead of the LCD after I make sure the Kerbal API->USB->Arduino transfer all works fine. This will make it more like the NASA mission clock or the mission control dashboard.
|NASA Mission Clock|
|Mission Control Dashboard|
|Kerbal Mission Clock|
|Getting ready to build a new rocket|
|Lain recording our landing position so that we can return|
Thursday, August 8, 2013
|1998 Star Wars Trilogy with an LCD that I restored this spring|
My site, http://www.universal-hammer.com/index.html, chronicles these projects. Things have come to a crawl with working 50-70 hours a week for the last few months at my day job. Now that the project I have been working on is slowing down a little, I have been trying to get back onto the horse and build a few special cabinets for some friends.
Sunday, August 12, 2012
- Teensy - Using a USB Keyboard
- Arduino Reference - Keyboard
- Practical Arduinoo - Virtual USB Keyboard
While it first into a small tin, I had to use a bigger one to get the USB Cable in.
Software-wise, I have some passwords set as part of the program. I have another set stored in the Program Memory area. Since one of my passwords changes monthly, I store which password of that set to use in the EEPROM memory.
When I need to access a system, I plug it in. I select a script and execute. No more having to retype that one blasted password 5 times in a row holding my keyboard with one hand and pecking out the password with the other. No more having to remember what this months password is for the other piece of software. No more having to remember if it is "?Pass&*word99Z" or "?Pass&*Word99Z" or "?pass&*word99Z".
Source code and wiring diagrams are on my Github page. The wiring diagram is cluttered on a breadboard because I wired this thing on both sides of my PCB to keep it compact and to keep the control functional.
|This is what it looks like with the tin case cut.|
Saturday, May 26, 2012
As the first Guild Wars 2 Beta weekend ground to an end, Frank and I had been in a lot of close quarter areas fighting monsters non-stop with explosions and warcries echoing. When we peaked the top of a hill the serene calm of the swooshing grass of a green field, my jaw dropped and we stopped in our tracks.
I can't wait to journey there again so that we can continue the adventure. (Next time maybe Lain won't get bored and watch Halo videos instead of playing with us.)
Tuesday, April 24, 2012
I spent Day 2 about 350 miles away from my RPi, having to go to a convention for my day job. Days 3 and 4 were wrapped around trying to get the Debian kernel to find the uvcvideo module. On a whim, I went ahead and tried the ArchLinux build and low and behold, uvcvideo was cooked in. I moved my scripts over from the Sheevaplug that I was prototyping on and got to work.
Things that I have installed that worked without issue:
* motion - gets 6 GPS with movement processing
* uvcvideo - Mounted my 4 USB cameras without an issue
Things that partially worked:
* audio - The mp3 player I was using, mplayer, is panicking the kernel due to issues with the kernel that are in process of being resolved. TBE worked much better, but has a weird problem that the process hangs for a few seconds after the stream ends.
Wednesday, April 18, 2012
After a long wait, a quick rush to order at 1 AM, and another slightly shorter but long wait, my first Raspberry Pi showed up on my doorstep. I have been prototyping a system to basically create a home sentry system (aka Turret from Portal 2).
Up until this point, I have been using a SheevaPlug with a USB soundcard, a USB camera, and an Arduio with a Motor control shield. I ran the ARM version of Debian, which the RPi has a release already created as well. On top of that, I use the OpenCV library in a Python script to handle the webcamera feed and detect movement. If no movement occurs after a long time, the bot starts talking to itself. When it detects movement, it plays sounds from the "Detect Movement" bank and runs the motor to open the arm sockets. When it detects noise, it plays sounds from the "Detect Noise" bank. After a interval, if noise or movement stops, it goes back into a Caution state and plays caution sounds for a while and retracts the arms, then goes back into a sleep state. I did a quick prototype prior to digging into OpenCV using a great app called "motion".
A rather simple project, but one that involves computer vision, motor control, audio files, and is possible to do extremely inexpensively, especially due to the RPi being $40.
Code will be posted when I get to at least an Alpha state of the project.
Tonight, I was able to load my SD-card with the Debian install, expand it out to the full size using a GParted Live disk in a VirtualBox window on my Windows 7 PC, and accessed the RPi via SSH. I then loaded motion, opencv and python-opencv. Python is already installed. It looks like the uvcvideo module is not installed and I am having problems grabbing the kernel sources to import it myself.
So, I guess this puts an end of my first day of this.