本帖最后由 gada888 于 2024-10-13 14:58 编辑
python由于有更大的延展性,丰富的AI套件库。因此在AI领域拥有着比其他语言,如C语言压倒性的优势。如果执行效率更近一步提升的话。那会成为控制硬件的语言首选,所以学会用python控制硬件可以认为是大势所趋。
Tkinter模块是Python的标准的GUI工具包.
此外,tkinter.tix提供了更丰富的窗口组件。
在Tk接口的附加模块中,Tkinter包含了一些Python模块,保存在标准库的一个子目录里,称为 tkinter。tkinter可以制作窗体,相当于提供了前端给用户来做互动。很适合触控屏幕的用户操作。
今天用到两个重要的模块,一个是Tkinter自己,另一个叫做tk-tools,后者把窗体的功能更加具象化,从而方便我们开发互动性更强的项目。
此外,Tkinter项目可以方便的部署在行空板这种可以方便移动的设备上。为小型商品展示更好的呈现。
所有必要的解释的在视频里了。我想没有比看视频更快的学习方式了。于是做了代码部分完整的解释。
完整的视频教程如下:
窗体显示效果。用来开关LED灯。
编程环境是友好的Mind+。
我们这mind+里选择python模式
建立一个111.py的文件
在库管理中选择安装必要的运行库。如pinpong库,tkinter库等
下面是代码
- '''
- This sketch is made by gada888 for Educational porpose
- This is a demo sketch of a series tutorials
- '''
-
- import time
- from pinpong.board import Board,Pin
- import tkinter
- import tk_tools
-
- Board("uno","COM3").begin() #windows下指定端口初始化
-
- light = Pin(Pin.D6, Pin.OUT) #引脚初始化为电平输出
-
- #函数呼叫开灯
- def led_on():
- light.write_digital(1)
- led.to_red(True) #反光红色
- button_on.config(state = "disabled") #断开
- button_off.config(state = "normal") # 启用
-
- #函数呼叫关灯
- def led_off():
- light.write_digital(0)
- led.to_grey() #反光灰色
- button_off.config(state = "disabled") #断开
- button_on.config(state = "normal") #启用
-
- #函数呼叫关窗体
- def close_window():
- #Arduino.close() #断开串口连接
- window.destroy() #断开窗口
-
- # MAIN
- window = tkinter.Tk() #创建tk窗口
- window.title("Led Control") #名称
- window.configure(background="grey") #设置背景颜色
- #创建按钮
- button_on = tkinter.Button(window, text="开",
- font= ('Verdana',55), padx=50, pady =20,
- bg="red",fg="blue",
- command = led_on)
-
- button_off = tkinter.Button(window, text="关",
- font=('Verdana',55), padx=50, pady =20,
- bg="yellow",fg="blue",
- command = led_off)
-
- button_exit = tkinter.Button(window, text="退出",
- font=('Verdana',26),
- padx=130, pady =20,
- command = close_window)
-
- #按钮设定
- button_on.grid(row=1,column=1)
- button_off.grid(row=1,column=2)
- button_off.config(state = "disabled")
- button_exit.grid(row=2,column=1, columnspan =2)
-
- #用窗体工具写互动窗口
- led = tk_tools.Led(window, size=200)
- led.to_grey()
- led.grid(row=0,column=1, columnspan =2)
-
- #跳出循环
- window.mainloop()
复制代码
下面是arduino UNO 连线图,D6接LED
|