Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 带有arduino和TKinter的Pyserial无法打开我的GUI_Python_Arduino - Fatal编程技术网

Python 带有arduino和TKinter的Pyserial无法打开我的GUI

Python 带有arduino和TKinter的Pyserial无法打开我的GUI,python,arduino,Python,Arduino,我正试图用IRsensor计算arduino中一台电机的转速,并使用Python构建我的GUI,在这里它应该显示arduino给出的转速值,并输入一个改变该电机转速的值。我的第一个问题是GUI无法打开,我总是会遇到相同的错误: could not open port 'COM3': PermissionError(13, 'Access is denied.', None, 5) 我的另一个问题是如何在Python GUI上不断显示RPM的值。换句话说,我需要不断地从python向arduin

我正试图用IRsensor计算arduino中一台电机的转速,并使用Python构建我的GUI,在这里它应该显示arduino给出的转速值,并输入一个改变该电机转速的值。我的第一个问题是GUI无法打开,我总是会遇到相同的错误:

could not open port 'COM3': PermissionError(13, 'Access is denied.', None, 5)
我的另一个问题是如何在Python GUI上不断显示RPM的值。换句话说,我需要不断地从python向arduino读取和发送值,但我对python非常陌生,所以我似乎无法做到这一点

阿杜伊诺

float rev=0;
无符号整数rpm;
int oldtime=0;
整数时间;
int-rpmd=0;
int PWM=6;
int spd=0;
void isr()//中断服务例程
{
rev++;
}
无效设置()
{
Serial.begin(9600);
连接中断(数字插针中断(2)、isr、坠落);
引脚模式(PWM,输出);
//Serial.println(“发送一个介于1和255之间的值”);
}
void循环()
{
如果(Serial.available()>1){
spd=Serial.parseInt();
//串行打印(“将速度设置为:”);
//序列号println(spd);
模拟写入(PWM、spd);
//Serial.println(“完成!”);
}
延迟(1000);
detachInterrupt(digitalPinToInterrupt(2));//分离中断
time=millis()-oldtime;//查找时间
rpm=(转速/时间)*60000;//计算rpm
oldtime=millis();//保存当前时间
rev=0;
串行打印LN(rpm);
连接中断(数字插针中断(2)、isr、坠落);
}
蟒蛇

将numpy导入为np
从scipy导入信号作为sp
从tkinter进口*
导入matplotlib
从matplotlib.backends.backend_tkagg导入图CAVASTKAGG
从matplotlib.figure导入图形
从matplotlib导入pyplot作为plt
导入序列号
导入时间
#拉伊兹
R=Tk()
R.title(‘Arduino-Python’)
R.configure(后台='grey63',padx=10,pady=10)
#R.state('缩放')
#ETIQUETAS标签
L1=标签(R,text=“Valor RPM Deseado(最大10k)”)
L1.配置(背景为“白色”,宽度为25)
L1.网格(行=0,列=0,padx=(100100),pady=(100100),)
L2=标签(R,text=“RPM”)
L2.配置(背景为“白色”,宽度为17)
网格(行=1,列=0,padx=(100100),pady=(100100),)
L3=标签(R,text=“?”)
L3.配置(背景='grey63',宽度=17)
网格(行=1,列=1,padx=(100100),pady=(100100),)
#卡哈斯德克托酒店
EF=入口(R)
配置(背景为“白色”,宽度为25)
网格(行=0,列=1,padx=(100100),pady=(100100))
EF.config(宽度=10)
E2=入口(R)
E2.配置(背景为“白色”,宽度为25)
网格(行=0,列=1,padx=(100100),pady=(100100))
E2.config(宽度=10)
def Comm():
全球环境足迹
arduino=serial.serial('COM3',9600)
#L3.config(text=“:D”)
arduino.write(str(EF))
arduino.close()
#波顿受体
btn=按钮(R,text=“设置速度”,命令=Comm,宽度=25)
#btn=按钮(R,text=“设置速度”,命令=R.destroy,宽度=25)
网格(行=0,列=3,padx=(100100),pady=(100100))
arduino=serial.serial('COM3',9600)
rawString=arduino.readline().decode(“utf-8”).strip('\n').strip('\r'))
#打印(原始字符串)
L3.config(text=rawString)
R.之后(0,通信)
R.mainloop()

其他东西的COM端口仍处于打开状态。你有Arduino串行监视器运行吗?没有。我关闭了它,但IDE仍然打开。试着将USB电缆与Arduino分离。