Older blog entries for jkkroll (starting at number 40)

Portable Electrick Storage Device – Mark I

My daughter has swim meets every Saturday morning from 7am until around 1pm. During this time she is actually swimming a total of about 4 minutes, so the entire family tries to stay occupied the rest of the day. Almost every week someone complains “Oh, man! My iPod is dead!” Answering the tinkerer’s call to arms, I would like to present the Portable Electrick Storage Device Mark I:

Outside

Inside

USB Connectors

Charging my iPad

Specs:

  • Box – $6 brand new at the local thrift store, I only added electronics and handles. (I need to head back and get a couple more!)
  • Battery – 12V 7Ah (~12 iPod charges or 3.5 iPad charges)
  • Output – 5V @ 1.5A (will charge iPad while watching video)
  • Connectors – 3x USB Type-A female
  • 3A fuse directly on battery
  • Power switch with blue LED indicator

Plans for the future:

  • “Working” steam power plant
  • Microcontroller based monitor (Battery charge level, internal temp, etc) with 128×128 OLED screen
  • Embedded wireless web server (WRT54G based)

Syndicated 2010-06-21 19:29:33 from robotguy.net/Blog

Steampunk PDA – Again

I have been convinced to add the Steampunk PDA back to my list of projects I am allowing myself to work on, so the list currently stands as Deskpet, Mazetrix, PDA and notebooks. I ordered the accelerometers for the next 3 Mazetrix tiles (should be here Monday), and I should be building a couple of notebooks for some guys at work, but this sounded like more fun.

I have been thinking about the PDA for a week or two now, and decided to make a custom case rather than attempting to use a pocketwatch case. I picked up a 2″ brass pipe fitting from the hardware store and  started shaping it on the lathe. It should be just about the right size…

PDA Case

Steampunk PDA Case - Size Comparison

PDA Case

Steampunk PDA Case

Steampunk PDA Case

Steampunk PDA Case

Steampunk PDA Case

Steampunk PDA Case

Syndicated 2009-07-12 02:47:50 from robotguy.net/Blog

#mazetrix video 1

I spent about 4 hours programming last night trying to simulate the physics of a rolling ball on the AVR. I think it turned out pretty well:

Here’s the timer interrupt that services the analog to digital converter and the multiplexing of the LEDs:

ISR(TIMER2_OVF_vect){
static unsigned char activeLine=0;
static unsigned char adcChannel=0;
PORTC=0xFF;
PORTA=0xFF;
selectLine(activeLine);
PORTC=~green_display[activeLine];
PORTA=~red_display[activeLine];
activeLine++;
if(activeLine>7){
activeLine=0;
}
switch(adcChannel){
case 0: x_accel=(ADCH-x_flat)/10;
if((x_loc<500)&&(x_accel<0)){ x_accel=0; } if((x_loc>7500)&&(x_accel>0)){
x_accel=0;
}
x_vel=limit(x_vel+x_accel,-MAXVELOCITY,MAXVELOCITY);
ADMUX=0xE1;
adcChannel=1;
break;
case 1: y_accel=(y_flat-ADCH)/10;
if((y_loc<500)&&(y_accel<0)){ y_accel=0; } if((y_loc>7500)&&(y_accel>0)){
y_accel=0;
}
//if((abs(y_accel)>1)||(abs(y_vel)>20)){
y_vel=limit(y_vel+y_accel,-MAXVELOCITY,MAXVELOCITY);
//}else{
// y_vel=0;
//}
ADMUX=0xE2;
adcChannel=2;
break;
case 2: z_accel=(ADCH-125);
ADMUX=0xE0;
adcChannel=0;
break;
default: adcChannel=0;
}

}

And the main loop:

while(1){

if((abs(x_vel)>STICTION)||(abs(y_vel)>STICTION)){
x_vel=(int)((ELASTICNUMERATOR*(long int)x_vel)/ELASTICDENOMINATOR);
x_loc+=x_vel;
y_vel=(int)((ELASTICNUMERATOR*(long int)y_vel)/ELASTICDENOMINATOR);
y_loc+=y_vel;
}
if(x_loc<0){ x_loc=-x_loc; x_vel=-x_vel; } if(x_loc>7999){
x_loc=7999;
x_vel=-x_vel;
}
if(y_loc<0){ y_loc=-y_loc; y_vel=-y_vel; } if(y_loc>7999){
y_loc=7999;
y_vel=-y_vel;
}
x_pos=(unsigned char)(x_loc/1000);
y_pos=(unsigned char)(y_loc/1000);
plotBall(x_pos,y_pos);
_delay_ms(50);

}

Syndicated 2009-06-26 04:03:08 from robotguy.net/Blog

Mazetrix Update

I received the pcbs for Mazetrix and started the build. After 4 1/2 hours of troubleshooting I realized that I connected the SCK line to the wrong pin and finally managed to get AVR Studio to recognize the processor. Then I wrote enough code to verify the LEDs would all light up.  However I then started having problems with the firmware. Finally, during my 15 minute lunch today, I found the problem was the fuse settings in the ATMEGA128 (either 103 comaptibility mode or JTAG enabled).

I just added the 3-axis accelerometer, but haven’t soldered on the supporting components. Also I still need to add the Li-Po charge IC. I am currently using the STK500 both to power and program the board.

So without further ado, here are some pics…

Mazetrix project

Mazetrix project

Mazetrix Bottom

Mazetrix Bottom

Mazetrix Top

Mazetrix Top

Syndicated 2009-06-23 02:01:14 from robotguy.net/Blog

Welcome to the Mazetrix

So, I just got an email from BatchPCB that my board has been shipped, so it looks like I’m switching gears again.

My board is for a project based on the Tiletoy, and incidentally not unlike the Space Invaders Button, the Awesome and 64Pixels.

Many moons ago I managed to score several 8×64 Red-Green matrix displays salvaged, evidently, from a casino display. Even though I had managed to reverse engineer them and figure out how to display nifty messages, they were just too large and too COTS for me. I removed the 8×8 LED matrices (matrixes?) and designed a small board to run them. The display is run directly from an ATMega128, using a half-H bridge on each column so I can use the entire matrix as a sensor. Additionally, I have added a MMA7260 triple axis accelerometer. Last but not least is an IR LED pointed in each of the cardinal directions, also connected to be used as an input and an output, for communicating to neighbor modules(PDF link).

The ultimate goal is to create tiles with a red maze and a green “ball” than you can manipulate by tilting, just like the good old labyrinth game. When you get to the edge of a tile, you can connect another, which will attach magnetically, and the maze will continue on the new tile.

I’ll add more updates when I start building.

Here’s a few images to satisfy the curious:

schematic

schematic

Mazetrix Layout

Mazetrix Layout

Syndicated 2009-06-18 04:55:24 from robotguy.net/Blog

Item 1 – I/O

Sufficient output to be “interesting”

  • Motors – move, dance, wiggle
  • Audio – At least beeps and boops,  possibly recorded audio, but no extra audio hardware (like mp3 decoders)
  • RGB LED Eyes – Maybe even moveable (if I have extra time on my hands)

Sufficient input to be interactive

  • Location sensing – using dual color sensors and a colored mat
  • Light sensors – need to know when it’s dark out, follow a light or find a dark corner
  • IR obstacle detection – don’t want to bump into stuff
  • IR homing sensor – to find the recharge station
  • Hall Effect Sensors – locate and play with toys
  • Capacitive touch sensing – how else is it going to know when it’s being petted?

Syndicated 2009-06-17 05:06:36 from robotguy.net/Blog

Design Goals for Deskpet

I have decided to limit myself to 3 projects; Deskpet, Tiletoy and notebooks. I just built some notebooks, and my Tiletoy PCB is on the way (maybe more about that later), so I’d like to get back to Deskpet.

Deskpet is a project that I am working on to create a small robot to live on my desk as a pet. One of the things I have learned at work is that it is much harder to build something if you don’t know exactly what it is supposed to do. So here goes; high level design goals for Deskpet:

  1. The major goal for the Deskpet is to construct a pet. It needs to live on my desk and generate an emotional attachment.
    • Sufficient output to be “interesting” – If all it has is a pair of motors, I can make it dance, but it would be much easier to generate an emotional attachment if it has other methods of expressing itself.
    • Sufficient input to be interactive – I want to be able to play with my pet, so it needs to be able to sense it’s surroundings, toys and possibly me.
  2. Automatic recharge – If it is going to seem alive, I can’t keep having to put it on the charger.
  3. Wireless communication and bootloading – This is going to require A LOT of firmware work on my part, so it ould be easiest if I could download new firmware without even toucing the ‘bot.
  4. I will not be concerning myself with availablilty or cost of components with respect to eventually making kits available. This will be a project for me.

Well, that should be enough to keep me busy……..

Syndicated 2009-06-15 04:25:03 from robotguy.net/Blog

Testing 1.2.3

It’s not dead! Close call, I thought the blog database was gone or corrupted.

But not very live either. Massive problems with HTTP 500 errors.

OK. Re-installed and looks OK for now. Upgrade from 2.02 to 2.8 deserves a new theme. Maybe something with widgets?

Back to robotics…

Syndicated 2009-06-13 04:15:02 from robotguy.net/Blog

Laser Cat Toy

Stuff like this usually generates the reaction “You have too much time on your hands…”

I was working on my pan & tilt for a Defconbot (defconbots.org) when I realized it would make a great cat toy. A PC is controlling the P&T, running a random pattern with the laser pointer.

Syndicated 2009-02-04 17:34:48 from robotguy.net/Blog

Want to find your ideas in a year? Write them down!

I’ve been a big proponent of keeping my ideas, schematics, drawings, etc. in a lab notebook for years now. I’ve even started putting my notebook online. My current preference is for Moleskine notebooks, but the folks over at the Black Cover blog are convincing me that there are other alternatives out there. They specialize in reviews of pocket-sized notebooks, preferably with black covers. My favorite kind!

Want something more official (and expensive)? Try one from Scientific Notebook Company.

If you are looking for something more robot-related try the Makers Notebook. It includes squared pages as well as an appendix with resistor codes and all kinds of other useful information.

Finally for the ultimate in customization: Make your own notebook. I call mine Myleskine.

Myleskine

The one pictured is covered in “pleather” recycled from a freebie portfolio. I recently made one for my wife with a cover made of hot pink Cordura. Also a pocket size version covered in black 300 denier ballistic nylon is undergoing “stress testing” in the back pocket of another engineer at work. So far it is holding up very well.

Syndicated 2008-10-15 22:37:47 from robotguy.net/Blog

31 older entries...

X
Share this page