我有以下问题:
大局:通过broswer控制步进电机。步进电机通过debian连接到Fox Board上。在主板上运行着一台apache the服务器。
我有一个HTML网站与表单,其中用户输入电机的参数。submit按钮启动一个python脚本,该脚本执行与电机的通信。引擎将一些数据传递给python脚本。脚本在iframe中将此信息发送回HTML页面。
web page with form -->
parameters input by user -->
submit -->
python script is started -->
motor does s
树莓Pi初学者
我正在编写图形用户界面应用程序(使用PyQt5)来控制直流电机。到目前为止,我能够控制我的电机通过电机驱动器和改变它的速度在终端(使用脉宽调制)。
当我想在我的图形用户界面应用程序中使用我的电机控制器代码时,问题就出现了,因为当我运行电机运动函数时,我的time.sleep(x)停止了整个GUI应用程序,所以我不能改变电机的速度。
我发现线程可能会拯救我的问题,但我不知道如何在线程运行时修改速度。
这是我运行马达的代码:
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
# set pins as outp
假设我有两个函数:
def moveMotorToPosition(position,velocity)
#moves motor to a particular position
#does not terminate until motor is at that position
和
def getMotorPosition()
#retrieves the motor position at any point in time
在实践中,我希望能够让电机来回振荡(通过一个循环调用moveMotorToPosition两次;一次是正位置,另一次是负位置)
当“控
我尝试用使用协议的程序控制步进电机(见下文)我可以用Accelstepper (见下文)控制步进电机,但不知道如何对Arduino进行编程,使其能够通过串行端口按照协议进行通信。
#include <AccelStepper.h>
// Define a stepper and the pins it will use
AccelStepper stepper(1, 3, 4);
int pos = 8192;
void setup()
{
stepper.setMaxSpeed(5000);
stepper.setAcceleration(1500);
}