使用python编写机械臂上位机时常用库及函数

使用python编写机械臂上位机时常用库及函数,第1张

另一篇:Arduino作机械臂下位机时用到的函数_躺躺我啊的博客-CSDN博客

(一)串口 *** 作 pyserial 1.serial = serial.Serial(‘COM1’, 115200)

        打开COM1并设置波特率为115200,COM1只适用于Windows。

2.serial.open()

        打开串口。

3.serial.isOpen()

        判断当前串口是否已经打开。

4.serial.flushInput()

        清除输入缓冲区数据。

5.serial.Serial(port,baud)

        初始化comm端口对象 如果给出了一个“端口”,那么该端口将立即被打开 否则返回一个处于关闭状态的串口对象

(二)GUI编程 tkinter

1.设置窗口
root = Tk() # 创建根窗口
root.wm_title("mechanical arm controler 0.0") 
root.iconbitmap('icon.ico')             #设置窗口图标
root.resizable(width=True, height=True) #允许更改根窗口大小

sw = root.winfo_screenwidth() #宽度
sh = root.winfo_screenheight()#高度
ww = 1360
wh = 710
x = (sw-ww) / 2
y = (sh-wh) / 2
root.geometry("%dx%d+%d+%d" %(ww,wh,x,y)) #窗口的宽和高
2.定义标签页
nb = tkinter.ttk.Notebook(root, width=1355, height=680)
#Notebook是一个Widget容器控件,该控件有许多选项卡
#选择不同选项卡时可以看到不同的子控件内容,也可以当做子窗口内容
nb.place(x=0, y=0) #位置

tab1 = tkinter.ttk.Frame(nb) #一个Frame就是一个展示单纯的矩形区域的控件
nb.add(tab1, text=' 主控 ')
3.scrollbar滚动条组件及Listbox

        scrollbar(滚动条)用于滚动一些组件的可见范围,根据方向可分为垂直滚动条(scrollBar)和水平滚动条(scrollBarx)。Scrollbar 组件常常被用于实现文本、画布和列表框的滚动。

        Listbox(列表框)组件用于显示一个选择列表。Listbox 只能包含文本项目,并且所有的项目都需要使用相同的字体和颜色。根据组件的配置,用户可以从列表中选择一个或多个选项。

prog=Frame(tab1)      #显示程序区域
prog.place(x=0,y=150) #定义了显示程序区域的位置
scrollbar = Scrollbar(prog)   #垂向滚动条初始化
scrollbar.pack(side=RIGHT, fill=Y) #靠右,充满Y轴
#创建一个空列表
tab.progView = Listbox(progframe,width=110,height=20, yscrollcommand=scrollbar.set)
#当发生事件ListboxSelect,即被选中时,执行progViewselect(),用于显示其行数
tab.progView.bind('<>',progViewselect)
4.config

        用来配置tkinter中控件和字体的样式,比如颜色、大小等。

almStatusLab.config(text="Move A must start with a Beg followed by Mid & End", bg = "red")
(三)字符串为 *** 作对象的函数 1.mystring.write(str)

        通过串行端口输出字符串str。

2.mystring.encode(encoding,errors)

        以encoding指定的编码格式编码字符串,如UTF-8。errors参数可以指定不同的错误处理方案。

(四)numpy

1.numpy.delete(arr,obj,axis=None)

        适用于numpy ndarray数组。但是numpy数组不支持删除数组元素,返回的是删除了某些元素的新数组。

                • arr:输入向量

                • obj:被删除的子向量

                • axis:删除子向量所在轴,若默认,则返回一个被拉平的向量。

(五)其他 1.time.sleep(t)

        按给定的秒数t暂停执行,t可以是浮点数,以指示更精确的睡眠时间。由于任何捕获的信号将在执行该信号的捕获程序之后终止,所以实际的暂停时间可能会小于请求的时间。

time.sleep(.01) #延时0.01s
2.try: except:
try:
    可能产生异常的代码块
except [ (Error1, Error2, ... ) [as e] ]:
    处理异常的代码块1
except [ (Error3, Error4, ... ) [as e] ]:
    处理异常的代码块2
except [Exception]:    #[Exception]可省略
    处理其它异常

        [] 内部分可以使用,也可以省略。try有且仅有一个,但 except 可为多个,且每个 except 都可以同时处理多种异常。

3.open(file, mode='r')

        用于打开一个文件,并返回文件对象。在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。file为文件路径(相对或者绝对路径),mode为文件打开模式(可省略)。

4.pickle.dump(obj, file)

        序列化对象,将对象obj保存到文件file中去。obj表示要保存的对象,file必须有write()接口,file可以是一个以'w'打开的文件或者是一个String对象,也可以是任何可以实现write()接口的对象。

pickle.dump(value,open("ARbot.cal","wb"))
#以二进制格式打开文件ARbot.cal,只用于写入
5.round(x,n)

        返回浮点数x的四舍五入值,n为小数点位数。

J1AngCur = round(J1NegAngLim + (J1StepCur * J1DegPerStep),2) #四舍五入,小数点为2
6.循环结构for-in与range(start, stop, step)

        range创建一个整数列表,一般用在 for 循环中。

                • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);

                • stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5

                • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

        for-in经常用于遍历字符串、列表,元组,字典等。

for i in range(numWayPts+1): #给i赋值为从1到numWayPts+1的数组

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/904507.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-15
下一篇 2022-05-15

发表评论

登录后才能评论

评论列表(0条)

保存