writeDigitalPin question in matlab

조회 수: 2 (최근 30일)
Sapir Zurist
Sapir Zurist 2021년 3월 14일
댓글: Walter Roberson 2021년 3월 14일
Hi all,
I connected Rapberry PI to Fischertechnik robot model and I have a question about it -
I know that there is the command:
writeDigitalPin(r, 23, 1);
But, the robot have 2 opposite directions that it can be moved to each one of the motors...
So, how can I write in the code which one of the 2 directions I want?
Thank you!!

채택된 답변

Walter Roberson
Walter Roberson 2021년 3월 14일
You cannot. writeDigitalPin() does not support tri-state pins (left, off, right); it only supports binary (off, on) .
Systems with motors often use one of several systems:
  • quadrature encoding; https://cdn.sparkfun.com/datasheets/Robotics/How%20to%20use%20a%20quadrature%20encoder.pdf
  • separate pins for each direction --- this is less common and leads to questions about what should happen if both pins are active at the same time
  • analog signal in which negative indicates opposite direction
  • two bits grouped together that are together interpreted as a binary value that indicates direction number; this leads to questions about what to do with the 4th value. Sometimes two stop states are defined and gray encoding is used: 00 -> stop; 01 -> right; 11 -> stop; 10 -> left
  댓글 수: 3
Image Analyst
Image Analyst 2021년 3월 14일
I doubt he'd know that. I think you'd have to consult the manual for your motor (which we don't have).
Walter Roberson
Walter Roberson 2021년 3월 14일
See the description from line 226 at https://github.com/CodaFi/FTKit/blob/master/fischertechnik/fischertechnik/ftapi.h
Each motor has two controlling outputs 0 to 7 for speed. One output for each direction. For reverse set the first output to 0 and a speed for the second output.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Robotics에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by