一、功能简介
项目名:智能台球比赛的计分与裁判系统设计
项目编号:dz-1093
单片机类型:STM32F103C8T6
具体功能:
1、可通过按键切换击球人
2、通过红外避障管检测是否有小球进袋,如果有则通过颜色传感器检测当前进球的颜色(用红球和黑球模拟,红球1分,黑球7分)
3、通过时钟模块获取时间,可按键修正时间
4、通过按键按下结束比赛,并播报比分、切换模式(斯诺克模式和黑8模式)
5、通过OLED显示时间、比赛人员名字、比分、模式
二、系统框图设计
绘制软件:VISIO
此次设计是基于STM32F103C8T6单片机的智能台球比赛的计分与裁判系统设计该设计主要可以分为三部分:输入、输出和中控。中控部分采用STM32F103C8T6单片机作为主控芯片,主要是对输入进行处理然后控制输出;
输入又可以分为五部分:第一部分红外避障检测模块,通过红外避障管检测是否有小球进袋;第二部分是颜色检测模块,通过颜色传感器检测当前进球的颜色;第三部分是DS1302时钟模块,通过此模块可以获取当前的时间,纽扣电池进行掉电保存;第四部分是独立按键,通过按键模块可以进行设置当前的时分秒、切换人员击打台球以及比赛的开始和暂停; 第五部分是供电电路,主要是用来对整个系统进行供电;
输出主要可以分为两个部分:第一部分为显示部分,显示当前时间、击打台球的人员、两者的比分以及比赛的开始和暂停,以及当前击球的模式;第二部分是语音播报模块:当比赛结束时进行播报当前的分数;
三、32实物图
单片机型号:STM32F103C8T6
板子为绿色PCB板,两层板,厚度1.2,上下覆铜接地。元器件基本上为插针式,个别降压芯片会使用贴片式。
供电接口:TYPE-C
四、原理图
软件版本:AD2013
电路连线方式:网络标号连线方式
注意:原理图只是画出了模块的引脚图,而并不是模块的内部结构原理图
五、PCB图
由原理图导出,封装很大一部分都是作者自己绘制,不提供封装库,只提供连接好的源文件。中间有一个项目编号,隐藏在单片机底座下,插入单片机后不会看到。
两层板,上下覆铜接地。
六、部分程序展示
软件版本:keil5
逻辑程序和驱动程序分开,分布于main.c和其他.c文件
///********************************** //函数名:处理函数 //传参值:无 //返回值:无 //**********************************/ void Manage_Function(void) { if(display_num == 0) //测量界面 { if(flag_bisai == 1) //当比赛开始 { flag_bb = 0; if(flag_mode == 0) //斯诺克模式下 { if(flag_people == 0) //小甲击球回合 { if(HWBZ == 0 && flag_red == 1) //当红外避障触发同时颜色检测为红色 { flag_jiafen ++; //小甲+1分 flag_red = 0; }