各位朋友们,小编在这里要分享,python怎么控制其他程序 python控制速度代码,让我们开始吧!
(树莓派小车、树莓派+Python+LN298操控小车)
一、Python代码获取键盘实时键位
二、树莓派自带GPIO控制电机
大功告成!编写不易,大家成功后点个关注or赞谢谢~~
一、Python代码获取键盘实时键位
首先需要调用的几个库----tty,sys,select,termios
在py文件中定义一个获取键位的函数:
#可以自己先试试这个代码,可以直接获取到key值
import tty,sys,select,termios
def getKey(settings):
tty.setraw(sys.stdin.fileno())
rlist = select.select([sys.stdin],[],[],0.1)
if rlist:
key = (1)
else:
key = ""
termios.tcsetattr(sys.stdin,termios.TCSADRAIN,settings)
return key
二、树莓派自带GPIO控制电机
接下来利用树莓派自带的 库来直接通过引脚输出信号
此处我是直接定义的最简单的操控两个电机运行,只给高低电压python网页编程 登录界面,python登录网页账号密码。没有使用PWM调速
# -*- coding: utf-8 -*- #通过声明可以在程序中书写中文
import as GPIO #引入库函数命名为GPIO
import tty,sys,select,termios
def getKey(settings):
tty.setraw(sys.stdin.fileno())
rlist = select.select([sys.stdin],[],[],0.1)
if rlist:
key = (1)
else:
key = ""
termios.tcsetattr(sys.stdin,termios.TCSADRAIN,settings)
return key
# BOARD编号方式,基于插座引脚编号
GPIO.setmode(GPIO.BOARD) #将GPIO编程方式设置为BOARD模式
#接口定义,注意对照树莓派的引脚图
INT1 = 11
INT2 = 12
INT3 = 13
INT4 = 15
#输出模式
GPIO.setup(INT1,)
GPIO.setup(INT2,)
GPIO.setup(INT3,)
GPIO.setup(INT4,)
#前进
def Forward():
GPIO.output(INT1,)
GPIO.output(INT2,)
GPIO.output(INT3,)
GPIO.output(INT4,)
#后退
def Back():
GPIO.output(INT1,)
GPIO.output(INT2,)
GPIO.output(INT3,)
GPIO.output(INT4,)
#右转
def Right():
GPIO.output(INT1,)
GPIO.output(INT2,)
GPIO.output(INT3,)
GPIO.output(INT4,)
#左转
def Left():
GPIO.output(INT1,)
GPIO.output(INT2,)
GPIO.output(INT3,)
GPIO.output(INT4,)
#停止
def Stop():
GPIO.output(INT1,)
GPIO.output(INT2,)
GPIO.output(INT3,)
GPIO.output(INT4,)
while(1):
setting = termios.tcgetattr(sys.stdin)
InPut = getKey(setting)
if InPut == "w":
Forward()
elif InPut == "s":
Stop()
elif InPut == "x":
Back()
elif InPut == "a":
Left()
elif InPut == "d":
Right()
else:
print("Input Error,Please give a true index!!")
break
树莓派引脚图如下:
注意:这个地方插引脚的时候要看灰色的数字口,不是看GPIO多少.比如代码中定义的11,12端口,那么对应图中的引脚的话就是GPIO17和GPIO18.
大功告成!编写不易,大家成功后点个关注or赞谢谢~~
原文地址1:https://blog.csdn.net/Callme_TeacherPi/article/details/124228502
参考资料:python中用turtle画一个圆形 https://blog.csdn.net/SXIAOYAN_/article/details/140061099