analog Encoder in Matlab and arduino

8 views (last 30 days)
I have an encoder which it's channels are analog require, I mean these channels must be connected to the analog pins of the arduino board so, for reading this encoder I have a problem in Matlab, I know that there is a library for encoders in the Matlab and it should be written as:
but, as I said my encoder channels must be connected to the analog pins and I write this code:
and it could not be accepted and it shows an error that these pins are not correct for rotary encoder library
my question is how I could read my analog encoder pulses?

Accepted Answer

Madhu Govindarajan
Madhu Govindarajan on 18 Jan 2019
Just go ahead and connect the encoder outs to digital pins that you have access to. Then use rotaryEncoder function on those digital pins while spinning the encoder by hand and use readCount to see if it shows results appropriately.
This should work just fine.

Sign in to comment.

More Answers (1)

Madhu Govindarajan
Madhu Govindarajan on 17 Jan 2019
The rotaryEncoder function is only going to work with quadrature encoders as noted in the documentation.
It seems to me like that analog encoders are usually potentiometers that have some sort of linear relationship between output voltage and degrees moved. You willl need to read the tech specification sheet or do your own testing to understand what the analog output voltages means with regards to the degree of the shaft. You can use the readVoltage function in MATLAB to bring in the voltages and establish the relationship.
Best bet for more help from community users - share existing arduino code to bring in data from this encoder or the spec sheet of the encoder itself.
john white
john white on 18 Jan 2019
I have the data sheet of the encoder, I attached it

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by