Call python stepper motor code to Matlab with Raspberry Pi
9 views (last 30 days)
This is a python code for a stepper motor with raspberry pi. I am trying to call this python code to Matlab but nothing is really happening. Using a def function and system command did not work. I want Matlab to call python to make the stepper motor rotate but I did get an error. What should I do?
# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
# SPDX-License-Identifier: MIT
"""Simple test for using adafruit_motorkit with a stepper motor"""
from adafruit_motorkit import MotorKit
kit = MotorKit(i2c=board.I2C())
#Number of times the shaft rotates and pauses (same as number of pictures)
for y in range (67):
#Input for range multiplied by 1.8 (step size) is amount of rotation (degrees)
for x in range(3):
#Moves the motor a single step (1.8 degrees)
#Time between adjacent steps (seconds)
#Time for image capture (seconds)
Prasanth Sunkara on 25 Mar 2021
Edited: Prasanth Sunkara on 25 Mar 2021
"system" function when called without passing "raspi" object will run the command on host PC on which the MATLAB is currently running.
What you need in this case is to make system command execute on Pi.
Alternatively, you can do the same thing python script is doing from MATLAB(or Simulink) support package for Raspberry Pi. The support package has MATLAB function/ Simulink blocks to work with servos, GPIOs, Audio, Video and other peripherals.
Hope it helps!
Asvin Kumar on 18 Mar 2021
Edited: Asvin Kumar on 18 Mar 2021
This is not a MATLAB error. The output that you're seeing comes from the system. Refer doc page for system command's output.
This is likely caused because you don't have the 'board' python library installed. Are you sure the program 'StepperMATLABTest.py' works when called from Python?