What is this thing ? kind of servomotor ? 3 wires for a mystery ...

Hello Arduino's Gurus !

I'm a real noob with Arduino, just having fun discovering it !
I've recently pick up from an old tape recorder this piece :

This is a 3 cm wide cylinder.
3 wires at its back:

  • green "3"
  • grey "2" with an arrow upwards
  • black "1"

So the big game of the day is :

"What the hell do i have in my hand ? :astonished:"
kind of servomotor ?
Can i plug mister unknow on my Arduino Uno ?

Thanks for playing :slight_smile:
Cheers

Almost impossible to tell. You'll have to grab a multimeter and make some resistance measurements.

Although, looking at the symbol on the back, it is possible that it is a continuous rotation potentiometer - kind of like an early rotary encoder.

Do you know what it was mechanically connected to? It might be sensing position, measuring rotation, doesn't look like a motor but would need to see inside it to really tell..

Where in the recorder did it come from?

Thanks for all the answers !
Can't remember precisely where i took this one.

The idea of an old and basic rotary encoder is the good one !

I manage to plug it and obtain some "0;1;0;1....." for two complete revolution of the wheel !
Not precise at all !
And while i'm turning the wheel slowly, and i stop it where i can feel it's between two step, the numbers are becoming crazy with the never ending 0;1;0;1;0;1 !

So every digging in old devices not brings up gold :slight_smile:
Thanks again for help !

If it's a constant rotation pot then it'll be giving analog values.

Measure the resistance between the green and black. That should be constant, no matter the position of the cog.

Then measure the resistance between the white and green, and turn the wheel. The resistance should change.

Do the same between white and black - the resistance should change - in the opposite way.

With the cog static, the resistance between white & green, and between white & black, should add up to the same as the resistance between green & black.

If that is so, then connect the green to +5V, the black to GND, and the white to A0. Read from A0 to get the position of the cog.

majenko:
If that is so, then connect the green to +5V, the black to GND, and the white to A0. Read from A0 to get the position of the cog.

Perfect, with this code :

/*
  AnalogReadSerial
  Reads an analog input on pin 0, prints the result to the serial monitor.
  Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.
 
 This example code is in the public domain.
 */

// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  int sensorValue = analogRead(A0);
  // print out the value you read:
  Serial.println(sensorValue);
  delay(1);        // delay in between reads for stability
}

All right, now you pick the place where you want me to kiss you :smiley:

So I can use this stuff !
Kind of never ending potentiometer to me !
Or i could it to count how much turns something have done.
From 0 to 1023 with for one complete turn, some glitches after ~ 350 degre to 0, then that start over from 0 to 1023 ...

Muchas gracias !

Yep, you can both count the number of revolutions (one per change from 0->360 or 360->0), and you can measure the exact angle of it as well.

One thing it would be great for is a wind direction sensor. Get the direction of the wind down to <0.5° accuracy.