# gk2020 **Repository Path**: StoneTeleM/gk2020 ## Basic Information - **Project Name**: gk2020 - **Description**: scripts,design markdown,etc of Gong Ke 2020 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2020-09-30 - **Last Updated**: 2022-08-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [toc] #### 最后更新:2020-12-14 ### change log ##### 2020-12-14 - 对各个模块增加了更为具体的描述和补充。 ##### 2020-11-22 - 在新机上不再需要修改settings.py文件来配置目录了,故删去相关内容 ## 项目简介 项目中包含几个作为代码库开发的子模块,如communication和visual、相互独立,但用到这些模块的应用,如experiments和debug_tools,以及最终的应用程序robot。 这些模块之间是平级的关系,因此若要相互调用,则需要将对方的目录加入到搜索路径,即sys.path中。这一点通过各应用下的settings.py自动实现,若要了解原理,请参阅/robot/settings.py。 下面是各部件的简介。 ### robot 最终比赛时运行的代码。 ### communication 封装了一个自定义的通信协议,详见该目录下的readme.md。 ### debug_tools 一些用来辅助开发的小工具。 - visual_pid.py 设计来将MCU通过串口传来的pid数据绘制成 y-t 图形的脚本。 - speak_ip 在树莓派上将该脚本设为开机自动运行,则开机后树莓派会自动说出ip地址(需要接音箱或耳机)。 ### experiments 有很多功能都需要学习新的技术,在把这些技术应用到最终项目之前,先通过一些试验熟悉使用方法。 ### resources 要用到的视频、图片等资源,为避免git仓库占用空间过大,将这些资源另存网盘。 网盘链接: - 百度网盘:GK2020/design/resources目录,链接:https://pan.baidu.com/s/1YRfXUaaCtVLIwHzWCj0CxQ 提取码:2wgp - worktile网盘:貌似不能向外部分享,需要的话直接联系老队员索要吧。 - 项目U盘:这次比赛的所有资料在赛后都整理好,封存在专用的项目U盘里了(一个U盘一个项目),所有文件都可以直接从U盘拷。 ### visual 一些自主编写的可视化工具库。 - [pygame_scope ]([pygame_scope: 项目源于《微机控制原理》的课设,用820空心杯电机、桨叶和光敏电阻做了一个很简单的pwm调速和测速电路,入门PID。虽说所有功能用一块Arduino就足以解决了,但为了体现一下"计算机控制"的主题,把PID的逻辑放到上位机用Python实现。同时我也想看一下各个参数的波形,这时,转速由单片机传回,而PID控制信号由上位机产生,单纯用串口助手不能绘制来自上位机的数据。于是我就试着自己写了一个,最开始试过matplotlib和OpenCV,但是做不到实时显示(有十几秒的延迟),最后尝试pygame,才终于能够实时了。本来没打算维护的,所以只是放网盘备份,但是后来应老师的要求,准备增加x-y显示的功能,为了方便管理,遂决定新建一个仓库来维护。 (gitee.com)](https://gitee.com/StoneTeleM/pygame_scope/))库如其名,一个基于pygame的示波器,支持显示一个x-y图形和多路y-t图形。 ### settings.py 在一些目录下会发现settings.py文件,该文件除了保存一些常量作为配置之外,主要的目的还是构造目录,从而可以导入项目中平级的python包。主要的目录设置都写在/robot/settings.py里了,其他包中的settings.py除了必要的目录构造之外,其余目录均导入自/robot/settings.py。