2024-10-11 17:59:54 [显示全部楼层]
5018浏览
查看: 5018|回复: 0

用Python Tkinter控制arduino UNO

[复制链接]
本帖最后由 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灯。
用Python Tkinter控制arduino UNO图1

编程环境是友好的Mind+。
用Python Tkinter控制arduino UNO图2我们这mind+里选择python模式
用Python Tkinter控制arduino UNO图4
建立一个111.py的文件
用Python Tkinter控制arduino UNO图5
在库管理中选择安装必要的运行库。如pinpong库,tkinter库等
用Python Tkinter控制arduino UNO图6
下面是代码
  1. '''
  2. This sketch is made by gada888 for Educational porpose
  3. This is a demo sketch of a series tutorials
  4. '''
  5. import time
  6. from pinpong.board import Board,Pin
  7. import tkinter
  8. import tk_tools
  9. Board("uno","COM3").begin() #windows下指定端口初始化
  10. light = Pin(Pin.D6, Pin.OUT) #引脚初始化为电平输出
  11. #函数呼叫开灯
  12. def led_on():
  13.     light.write_digital(1)
  14.     led.to_red(True)  #反光红色
  15.     button_on.config(state = "disabled") #断开
  16.     button_off.config(state = "normal") # 启用
  17. #函数呼叫关灯
  18. def led_off():
  19.     light.write_digital(0)
  20.     led.to_grey() #反光灰色
  21.     button_off.config(state = "disabled") #断开
  22.     button_on.config(state = "normal") #启用
  23. #函数呼叫关窗体
  24. def close_window():
  25.     #Arduino.close() #断开串口连接
  26.     window.destroy() #断开窗口
  27.    
  28. # MAIN
  29. window = tkinter.Tk() #创建tk窗口
  30. window.title("Led Control") #名称
  31. window.configure(background="grey") #设置背景颜色
  32. #创建按钮
  33. button_on = tkinter.Button(window, text="开",
  34.                            font= ('Verdana',55), padx=50, pady =20,
  35.                            bg="red",fg="blue",
  36.                            command = led_on)
  37. button_off = tkinter.Button(window, text="关",
  38.                             font=('Verdana',55), padx=50, pady =20,
  39.                             bg="yellow",fg="blue",
  40.                             command = led_off)
  41. button_exit = tkinter.Button(window, text="退出",
  42.                              font=('Verdana',26),
  43.                              padx=130, pady =20,
  44.                              command = close_window)
  45. #按钮设定
  46. button_on.grid(row=1,column=1)
  47. button_off.grid(row=1,column=2)
  48. button_off.config(state = "disabled")
  49. button_exit.grid(row=2,column=1, columnspan =2)
  50. #用窗体工具写互动窗口
  51. led = tk_tools.Led(window, size=200)
  52. led.to_grey()
  53. led.grid(row=0,column=1, columnspan =2)
  54.    
  55. #跳出循环
  56. window.mainloop()
复制代码


下面是arduino UNO 连线图,D6接LED
用Python Tkinter控制arduino UNO图3




btn.rar

956 Bytes, 下载次数: 25

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail