Lego Steering wheel.

I made a arduino and lego based steering wheel.
Pics: Sry quality, phone.

http://img408.imageshack.us/img408/4305/p29100823272jd7.jpg
http://img511.imageshack.us/img511/4593/p2910082327hw5.jpg
http://img185.imageshack.us/img185/755/p29100823271rx8.jpg
And a crappy 3GP vid i made:
DOWNLAOD IT, Better explaned idea

Sry my english, im spanish and im only 13 hehe

EDIT: I forgot, That thing over the arduino is my Shield

Colorful design :slight_smile: What do you do with it ?

p.s. please don't post such HUGE images. I couldn't see all of it on my screen, and I'm already at 1280x1024. I think 800x600 is a good choice, and you can always post closeups of fine details if need be.

Sorry, i changed the img tag by url.
Ok, i got a question. The unique thing that this do is sending a 17 to 168 DEC value to the com port. Does anyone how to create a vitual joystick with VB and use this to Steer?
I only use for learning some C and Electronics. But i want to use with rFactor or something else.
Src:

int ledPin = 13; //lol
int val = 0; //Potentiometer Value
int pv = 2; // 1 for program 1 and 2 for program 2 (omg obviously)
int larr[5]={123,11,8,10,12}; //123 not used, 11 is the first led pin, 12 is the last led pin. my pins are: 11-8-10-12

void setup() {
  pinMode(ledPin, OUTPUT); 
  /********************/
  pinMode(6,  INPUT); //These are my shield's buttons
  pinMode(7,  INPUT); // idem
  /**********************/
  pinMode(larr[1], OUTPUT); //Set the led pins for output
  pinMode(larr[2],  OUTPUT); // x4 idem
  pinMode(larr[3], OUTPUT);
  pinMode(larr[4], OUTPUT);
  /**********************/
  Serial.begin(9600); //For sending the pot. value
}

void loop() {
    val = analogRead(2); //reads the pot.
    val = val / 4; //My pot is 0-1023. So i divided it for be 0-255 (255,7 really)
    if (pv == 1) { //Mode selection
     prog1();
    }
    if (pv == 2) {
     prog2();
    }
}
void prog1(){ //Reading line by line you will understand
     if (val >= 20)
    {
     digitalWrite(larr[1], HIGH);
     digitalWrite(larr[2], LOW);
     digitalWrite(larr[3], LOW);
     digitalWrite(larr[4],LOW);
    }
    if (val >= 52)
    {
     digitalWrite(larr[1], LOW);
     digitalWrite(larr[2] , HIGH);
     digitalWrite(larr[3], LOW);
     digitalWrite(larr[4], LOW);
    }
    if (val >= 93)
    {
     digitalWrite(larr[1], LOW);
     digitalWrite(larr[2], LOW);
     digitalWrite(larr[3], HIGH);
     digitalWrite(larr[4], LOW);
    }
    if (val >= 125)
    {
     digitalWrite(larr[1], LOW);
     digitalWrite(larr[2],  LOW);
     digitalWrite(larr[3], LOW);
     digitalWrite(larr[4], HIGH);
    } 
}
void prog2(){//Reading line by line you will understand
    if (val >= 92) {
      if(val <= 100) {
        digitalWrite(larr[1], HIGH);
        digitalWrite(larr[2], HIGH);
        digitalWrite(larr[3], HIGH);
        digitalWrite(larr[4], HIGH);        
    } else {
        digitalWrite(larr[1], LOW);
        digitalWrite(larr[2], LOW);
        digitalWrite(larr[3], LOW);
        digitalWrite(larr[4], LOW); 
    }
    } else {
        digitalWrite(larr[1], LOW);
        digitalWrite(larr[2], LOW);
        digitalWrite(larr[3], LOW);
        digitalWrite(larr[4], LOW); 
    }
    if (val <= 160){
        digitalWrite(larr[4], HIGH);  
    }
    if (val <= 150){
        digitalWrite(larr[4], HIGH);  
    }
    if (val <= 135){
        digitalWrite(larr[3], HIGH);
        digitalWrite(larr[4], HIGH);  
    }
    if (val <= 117){
        digitalWrite(larr[2], HIGH);
        digitalWrite(larr[3], HIGH);
        digitalWrite(larr[4], HIGH);  
    }
    if (val <= 92){
        digitalWrite(larr[1], HIGH);
        digitalWrite(larr[2], HIGH);
        digitalWrite(larr[3], HIGH);
        digitalWrite(larr[4], LOW);  
    }
    if (val <= 63){
        digitalWrite(larr[1], HIGH);
        digitalWrite(larr[2], HIGH);  
        digitalWrite(larr[3], LOW);
        digitalWrite(larr[4], LOW); 
    }
    if (val <= 39){
        digitalWrite(larr[1], HIGH);  
        digitalWrite(larr[2], LOW);
        digitalWrite(larr[3], LOW);
        digitalWrite(larr[4], LOW); 
    }
   if (val <= 20) {
        digitalWrite(larr[1], LOW);  
        digitalWrite(larr[2], LOW);
        digitalWrite(larr[3], LOW);
        digitalWrite(larr[4], LOW); 
   }
    Serial.println(val, DEC);      
}

BTW if u want some pics of my shield, only say it, and i will post some pics. No schematics available.

Comments still being allowed .__.

This would be a slightly different approach you could consider:

UsbJoystick library for Arduino

--Phil.

if you're interested in using visual basic for serial port communication try this: http://www.control.com/1026198113/index_html