Tuesday
Aug162011

RFID Door Management

I've been working with a cool group of people here in Reno to get a local makerspace up and running(if you're in the Reno area you should check us out: Bridgewire).    We're at the stage where we have a location, and it's rapidly filling with fun toys.  But, right now we've just got regular old keys for the doors.  We're looking at the Open Access Control system for a more robust solution for entry, but in the mean time I'm looking to see if we could get something smaller and cheaper up and running.  I had a few goals for this project:

 

  • Keep the cost down
  • Get it going quickly
  • make it internet/computer independent.

 

I cheated somewhat with the first goal, in that I had an arduino UNO that I'm not currently using for anything.  I picked up an ID-20 from Sparkfun and it's convenient breakout board as well as a few tags for testing.  Someone in the comments for the ID-20 posted this page, which was invaluable: Reading RFID tags with an Arduino.  Since part of the goal was get something up and running without a computer, I worked on a system by which we could add and remove users without a computer.  It turns out that using the ID-20 from the Arduino was really simple.  I setup a system where we could use "admin" cards to add/remove other cards, in addition to using a separate computer.  It turns out that using the "admin" cards wasn't super helpful, because we didn't have a good way to get people's card numbers out of the system when entered that way.  

But, overall the system works pretty well.  We're going to add logging and an internal website for additions/subtractions soon.

 

 

 

Saturday
Apr232011

Dollasaur Complete!

I finally got off my duff and finished up Dollasaur.  I had to shave away at the insides with a hobby knife, but I was able to make enough room to hold the Xbee, Arduino, battery, charger, and associated wiring.

Testing Dollasaur

Then I wrote up a quick app that communicates queries our continous integration server at work and drives Dollasaur to look either angry(red strobe) when builds are broken, or calm(blueish) when all the builds are completing successfully.

Builds are broken. Dollasaur is ANGRY!

Right now, the app is a simple command line affair, but I'm comtemplating moving it to a windows tray, or something similar.  

Wednesday
Feb092011

Dollasaur

My cubicle mascot is a plastic dinosaur.  He wears a dollar for a coat, because he was cold.  His name, boringly, is Dollasaur.  During my admittedly brief look into the fossil record I didn't find any record of dinosaurs that wore clothing.  He might be one of a kind.

Dollasaur

 I decided that he needed to be smarter, or at least appear that way.  So, my plan was to install a brain.  I had and older BlinkM(or two) sitting around that I thought I should use.  The BlinkM circuit board didn't look like it would fit on top of his head, so I un-soldered the LED and added a tail to it.  While un-soldering the LED I managed to also unsolder one of the surface mount resistors on the BlinkM circuit board.  That was less cool, but using the experience I gained from the Sparkfun surface mount soldering class at makerfaire (we made one of these: Simon) I was able to put the tiny bit back on there.  

BlinkM and it's butchered brother.

With that modification completed I went about conducting surgery...

Like A Hole in the HeadIn the background you can see the blurry Arduino I'll be using to drive this contraption.  With the hole created, there's nothing to do but insert the LED and see what happens.  At this point I came across a problem: It turns out Dollasaur is a squeeky toy, and he's got an internal barrier.  With the right tool(hobby knife) I was able to excise the squeaky bit to allow an open cavity between his head and his tail.  Also, everything was much easier because I cut him in half.

LED installed in half of DollasaurThat picture has some pretty terrible lighting, but I'm going to put it on the internet anyway. I had remembered seeing something about using a table tennis ball as an LED diffuser, and a quick search lead me to this page on Boing Boing.  With that knowledge, Dollasaur got a slightly-too-large ping-pong brain:

Brain Glow!That seemed a little excesive so I chopped it in half.  I then also used a marker to paint some "brain lines" on the inside so you can see them when they glow:

And... That's about it.  He's not quite done, as you can see by the fact that he's pooping multicolored wires.  But, he definitely looks smarter.  I'm thinking of tying him to the CI build process at work.  Dollasaur angry = build fail.  The next step is to try and make him wireless.  I have an mini Arduino and some Xbee hardware on order for that purpose.  Should be fun!

Wednesday
Jan192011

Don't Save!

I'm working on my iphone app tonight.  It told myself I couldn't start another project until at least one was off my plate. This seems like the projects closest to finish, as well as the most convenient to work on right now(vs. the RepRap or the Dryer-finished-detection-machine).  

I'm not very knowledgeable in Obj-C though, and right now my main technique is to copy as much code as I can from the developer documentation and try to learn as I go.  Recently my QA team/girlfriend found a bug that I'm trying to track down.  If one goes to add a new element and then closes the app while configuring that element(but before saving it) that element gets added anyway with all the default information.

The method I'm using for the add dialog is straight from the examples:  Create the new element and open the add dialog with it.  The add dialog then either saves the managed object context and commits the new item or it deletes the item on cancel.  I'm sure that the dialog is doing neither of these on app close, but that the app delegate is saving the context instead, and causing the element to be saved.  That all makes sense, but I can't figure out what the example CoreData apps do differently in this situation.  They don't appear to have this bug, but I can't figure out what the difference between their code and mine is.

Ohh well, that will have to be left for another night, and maybe a consultation with someone more familiar with Obj-C & CoreData.

Thursday
Dec302010

Dominion Geekery

Last night I got my Dominion card tabs all setup and cut out.  I printed the Improved Sumpfork tabs on 100lb stock at a printery.  The print shop didn't do the greatest job, but they're much better than what I had before.  Cutting them out took quite a while.

The tabs
Getting ready to put the tabs in the box