Arduino Encoder Application with Simulink Problem

9 views (last 30 days)
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?

Accepted Answer

J Chen
J Chen on 2 Mar 2020
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 Comments
Berke Ogulcan Parlak
Berke Ogulcan Parlak on 11 Mar 2020
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!

Sign in to comment.

More Answers (0)

Categories

Find more on Arduino Hardware in Help Center and File Exchange

Tags

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!