Hi, I'm using the Arduino Support Package for Simulink Toolbox. My goal is to make a counter that counts up when it rotates clockwise and counts down when it rotates counterclockwise by using KY-040 Encoder. I can read all values appropriately. (Encoder has 2 output pins, OutA and OutB, and they produce digital signals.) My problem is to take the values I read from the OutA pin and compare them with the new values. Which blocks should I use for this?

 채택된 답변

J Chen
J Chen 2020년 3월 2일

1 개 추천

You can use Simulink Delay block which store you last data. Type delay in the search box in the Simulink Library Browser to locate the block.

댓글 수: 5

Thanks, Chen! Could u give a little example for combination of summation and delay blocks?
J Chen
J Chen 2020년 3월 2일
편집: J Chen 2020년 3월 2일
See the attachment for an example.
Chen, can you export that file in a previous version (2017b) ?. Please.
J Chen
J Chen 2020년 3월 11일
2017b version is attached.
Hi!, Chan. The block diagram works really well with this state. However, when I connect the encoder to the input, the count is delayed. I think this problem occurs because I don't use interrupt. But when I use the external interrupt block, although my encoder is 20 pulse / rev, I read values like 500-600 and it is not stable. Do you have any advice for counting pulses with interrupt? Thank u!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Arduino Hardware에 대해 자세히 알아보기

제품

릴리스

R2019b

태그

Community Treasure Hunt

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

Start Hunting!

Translated by