Racing a Honda CBR 1000 engined car

I have assisted in the build of a Westfield car fitted with an engine from a Honda CBR1000.

I would like to use the Arduino UNO to do the following:

(1) Indicate the gear it's in, on a large 7 segment LED single digit display.

The Honda gearbox has a built in series of switches corresponding to gears 1-6 and Neutral. The swiches are not the momentary type.

(2) Indicate when the driver needs to shift up, at a specific engine RPM. The simplest indication would be to have the display flash.

I simply don't have the experience or the time to learn the ways of the Arduino to have the device ready for the racing season (second round of the championship is this weekend).

Is anyone in a position to write the code for me.

...to have the device ready for the racing season (second round of the championship is this weekend).

:smiley: :smiley: :smiley: That's pretty funny! :smiley: :smiley: :smiley: Your asking for something that as to be custom designed and custom built.

Other than the time crunch, that sounds like a fairly easy project if there's an easy way to get RPM. And, it sounds like a great Arduino project.

Imagine if you were asking someone to build a custom seat for your car, from scratch. It's not rocket science, but it's not a 2-hour job either...

If someone had all of the parts and they were intimately familiar with your car... Maybe it coule be done in time.

Is anyone in a position to write the code for me.

The BIG problem is, they need all of the hardware, ideally including the car. Without access to the car there would probably be a few back-and-forth shipments of prototype/breadboard assemblies.

You might find someone who's willing to do it for you, but this is mostly a hobbyist community where members try to help others with their projects.... There's sort-of a culture of not doing other people's work for them.

And, this is probably a day or two of work.* You probably have an idea of what it costs to have someone do 8-16 hours of work on your car, and you probably have an idea of how much more it costs when you're in a rush.

  • It probably could be breadboarded in a couple of hours, but the hours add-up when you're finalizing, de-bugging, tweaking, and wrapping-up a design.

I have in the past couple of days purchased the Arduino, a sheet of Vero board, current limiting resistors, An LED display.
I have since built a display that will display the digits 0 to 6 in a loop.
When I attempted to control the display by introducing 7 switches I got lost. I'm trying to run before I can walk.
I gave myself a break and looked at the engine rpm.
Who am I kidding I need to learn a new language.
If I am being fair to myself I could manage the construction, the software is not going to be something I will be able to master quickly.
If anyone would like to help, perhaps a retired old bugger much like myself.

If you do a forum search for gear indicator, there are quite a few threads dealing with this subject.

Post the code you have that does the 0-6. Also, how are the gearbox switches set up - do you have the ability yet to read them?

Is there real money hanging on this or is it just for fun? Are you going to lose a race and a sponsor if the gear indicator goes black on the first practice lap?

The automotive environment is exceptionally harsh on electronics. A basic 12V system can get spikes of more than 36V and less than negative 24V. That's normal operation, not even considering any maintenance errors like connecting it backwards. Any gear indicator you buy off-the-shelf is likely to have these kinds of protections built in.

But it's still a fun Arduino project. You will learn a lot.

Thanks to those who have taken an interest. The project is for fun if you have similar interests, namely club level motor racing.
The project if made to work, would be a one off. I should point out that there are devices on the market that do a very good job except, they are relatively slow to update the display. When the clutch is operated the display is not updated until the drive is re-instated. You would be right if you had figured out that the unit relies on the relationship between the engine rpm and the road speed.
No sponsors to lose, never won a race.
The automotive environment is harsh, a battery or perhaps a 12v dc to 5v dc power supply.
The gearbox switches ground when operated (NO)
There is a ready supplied 5v square wave pulse for the engine RPM.
I will post my basic code as soon as, as soon as I have worked out how.

//  digitalWrite(A, HIGH) = turn off the "A" segment in the LED display
//  digitalWrite(B, LOW)  = turn on the "B" segment in the LED display

//*/

#define A 8
#define B 9
#define C 2
#define D 3
#define E 4
#define F 5
#define G 6
#define h 7



void clr()
{
  //Clears the LED
  digitalWrite(A, HIGH);
  digitalWrite(B, HIGH);
  digitalWrite(C, HIGH);
  digitalWrite(D, HIGH);
  digitalWrite(E, HIGH);
  digitalWrite(F, HIGH);
  digitalWrite(G, HIGH);

}




void one()
{
  //Displays 1
  digitalWrite(D, HIGH);
  digitalWrite(E, LOW);
  digitalWrite(F, LOW);
  digitalWrite(G, HIGH);
  digitalWrite(A, HIGH);
  digitalWrite(B, HIGH);
  digitalWrite(C, HIGH);
}

void two()
{
  //Displays 2
  digitalWrite(D, LOW);
  digitalWrite(E, LOW);
  digitalWrite(F, HIGH);
  digitalWrite(G, LOW);
  digitalWrite(A, LOW);
  digitalWrite(B, LOW);
  digitalWrite(C, HIGH);
}

void three()
{
  //Displays 3
  digitalWrite(D, LOW);
  digitalWrite(E, HIGH);
  digitalWrite(F, HIGH);
  digitalWrite(G, LOW);
  digitalWrite(A, LOW);
  digitalWrite(B, LOW);
  digitalWrite(C, LOW);
}

void four()
{
  //Displays 4
  digitalWrite(D, HIGH);
  digitalWrite(E, HIGH);
  digitalWrite(F, LOW);
  digitalWrite(G, LOW);
  digitalWrite(A, HIGH);
  digitalWrite(B, LOW);
  digitalWrite(C, LOW);
}

void five()
{
  //Displays 5
  digitalWrite(D, LOW);
  digitalWrite(E, HIGH);
  digitalWrite(F, LOW);
  digitalWrite(G, LOW);
  digitalWrite(A, LOW);
  digitalWrite(B, HIGH);
  digitalWrite(C, LOW);
}

void six()
{
  //Displays 6
  digitalWrite(D, LOW);
  digitalWrite(E, LOW);
  digitalWrite(F, LOW);
  digitalWrite(G, LOW);
  digitalWrite(A, LOW);
  digitalWrite(B, HIGH);
  digitalWrite(C, LOW);
}

void zero()
{
  //Displays 0
  digitalWrite(D, LOW);
  digitalWrite(E, LOW);
  digitalWrite(F, LOW);
  digitalWrite(G, HIGH);
  digitalWrite(A, LOW);
  digitalWrite(B, LOW);
  digitalWrite(C, LOW);
}

void LoopDisplay()
{
  //Loop through all Chars and Numbers

  one();
  delay(1000);
  two();
  delay(1000);
  three();
  delay(1000);
  four();
  delay(1000);
  five();
  delay(1000);
  six();
  delay(1000);
  zero();
  delay(1000);
}

void setup()

//Setup our pins

{pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(E, OUTPUT);
pinMode(F, OUTPUT);
pinMode(G, OUTPUT);
Serial.begin(9600);  //Begin serial communcation

}

void loop()

{Serial.println("Starting\n");
LoopDisplay();

}

Hi

For what it's worth I have created the same thing for my R1 powered classic mini. My gear position indicator uses a couple of magnetic read switches on the shifter for up/down but could easily be adapted. The gear is displayed on an OLED mounted inside a Smiths gauge. Here is a video of it in operation;

Gear Indicator

I am happy to share code and ideas.

Also for the rev gauge you might want to check out "Chippernut" project which is programmable rev gague using neopixels. Again, I am adding this to my mini and here is a video of my prototype.

Rev Gauge

Hope this helps

Luke.

The original idea was to have a large display indicating the gear and have it flash all seven segments. One of the criticisms of the off the shelf products is the size of the display. Large LED displays are cheaply available and are bright enough to attract the drivers attention.
I will persevere with the idea, for now.

Thanks,