what input pin is it using?

Joes:
how can i test to see if it is a mvr sensor?

If it's an MVR sensor then the sensor will be slightly magnetic and it will produce a weak alternating electrical signal when ferrous material is moved towards and away from it. The magnitude of the signal is determined by the speed of the movement. This type of sensor is commonly used to detect the position of an iron/steel toothed wheel.

Hall effect sensors are not magnetic but require a magnet in the part being sensed.

this sensor is very magnetic on the end so might be, is that easy to be used with the arduino or am i better off getting a hall sensor ?

i thought it must be a hall sensor as a lot of the cars had a hall sensor looking at a steel trigger wheel for the engine rpm, so i thought these might be the same but obviously not

Joes:
a lot of the cars had a hall sensor looking at a steel trigger wheel for the engine rpm, so i thought these might be the same

They probably are the same, but those other cars you're thinking of aren't using Hall effect sensors either.

You need to measure the voltage level over the range of speeds you need to support when the sensor is installed. You will almost certainly need to do some signal conditioning to take your variable voltage incoming signal and clean it up to a square wave.

so i will be easier to put some hall sensor on it like in link then?

It could be as simple as a magnet in a coil. When a gear tooth passes close across the axis of the coil it will induce current in the gear tooth (eddy current) and the coil, the latter which can be picked up as a pulse with strength in proportion to the speed of the gear tooth. Such a sensor would not be affected by dirt or wet the way an light and sensor would. Unlike a Hall sensor, it would not require any magnets placed on the turning wheel.

If it is, don't try feeding it directly to Arduino until you know what directions make +V and -V.

Why buy when you already have something that must work or the car won't?
Can you get a part # on the sensor? Maybe it would be in a shop manual for the vehicle.

ahh yes there is a pos and neg symbol just above the pins on the sensor that would explain why they are there so how do i intergrate that with the arduino?

trying to find out information about it is near enough impossible ans manufacturers keep that information to themselves

Joes:
so i will be easier to put some hall sensor on it like in link then?

I would have said that an MVR sensor is the best one for the job - that's why they are so commonly used for this. But you need to cope with the fact that the amplitude of the output signal varies with speed, so you need to apply some conditioning before you can pass it to your input pin.

i just looked on my altodata and that says 60rpm 65 mV ac min
does that mean much to you or any help?

We can Google a part number.

Joes:
ahh yes there is a pos and neg symbol just above the pins on the sensor that would explain why they are there so how do i intergrate that with the arduino?

trying to find out information about it is near enough impossible ans manufacturers keep that information to themselves

That would be in a repair manual even if it's just a company number.

There's a + and a -. Any other pins? The thing could be a package with built-in amplifier for all I know. But 60 rpm 65 mV AC... they wouldn't feed it AC yet + and - pins don't sound AC to me.

How about the make, model and year of the vehicle? There are automotive forums where the answer may be found as well.

no part numbers on it just have 2 pin's on it. it is only a very little thing so i dont imagine there is much in it. i am extremely tempted to say sod it and just purchase some after market hall sensors as the car is an early 1980's car and everything mechanical in the car is from an 08 plate vehicle so me fitting those sensors is broad as it is long to fit either or, probably easier to fit the after market ones as i havent got to try and find trigger wheels to fit the cv joints and drill out hub carriers to fit them. at least with the hall sensor i can just get it to look at the bolk heads on the inner cv joint.

You could try a Hall switch (security type, very cheap, very sensitive and reads digital) and a magnet with a toothed or holed steel/iron wheel between the two. Iron between switch and magnet should suck the field in. I'm just not sure how big a hole you'd need for enough field to get through, depending on the thickness of the wheel and how close the sensor and magnet are.

If you put 1 magnet on a shaft then you will get 1 pulse per turn and the rest of the time nothing. With a fast turning shaft it's probably all you need but otherwise maybe not.

ok thanks i'll have to have a play but now we are back to the original question how can i run 3 hall inputs as i can only have to at mo?

If you -have- to use interrupts then 2 of them can be level change interrupts.

I keep trying to get you to get sensors working so you can tell if you -need- to use interrupts at all.
Chances are that you don't. Chances are that you could catch the HIGHs a few times in a row as each magnet/gear tooth passes each sensor. But you won't know until you get sensors working and until you know it's probably not a great idea to design the sketch.

ok
if im using a hall sensor it is high or low
i no there will be 6 triggers a revolution
we no what short of speeds we are looking at
what else we looking at apart from the mechanical side?

Hall switch operates ON/OFF.

Hall sensor linear type is analog -but- digital read pin triggers ON/OFF when voltage passes the switch points so you can use the linear type either way.

6 triggers per revolution... not 60?
With 60 the triggers per second is same as rpm, with 6 it is rpm/10.

I think that you could get by polling all 3 sensors at once by Port read and process the 3 bits at 10,000, maybe more triggers per second continuous if you don't do heavy processing.

If you don't do continuous reads, say capture and store 100 to 500 reads in an array and then process those while not reading then you could capture higher rates, possibly over 50,000 triggers per second and still sample and control more than 10x a second.

My ultrasonic sensor code has a while loop that does a digital read, unsigned long increment and unsigned long compare that runs just about 1 million times a second. I am being conservative in my estimates above because I can't be sure what your processing entails.

It does occur to me that you could write test programs reading the pins in a loop just to see how fast you can do it --- as long as the data doesn't matter. You can set them INPUT HIGH or pull them down through a 10k or higher (better) resistor or just let them float. Do all the things you would do with real data except run the car, you can get a good idea of what's possible.

Read all the pins at once for best results. Well, using AVR code in the sketch may save more cycles but I'm not the person to say those steps -- I do what I need without.

yes the 60 trigger was with the old sensor i was thinkthing of putting the new sensor somewhere else hence now 6 trigger
here is the code i have at mo:
i no there is delays in it but when they are active the hall will not be being used
i would like to put all what we have been talking about in where it says (auto mod)

#include <AH_EasyDriver.h>

//AH_EasyDriver(int RES, int DIR, int STEP, int MS1, int MS2, int SLP);
AH_EasyDriver stepper(200,2,3,4,5,6);    // init w/o "enable" and "reset" functions


int tempsensor     = A1;
int brack          = 12;
int pump           = 13;
int automanual     = 11;
int overtempled    = 10;

int previous = 0;                       // the previous reading from the analog input
bool DoneInitialization = false;

void setup() {
  stepper.resetDriver();                  // reset driver
  stepper.enableDriver();                 // enable driver 
  stepper.setMicrostepping(3);            // 0 -> Full Step                                
                                          // 1 -> 1/2 microstepping
                                          // 2 -> 1/4 microstepping
                                          // 3 -> 1/8 microstepping
  stepper.setSpeedRPM(50);                // set speed in RPM, rotations per minute
  pinMode(brack      , INPUT) ;           // brack
  pinMode(pump       , OUTPUT);           // hydraulis pump
  pinMode(automanual , INPUT) ;           // auto / manual swicth
  pinMode(overtempled, OUTPUT);           // over temp LED
  delay(4000);
}

void loop() {
                                            // get the sensor value
  int potVal = analogRead(0);
  int stpPos = map(potVal, 0, 1023, 0, 152);
  //                                         ----------------------
  int val = analogRead(tempsensor);          // temp sensor high
  if (val <970) {
    digitalWrite(pump,        HIGH);         // hydraulis pump high
    digitalWrite(overtempled,    LOW);          // over temp LED
    //                                      -----------------------  
    if (digitalRead(brack) == LOW) {        // brack swicth
    if (digitalRead(automanual) == HIGH) {  // auto / manual swicth
    //                                    -------------------------------------------
        if (!DoneInitialization) { 
    stepper.sleepON();                     // set Sleep mode ON
    delay(10000);
        DoneInitialization=true;           // Initialization is done, don't run it again until it has been reset
    } //                                ---------------------------------------------
      stepper.sleepOFF();                  // set Sleep mode OFF
      stepper.rotate(stpPos - previous);

      previous = stpPos;                   // remember the previous value of the sensor
    }
//                                      ---------------------------------------------
  else {                                              // -- AUTO mod -- //
                                                      //----------------//
  }
}
  //                                      ---------------------------------------------------------
  else {                                   // brack swicth when HIGH
      stepper.rotate(-previous);
                                           // reset the previous value to zero
      previous = 0;
  }
 }
  //                                      ---------------------------------------------------------
  else {                                   // temp sensor HIGH
    stepper.rotate(-previous);
    previous = 0;                          // reset the previous value to zero
    DoneInitialization=false;              // resetting the count
    digitalWrite(overtempled,    HIGH);    // over temp LED
    delay(1000);
    stepper.sleepON();                     // set Sleep mode ON
    delay(10000);
    digitalWrite(pump,          LOW);      // hydraulis pump high
    delay(30000);
  }
  //                                     --------------------------------------------      
}

Oh no. You have to use timing based (Real Time) code to get this to work, even using interrupts.
The stepper moves like a glacier compared to Arduino. Loop has to finish very fast to get enough reads per second for... I forget how many rpm but it's for a car wheel.

If you read 10x as often as triggers then you will be sure to catch every one a few times in a row. That lets you be sure you don't get false positives, a good thing.

Also be real careful to debug and test this insanely much before going out on any road. If someone gets hurt there will be lawyers who will do anything to make it your fault. Facts won't matter, they are trained to steer around such trivialities as facts.