用Python Tkinter控制arduino UNO

2024-10-119596
AI 快速预览详细 收起
本文介绍了如何使用Python Tkinter模块控制Arduino UNO,实现LED灯的开关。通过Mind+编程环境,用户可以轻松上手并进行互动编程。文章提供了详细的代码和连线图,适合初学者和教育场景。


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, 下载次数: 2306

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -