jkkroll is currently certified at Master level.

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

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

Flatfoot

Built by
Math Vos

Recent blogs

20 Mar 2010 spirit (Journeyer)
18 Mar 2010 jmhenry (Journeyer)
12 Mar 2010 suckeroi (Observer)
7 Mar 2010 TrueAndroids (Observer)
6 Mar 2010 svo (Master)
3 Mar 2010 Pi Robot (Journeyer)
27 Feb 2010 motters (Master)
26 Feb 2010 Flanneltron (Journeyer)
24 Feb 2010 middlecreekmerchants (Master)
23 Feb 2010 evilrobots (Observer)
14 Feb 2010 rgeraci (Apprentice)
11 Feb 2010 The Swirling Brain (Master)
1 Feb 2010 trossenrobotics (Observer)
25 Jan 2010 Maliko (Observer)
23 Jan 2010 Myzhar (Observer)
17 Jan 2010 steve (Master)
13 Jan 2010 watsonjosh (Apprentice)
31 Dec 2009 AI4U (Observer)

Newest Members

20 Mar 2010 TheMilnator (Observer)
18 Mar 2010 HASON_ALRFAIY (Observer)
18 Mar 2010 shoaib (Observer)
17 Mar 2010 bruffie (Observer)
17 Mar 2010 garima_jain (Observer)
17 Mar 2010 dracoryan (Observer)
15 Mar 2010 nithin (Observer)
14 Mar 2010 bil bad (Observer)
13 Mar 2010 chintu (Observer)
12 Mar 2010 piyushnjha (Observer)
11 Mar 2010 sc_0097 (Observer)
10 Mar 2010 andys (Observer)
9 Mar 2010 735922295 (Observer)
8 Mar 2010 luc (Observer)
8 Mar 2010 praveentergaonkar (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