jkkroll is currently certified at Master level.

Name: Jeff Kroll
Member since: 2002-01-13 23:58:31
Last Login: 2010-02-03 17:15:20

FOAF RDF Share This

Homepage: http://robotguy.net

Notes: I am an electrical engineer working for a company that builds deep sea remote operated vehicles and telerobotic arms. I have been interested in hobby robotics for about 12 years and currently have about 26 robots that I have built.

Recent blog entries by jkkroll

Syndication: RSS 2.0

12 Jul 2009 »

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

26 Jun 2009 »

#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

23 Jun 2009 »

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

18 Jun 2009 »

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

17 Jun 2009 »

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

35 older entries...

 

jkkroll certified others as follows:

  • jkkroll certified bronson as Master

Others have certified jkkroll as follows:

[ Certification disabled because you're not logged in. ]

Robot of the Day

Twitchy

Built by
Edward Rupp

Recent blogs

2 Feb 2010 middlecreekmerchants (Master)
1 Feb 2010 motters (Master)
1 Feb 2010 trossenrobotics (Observer)
26 Jan 2010 svo (Master)
26 Jan 2010 jmhenry (Journeyer)
25 Jan 2010 Maliko (Observer)
23 Jan 2010 Myzhar (Observer)
17 Jan 2010 steve (Master)
13 Jan 2010 watsonjosh (Apprentice)
12 Jan 2010 Flanneltron (Journeyer)
8 Jan 2010 Pi Robot (Journeyer)
8 Jan 2010 evilrobots (Observer)
31 Dec 2009 AI4U (Observer)
21 Dec 2009 johndavid400 (Apprentice)
15 Dec 2009 jwp9447 (Apprentice)
11 Dec 2009 Wes_Hewell (Apprentice)
11 Dec 2009 Magnum (Observer)
11 Dec 2009 wesleyhewell (Observer)

Newest Members

9 Feb 2010 zovan abhoe (Observer)
8 Feb 2010 abhi1 (Observer)
8 Feb 2010 chilla.karthik (Observer)
7 Feb 2010 spikes3001 (Observer)
6 Feb 2010 cyberclone (Observer)
5 Feb 2010 ranjeet (Observer)
5 Feb 2010 mandaliuf (Observer)
5 Feb 2010 chandra (Observer)
5 Feb 2010 sujith (Observer)
5 Feb 2010 kanchan.a2zc (Observer)
4 Feb 2010 ANIL KULLU (Observer)
4 Feb 2010 surya (Observer)
4 Feb 2010 rajajiw2010 (Observer)
4 Feb 2010 lovely (Observer)
3 Feb 2010 slamer (Observer)

Newest Robots

7 Aug 2009 Titan EOD
13 May 2009 Spacechair
6 Feb 2009 K-bot
9 Jan 2009 3 in 1 Bot
15 Dec 2008 UMEEBOT
10 Nov 2008 Robot
10 Nov 2008 SAMM
24 Oct 2008 Romulus
30 Sep 2008 CD-Bot
26 Sep 2008 Little Johnny

User Cert Key

Observer
Apprentice
Journeyer
Master
X
Share this page