Wednesday, April 16, 2014

Tiny PC Person Status Update 2014-04-16

Here is a video demonstration of my current progress. It is starting to look really good. As some side items, I generated up a pcb on Fritzing that I am getting a few made to be able to then work on  a box to put it all in.

Monday, March 31, 2014

Arduino Day 2014

This last Saturday was Arduino day, where around the world there were seminars and projects being shown off. St. Louis didn't have any local events, so I watched a few of the online presentations and worked on my Little Computer Person project. I had a lot of similar code for the project written for a Windows app.

After a chunk of code rewriting, I was able to shoehorn in a minimal AI and pathfinding algorithm.  For the project, I am using a Teensy 3.1 and the ST7735 LCD. Most of the fighting I had to do was converting my code from a C++ 11 implementation to it. After 2 days, it all came together.

Now, my little guy will build up a queue of things to do and walk to the positions where those things will be, using the stairs correctly to get between floors.

Currently, with 2 sprites and all the AI processing, I get about 30 frames per second with no flickering.

Wednesday, March 5, 2014

Cosmos revival

Last night, Jenn and I took Lain to a special screening of the new Cosmos series at the McDonnell planetarium. We arrived later than I would have liked and were lucky to get in the overflow and take a spot for press members who didn't show up. Of the 100 press spots, only 10 were used. Thank Talos that science isn't newsworthy. Ann Druyan even commented something similar about that in the Q&A

The episode was very similar to the original's first episode where it explains the size of the cosmos both in size and time. It then goes in to tell the story of Giordano Bruno, who was persecuted by the Christian church for having the gall to believe that the Earth isn't the only thing their God made and that the cosmos is infinite.

During the Q&A, Ann Druyan commented that today's knowledge gatekeepers are adults and that they should let children imagine and dream and let them test their dreams for proofs.

I am excited for the rest of the series.

Monday, August 12, 2013

Office blues

It is nice to have an office. Some days it feels more like an obstacle course.

Kerbals in Space - The "Oregon Trail" game of spaceflight

If you don't know what Kerbal Space Program is, check out this video from Space.com.
---

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
The project currently looks like this:

Kerbal Mission Clock
It just displays some simple metrics: Mission Time, Time to Next Planned Maneuver, Altitude above the current gravitational object, and Orbital Speed.

Getting ready to build a new rocket
Lain and I did some Kerbaling last weekend as well in an attempt to build a multistage ship to go to Duna (similar to Mars). I hooked my PC to the projector and we worked through launching a Kethane (similar to Methane) searching satellite out to Minmus (imagine a tiny second moon way out past the Earth's moon) to find Kethane deposits. We then launched a reusable automated pod to fetch Kethane and bring it up to orbit. Finally, we designed a "Planet to Moon" fuel hauler to bring large tanks of fuel back to Kerbin. Our next goal is to design a craft to go out to Duna with all that fuel.

Lain recording our landing position so that we can return
While there is a good amount of math and planning you can do in the game, it isn't required. You can easily get to the much closer moon, Mun, by simple trial and error. Lain and I learned that "error" is harsh on projects like this, so he has made a construction, preflight, and mission checklist that we go through on each rocket. There is nothing more irritating than launching a probe out to Minmus, attempting to correct the orbit and find out that you can't because you forgot to open the solar panels and your probe has no power.

Thursday, August 8, 2013

My arcade restoration side projects

I have recently gotten back into and due to work slowed down restoring and building arcade machines.


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

TeensyTyper - A Teensyduino USB Keyboard

There are plenty of tutorials showing the basics of having an Arduino or similar device act as a USB device of different types, which was only made easier with the Arduino Leonardo or the Teensy 2.0.
I had a problem that needed a solution and decided to spend the day with one of the Teensy 2.0's I got in yesterday to create it.

At work, I have to log into a bunch of different systems that do not normally have keyboards attached that have differing schemas and handling of passwords. It is a pain to have to dig out a keyboard, type in a convoluted user id and password or head back to my office to grab the password list to figure out which one it is currently.

I wanted to make a device that would fit in my pocket that I could use to plug into a system, select a script to run, and let it handle all the typing for me. I have seen several other similar solutions, but most of those just have multiple buttons for each command. For this project, I wanted to give it a simple but scale-able user control. It also had to be easily fit into my pocket and not collect lint.

The end result is this:


My USB Key TeensyTyper
Note: This device is 1.5 inches x 1.75 inches.
While it first into a small tin, I had to use a bigger one to get the USB Cable in.

The top button selects between scripts. The bottom button runs that script. The 7 segment display shows which script number you will be running. The dot on the 7 segment display pulses to tell you it is on and stays lit when running a script.

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.