摘 要
本设计为基于单片机的智能点餐系统。系统分为客户端和商家端,两个控制端均选用单片机作为主控芯片,通过显示模块进行客户下单引导和点餐内容直观显示。利用点单模块实现菜品的选择,在此基础上搭建了无线通信模块,在商家端同样利用显示模块实现了客户点餐数据的远程显示,并且在有新订单的条件下可以通过提醒模块实现智能声光提醒。经过检验,能够满足人们对点餐快速便捷的需求,该设计实现了成本价格控制,具有一定的实用性。
关键词:智能点餐系统;无线NRF24L01通信;单片机控制
1.绪论
1.1 背景与意义
当下很多饭店的点餐主要是依靠服务员来进行的,服务员将菜单传递给顾客,在这一过程之中在旁边服务顾客,在顾客点餐的过程之中记录所点的餐并传送到厨房,厨师根据订单内容做菜。这种点餐方式在顾客较少的情况下还行得通,如果到了用餐高峰期,由于用餐人数增加进而会导致等待时间极大延长。并且在疫情普遍流行的大环境下,传统的点餐方式会增加人群密切接触的概率。针对目前的问题,基于无线通信模块设计一种智能点餐系统。客人通过智能点餐系统可以自助完成下单,优化了客人与员工之间的交流渠道。对于店家来说,降低了前期培训以及管理员工所需要的成本,对于客人来说,只需简单的文字提示便可使用点餐系统,减少了与员工之间的接触次数,使订单异常情况得到了明显改善,优化了客人的用餐体验。同时降低用餐高峰期餐厅服务压力,大大提高了餐饮商家的效率。智能点餐系统可以作为一种新型点餐方式,提起客人的点餐兴趣,进而使订单的销量得到提高。
如今,科技已经越来越密切的融入到我们的生活当中,使我们的生活工作更加的便利。餐饮行业无疑是搭上了顺风车,并且拥有广阔的发展前景。
1.2 国内外研究现状
国内餐饮系统大多以中国传统的消费方式为主,由顾客通过翻阅菜谱点餐,然后再把菜肴递给服务生,从而完成预订。点餐系统多数都是运用在比较大型的饭店,并且大多是基于PDA或者lpad系统的应用。但是PDA也开始慢慢淡出了大家的视野,因为这种点餐方法以覆盖范围小,所以可信度也较低;而lpad的点餐应用却是相当火热,通过大屏的操控,简单明了,易于使用,信息传输时通过的无线网络也是相当地安全。
在上个世纪八十年代,现代信息科学技术的不断推进发展,国内有部分餐馆逐渐引领潮流建立便捷的订餐管理系统,计算机技术的便捷性让餐馆的订餐行为和结算行为更加智能化且快速便捷。在当时的社会点餐模式之下,大多数点餐系统依靠的电脑端来实现的。然而随着时代的发展,我国进入移动互联网时代,基于移动PDA模式的无线点餐系统开始逐渐崭露头角,很多餐馆的服务员在这样便捷性的加持之下,可以借助手持的PDA来实现顾客的便捷性点单行为。这种移动PDA系统的出现大幅度提升了餐馆的服务效率和水平,也减少了餐馆在服务员支持上的成本,使得现代餐馆进入一个高速发展的电子化时代。
如今的服务餐饮行业的竞争越来越激烈,同时客户的要求是越来高,为了在这方面取得有效成绩,只有提供高规格的服务,改善管理体系,不断推陈出新,才能吸引客人,从而获得更高的收益。
酒店的整个服务过程讲究的是高效,及时,准确,要在第一时间,第一地点都能给客人提供上流的服务,就此而言,我们必须要使用互联网这一工具,快捷,准确是互联网的一大优势,在未来的服务行业,更多的服务和应用将来自于互联网,这不仅方便了用户,也便于酒店的管理,节约酒店的人员成本。信息化的不断发展,无线技术也将会越来越普及,整个服务不仅仅是点餐方面,随之而来的是整条产业链,包括材料的进货,仓库管理等方面,这就是说,未来发展的趋势将会是朝着多功能,智能的方向迈进。
1.3设计主要内容
本设计以基于单片机的智能点餐系统为主要研究对象,概述点餐方式的发展历史与现状,并总结概括该点餐系统的发展趋势。重点研究并制作基于单片机的智能点餐系统的模块设计及最终硬件产品,并将对相应的各个模块进行详尽的分析概述。
本设计的主要研究内容如下:
(1)使用单片机作为主控器件,并设计点单模块、显示模块、无线传输模块、提醒模块等;
(2)其中点单模块用于客户菜品选择和下单;
(3)通过显示模块,实现菜单和价格显示的功能;
(4)无线传输模块,实现客户端和商家端的无线连接;
(5)提醒模块用于实现下单提醒。
2.需求分析及系统设计
2.1 需求分析
针对前面关于餐饮行业点餐方式的分析,设计一种基于单片机的智能点餐系统,该系统可以实现自助点餐,减少运营成本,提高点餐效率,能够实现以下功能:
(1)系统分为主机和从机,可以显示菜品名称和单价。
(2)可以通过按键控制整个系统。当顾客完成点餐后通过单片机控制和无线模块将数据传递给主机,主机获得信息确认后完成下单。
(3)当主机收到订单信息会有语音提示,当主机确认接单后会有语音提示。
2.2 系统方案的器件选型
2.2.1 单片机主控方案的选型
方案一:STC89C52RC单片机,这是一种国产的8051单片机,其对原有的8051做了部分升级,但依旧可以采用8051的使用手法使用它。51单片机是在课堂上学习过的,使用简单,并且具有特殊的位操作,可以使简单的数学运算加快,但是其必须外置振荡电路提供时钟周期才能正常运行,并且运行效率有限。其只具有40个引脚,1个串口,而且部分引脚有其特殊功能,考虑到该设计需要外接许多传感器,并不适合使用STC89C52RC单片机。
图2.1 STC89C52RC单片机
方案二:STM32单片机,这是ST公司生产的32位单片机,目前也有许多国产公司生产32位单片机,但是使用上不如该单片机稳定。STM32单片机从处理位数上就可以看出相较STC89C52RC这个8位单片机来说,处理速度会快很多,并且STM32单片机时钟频率最高可以达到72MHz,处理速度极快,并且STM32单片机引脚个数有多种选择,有多个串口,非常适合我们的设计使用。我们选择使用的STM32F103系列单片机,核心为Cortex-M,是一个专用于控制的核心,其高时钟频率和硬件除法以及单周期乘法指令的增加明显改善了芯片的性能和功能。STM32功能不仅只在于以上几点,它最大的优点在于它使用非常方便,可以采用寄存器编程方法还可以使用官方的库函数进行编程,并且其可以加载实时操作系统,能接受复杂的系统设计。
图2.2 STM32F103C8T6单片机
STM32F103这一系列的单片机和日常生活之中使用的51系列的多种单片机形式要更优,然而这种系列的的单片机在整体的全局开发过程和整体使用环节的复杂度并不比传统的51系列的单片机高多少,所以这也逐渐成为了当下嵌入式系统之中最为常见使用的芯片,也正是因为STM32F103这一系列的单片机的优越性,所以在本次实验之中选用了这一系列的单片机。
2.2.2 液晶显示选择
方案一:LCD12864液晶显示屏,通过电压控制可以驱动液晶发生变化从而产生部分图形显示环境,这是在当下比较常见的一种显示手段。LCD12864液晶显示屏从这个名字就可以看出,这种液晶显示屏有自身128个像素点横向表示和自身64个像素点纵向表示。当然,LCD12864液晶显示屏在显示效果上也表现出较高的优越性,其自身的液晶显示屏幕较大,在方便顾客订餐的同时,也有利于清晰的现实效果,所以十分适合本文的设计模式。
图2.3 LCD12864显示屏
方案二:OLED显示屏,该显示屏与液晶显示屏原理不同,其内部是一些特殊的发光材料,可以通过小电流驱动点亮,它是一种自发光屏幕,内部不含液晶,更耐摔,而且由于液晶屏需要背光,功率会更高,更适合小型系统使用。另外, LCD12864的驱动是特殊时序的,必须要重新学习显示屏的时序才能操作,但是OLED显示屏采用的是常用的IIC或者SPI通信,两种通信方式的时序都经常使用,上手使用没有任何学习成本。同时,这种模式在可视角度上也不存在任何问题,就算是在大规模的视觉角度上进行显示,这种对应的画面仍然可以保持清晰的图像显示,并不会出现图像失真的情况。当然,OLED显示模块还有另外的优点,这种响应的时间非常之短,OLED显示模块的对应响应时间只需要LCD12864显示模块的千分之一左右,这是一项高效率的提升,在针对高清视频的显示的时候不需要任何的阴影拖动,这样就会在视觉上给用户一种极佳的效果体验。
图2.4 OLED显示模块
总体来说,在对上述两种显示的方案进行分析之后,重点从低功耗、显示数据和制作工艺模式等多种方面来分析,OLED对应的显示模块的显示效果可能无法满足设计需求,所以选择LCD12864液晶屏模块作为显示模块。
2.2.3 无线模块选型
方案一:使用蓝牙模块。对于蓝牙模块来说,这是在无线技术范畴之内的一种技术,之所以被称之为蓝牙是因为该种技术可以在个人、移动终端和固定终端三者之间实现固定的小范围局域网之内的数据交换。蓝牙无线技术是一种复杂度较高的技术模式,可以在十秒之内实现针对设备进行组网,对应的集成度和相对的可靠性较高,其传输速率大体上为1Mbps,对应的安装行为简单且成本较低。但是蓝牙模块有一个致命的缺点就是通信距离过短和功耗高。
图2.5 蓝牙模块
方案二:采用nRF24L01无线模块。它的工作频率范围是2.4~2.5GHz,波特率为250Kbps~2Mbps,是单片无线收发器芯片,该模块最大数据传输速率为2000kbps,在空旷场所甚至可以最远100m的距离进行信号传输。
图2.6 nRF24L01无线模块
综合考虑,选择方案二,利用nRF24L01无线模块实现自助点餐,既能保证远距离的稳定传输,又可以降低成本。表2.1为nRF2401无线模块的性能参数。
表2.1 nRF2401性能参数
体积 | QFN24 5x5mm封装 |
宽电压工作范围 | 1.9V~3.6V |
工作温度范围 | -40℃~+80℃ |
工作频率范围 | 2.400GHz~2.524GHz |
数据传输速率 | 250Kbps、1Mbps |
低功耗设计,接收时工作电流18mA,0dBm功率发射时13mA,掉电模式时仅为400uA | |
多通道工作模式,125个数据通道,通道切换时间≤200us,满足多点通讯和调频需要 | |
可通过软件设置工作频率、通讯地址、传输速率和数据包长度 |
2.2.4 电压转换模块选型
因为单片机在工作模式之下的工作电压为3.3V,但是期间使用到的电源适配器产生的直流电压为5V,所以,有必要针对输入的电压进行降压行为的处理。在本文的设计之中,主要采用的是RT9193芯片,主要将5V的电压转换为3.3V的电压,如图2.7所示。
图2.7 RT9193芯片
2.3 系统整体框架设计
针对上述器件的选型,最终系统的框架图如图2.8所示。
图2.8 系统总体设计方案
2.4 本章小结
本章节重点分析了所设计的智能点餐系统在总体设计上的方案,随后正度无线模块、液晶显示模块和控制器等一些主要的组成模块进行选择的分析,进一步为电路的设计提供保障。
3.系统硬件设计
3.1 核心主控模块设计
单片机的最小系统是确保单片机自身拥有控制功能的关键环节[9]。无论是STM32还是89C51,这两种系列的单片机自身在很大地方存在共同点,主要包含单片机中最常见的复位电路、芯片、时钟电路和电源电路等基本的四个部分,然而如果想要STM32单片机可以正常使用就需要配有接口电路和启动电路,其最小系统的电路原理图如图3.1所示。
图3.1 单片机管脚原理图
(1)单片机核心,这一核心之中最关键的核心部件的型号产品称之为STM32F103C8T6,ARM Cortex-M3是这种单片机核心微控制器内核中的关键模式,其中设计到的主要功能是接收按键的输入数据、接收无线模块传来的指令、控制外围的蜂鸣器电路产生响应。
(2)外部时钟电路,从整体架构上来说,外部时钟电路属于在整体单片机系统之中最小的重要组成部分,就类似于我们人类的心脏,也是最为关键的部分。在传统的STM32单片机的使用上主要采用的是内部时钟的模式,当然,同时也在外部增加更多精准的时钟电路,外部的时钟电路主要包含电容和晶振,一般会选择两个相同的30pF的电容,当然针对外部时钟电路的作用,这种单片机内部的振荡器会逐渐产生自激振荡的行为,进一步推进单片机获取精确的时钟信号。
(3)复位电路,对于复位电路来说主要作用是让单片机进行初始化行为,主要是为了防止在程度出现跑飞的状态之下,可以快速进行正常的工作。总体来说,一般使用的是外部复位的方式,将复位电路链接在RST引脚的外部,这种复位电路的模式主要包含一个电容、电阻和按键各一个。当按键按下后,会产生一个低电平信号反馈给RST引脚,这样单片机就会进行整体初始化行为。同样,还有一种不可或缺的上电复位方式,主要步骤是在整体初始化进程中进行单片机上电操作,电源对应的电容会迅速充电,此时就会有一个极短时间的低电平的信号在单片机上的RST引脚上产生,这时候单片机就完成了初始化行为。
(4)系统电源,系统电源主要是为了让STM32单片机正常供电运行,且系统电源必须使用3.3V的供电端口,然而在常规输入的直流电压为5V的时候,就必须要设计一种从5V降压到3.3V的电路模式。在本次的设计中主要使用的是RT9193芯片的降压电路,同时会在电源端有合适的电容滤波,使得电源波纹稳定。
(5)调试接口电路,因为STM32单片机是可以直接连接电脑在编程过程中进行调试的,即可以在KEIL软件中对程序进行硬件调试,但是需要特殊的接口,一般我们常使用两种接口,一个是5针脚的JTAG,另一种是需要使用STLINK连接的SWD调试方式。值得注意的是,我们要调试程序就必须将启动电路调至BOOT=00,这样单片机才能从SRAM中启动,才能进行调试。当然如果只是烧入程序和数据传输,可以直接采用常用的串口通信,一般使用一个CH340G芯片搭建的USB转TTL电路让单片机与电脑连接,进行串口通信,在这个时候我们要将启动方式调为BOOT=01, 单片机将从内部存储器开始运行启动,反之就不能对程序进行针对性下载。
(6)启动电路,借助BOOT0/BOOT1[11]的单片机自身控制引脚的开启行为。通过在BOOT1和BOOT0之间进行不同电平的转换,可以在这之间开启不同模式的启动类型,一般来说,在当下的启动电路的模式之中主要是从用户闪存存储器启动、从单片机系统存储启动以及和内嵌的SRAM启动。
3.2 无线通讯模块设计
在无线通讯模块的设计上,主要使用的是当下一种工业级的内置软件,称之为nrf24L01,这是无线收发器之中的一种类型。这一器件当下工作在全球开放的频段之中。当然,其中内部主要的部分包含了调制器、频率合成器、功率放大器等。当然,这种无线通讯模式还包含两种较为特殊的数据传输形式,在这种数据传输形式之下主要包含的是单片的输入和输出,当然对于这种模式的外接元件的数目很少,也包含了很多低功率的运行模式,这样也可以更加节能。如图3.2所示为基本的nrf24L01的功能原理图。
图3.2 无线通讯模块原理图
NRF2401这种型号的无线数字通信模块在收发行为上主要对外表现出较高的灵敏度和较低的功耗,同时也能在远距离过程之中使用[4]。本设计中,主要使用的是NFR2401无线射频芯片进行无线通信的应用,主要实现的在主机和从机之间的使用。其中主机单元连接NRF2401无线发送模块,从机单元连接NRF2401无线射频芯片作为接收模块。作为一款全新的单片的射频收发的芯片,NRF2401主要的工作ISM频段为2.4GHz-2.5 GHz。本地主从机直接发送的数据就是主从机端的单片机的点餐数据信号,完成系统的基础功能,具体引脚对应关系如表3.1所示。
表3.1 nRF24L01引脚功能表
引脚 | 功能 | 接口 |
CSN | 芯片的片选线,CSN 为低电平芯片工作 | PA12 |
SCK | 芯片控制的时钟线(SPI 时钟) | PB5 |
CE | 使能芯片的发送模式或者接收模式 | PB6 |
IRQ | 中断信号 | PB3 |
MISO | 芯片控制数据线(主机输入,从机输出) | PB4 |
MOSI | 芯片控制数据线(从机输入,主机输出) | PA15 |
GND | 电源接地 | |
VCC | 电源(3.3V) |
3.3 液晶屏显示模块设计
LCD12864液晶屏模组是由一片可支持16*4字符同时显示的LCD显示屏和一个驱动主控芯片组成,通常出厂状态做出一个排针信号接入的形态成为一个常规的通用件,其中主要使用的寄存器的引脚如下所示:在这之中对应一组P0和D0-D7数据寄存器所对应的是核心处理器,同时采用并口连接的方式。随后,核心处理器在接受到一定的数据信息之后,液晶显示器还附带一定的控制工作,主要是针对数据命令和读写选择这部分行为,当然,这种液晶显示器依然在5V的电压之下进行工作,且可以显示32个半角的字符。设计过程主要需参照液晶屏的时序规格书,避免出现错误无显或显示错乱的现象,液晶显示模块原理图如图3.3所示。
图3.3 液晶屏显示模块电路原理图
3.4 提醒模块设计
本设计利用蜂鸣器作为报警提示模块,单片机的电流过小无法触发蜂鸣器鸣叫,因此蜂鸣器器件会增加一个三极管放大电路来驱动,单片机的PB7信号管脚可通过电平的高低变化来实现对三极管的导通行为模式,最终针对蜂鸣器进行相关的警报控制行为,当然在这一过程之中起到开关作用的是三极管Q1,基极所属的是高电平,如果蜂鸣器发生了警报那么三极管就会产生饱和导通,当然,如果基极在低电平的状态之下,其对应的三极管就会自动关闭,蜂鸣器会自动停止对外发声行为。如图3.4所示为蜂鸣器对外报警的模块电路原理图。
图3.4 蜂鸣器提醒模块原理图
3.5 点单模块设计
本次智能点餐系统利用按键对菜品进行人工手动选择,按键的实现原理很简单,就是按下后导通,弹起时是断开的状态,因此仅需将按键的一端与地线GND相连,此时如果按键被按下之后就可以进行单片机的连接,在这种情况之下单片机上管脚的信号会逐层降低,这样系统可以通过电平高低的变化来分析按键的行为模式,同时借助单片机管脚来识别具体哪一个管脚被按下。在发送端, 通过S2和S3来上下翻阅菜单,当看到心仪的菜品后,按下S4加入到购物车当中,点餐完成后按下S5发送到接收端,按键S1是用来返回查看已点菜单;在接收端,按键S1用来翻阅菜单,按键S2用来确认接收订单。发送端按键原理图如图3.5所示,接收端按键原理图如图3.6所示。
图3.5 发送端按键原理图 图3.6 接收端按键原理图
3.6 电源电路设计
STM32F103C8T6这一类型的单片机在工作时的电压为3.3V, nRF24L01对应的无线模块以及其他附属模块的工作电压阈值范围是3.3V~5V,在本设计中,借助于USB电源,连接USB和电脑,如图3.7所示为电源电路的原理图,在这过程之中整体系统使用的是5V的电压,当然,在降压芯片的选择上使用的是RT9193芯片进行对应的稳压处理。
图3.7 电源电路原理图
3.7 本章小结
本章在系统总体方案的设计规划的基础之上针对总体的硬件系统进行了行为模式的设计,其中包含的主要方式有无线传输电路、控制电路和液晶显示的电路。同时,本文之中涉及到的智能点餐系统中的模块电路的设计,主要包含了每个模块的工作原理和行为模式,每个模块之间的电路连接,为之后的软件设计提供了坚实的保障。
软件程序设计
4.1 软件介绍
单片机的软件编程在Keil uvision 5的环境下进行的,主要使用的是C语言来编写并执行编译环节,主要是这一软件的强大的芯片兼容能力,使用范围包含AT系列的51单片机一直到ARM系列的STM32单片机都可在此平台上编译和开发,软件界面非常简洁,从建立工程开启,随后完成各调用的子程序函数,利用一个main函数实现对各功能子程序的调用,在编译的方式上通过模块化,使得整个系统的程序不繁杂,并且在定位问题时也容易定位具体执行错误的子程序位置,编译完成后运行无误即可生成hex文件,使用串口烧入工具实现下载至单片机的Flash中,驱动单片机完成预设功能的执行。
4.2 主程序软件设计
系统主程序一开始需要进行各种初始化操作,主要进行初始化串口、LCD显示屏、无线模块,接下来单片机模块驱动主从机的NRF24L01无线模块进入配对通讯成功收发数据,当接收到从机按键输入数据选择的新菜单时经过会通过无线显示到主机端的LCD12864屏幕上,并驱动蜂鸣器鸣叫实现提醒的效果;随后通过按键反馈订单收到后系统进入待机模式,可进行下一次操作。具体的主程序流图如图4.1所示。
图4.1 主程序流程图
4.2 液晶屏显示软件设计
在针对液晶屏幕的选取上,本文中主要使用的功能齐全、性能较好的LCD12864液晶屏幕,尤其需要注意的是显示子程序的设计一定要按照固定的时间序列来进行显示功能的操作。一般借助MCU来控制LCD显示相互对应的字符。一般来说,首先开始阶段会对整个液晶显示的部分进行属性配置,随后,在全局环境之中,引脚D0-D7主要负责传输数据和命令,在这种行为之下,微控制器是不被允许发送任何无关指令的,同样,在空闲状态下的液晶对外表现出的是引脚处在低电平的状态,液晶显示屏的全部流程如图4.2所示,主要就是进行时序和引脚的说明。
图4.2 液晶屏显示程序流程图
4.3无线通信软件设计
通过NRF24L01无线通信程序来实现从机端和主机端的数据交互。NRF24l01无线组网程序系统开启后,首选对NRF24l01的硬件配置进行初始化,随后对主机的配对信息进行设置,完成一个无线网关,从机节点的NRF24l01加入网络并分配一个配对地址,若从机的客户端有点餐需求和完成下单,组网内会发送一个待处理事件的内容,主机实现接受并实现对事件的处理响应,随后继续进入无线通信组网,等待下一个指令。无线通信组网程序的流程图如图4.3所示。
图4.3 无线通信组网程序流程图
4.4 提醒模块软件设计
设计蜂鸣器报警程序的目的是当发送端下单时提醒接收端及时完成订单,当接收端做完订单时提醒客户订单已完成。在单片机中实现报警子程序,首先实现
线指令需要定义相应的报警控制引脚,如果检测到报警信号,则等待输入当出现需要报警的情况时,单片机会发出报警信号来控制报警电路在三极管导通后,再驱动蜂鸣器报警声音。
图4.4 蜂鸣器提醒流程图
4.5 点单模块软件设计
本设计在发送端通过4个按键来实现点餐和发送数据,在接收端通过两个按键来查阅订单和数据的接收。在按键检测函数之中最为关键点就是对于按键的消抖,因为按键在按下的过程之中会有部分抖动的情况出现,这是因为按键之间的触点存在的间歇性的接触导致的行为,当然,在这种时候就需要使用延时进行操作,这其中会包含十五秒左右的不稳定时段,就这进一步引起机械的振动,从而导致单片机误判的行为,最终导致程序出现误判和失误的情况,所以需要使用延时抖动。
图4.5 点单模块流程图
4.6 本章小结
本章内容主要介绍了智能点餐系统的主要的程序设计的部分,子程序的设计主要包含了液晶显示屏对应显示模块的子程序的设计环节和无线通信模块的子程序的设计环节,重点针对性介绍了程序的流程图,在完成程序设计的基本情况之下,为程序设计的进一步完善提供了保障。
系统测试
5.1 系统硬件焊接与调试
在完成硬件设计和软件设计之后,接下来就要进行硬件焊接。在实际电路搭建的过程中,主要使用万用板来进行焊接,在焊接的过程之中需要注意的是飞线,如果操作失误会导致焊接的板子连线出现问题,为后续的工作带来困扰。当然,在焊接的过程之中一定要着重避免虚焊的行为,在连线出现错误的状态之下,一定要一次成功。同时,在焊接的过程之中也要注意焊台的温度控制在合理的范围之内,注意元器件的保养和使用,重点关注芯片的引脚,电源线和信号线也要保持分开,时刻注意其中的产生的信号干扰行为。
完成系统设计与开发之后,接下来就要进行硬件电路的调试。具体步骤如下:
(1)检查接线连接,通过原理图来查看电路连接顺序是否错误,查看一些线路是否已经完全连接在其相应的管脚上,因为模块需要飞线加上线路多的情况下是非常容易连接错误的。硬件接线对应表如表5.1所示
表5.1 智能点餐系统设计硬件接线表
无线模块 | 液晶显示模块 | 发送端按键模块 | |||
元器件引脚 | 单片机I/O | 元器件引脚 | 单片机I/O | 元器件引脚 | 单片机I/O |
CSN | PA12 | RS | PB9 | S1 | PA4 |
SCK | PB5 | EN | PB8 | S2 | PA5 |
CE | PB6 | D4 | PB15 | S3 | PA6 |
IRQ | PB3 | D5 | PB14 | S4 | PA7 |
MISO | PB4 | D6 | PB13 | S5 | PB0 |
MOSI | PA15 | D7 | PB12 | 接收端按键模块 | |
GND | 电源地 | PSB | PA8 | S1 | PA4 |
VCC | 3.3V | VDD | 3.3V | S2 | PA5 |
VSS | 电源地 |
(2)测试焊接电路是否能够正确导通,用万能表测试过程中如果万能表的蜂鸣器正常响起那就说明是可以导通,反之就是不导通,有可能就是存在虚焊、焊接错误等问题,这时就需要仔细去排查,虚焊问题可以通过电烙铁来重新焊接,焊接完成再用万能表测试,蜂鸣器正常响起那就说明是焊接正确的。
(3)最后需要对电源进行测试,在给系统上电之前,需要对各个模块承受电流的估量,可以借助稳压电源来进行测试,系统上电之后需要仔细观察各个模块的反应是否正常,发现异常后,需要立即断掉电源,正常运行一分钟后,在单片机附件按下复位键,观察系统整体反应,正常运行就完成了硬件电路的测试。连接完系统之后,在保证没有问题之后就进行功能测试,当然,在功能测试之中主要看的是是否正常运行,确认好各个模块正常运行之后,就可以进行联调,看是否能够达到我们的所需的要求。硬件整体调试图如图5.1所示。
图5.1 实物整体调试图
5.2 系统软件调试
在完成硬件系统调试后,接下来就是软件测试了,在本文的设计之中主要使用的是模块化的程序设计方法,针对每个微小的模块进行调试,随后再进行总体的调试。调试步骤如下:
(1)针对整体模块的结构,需要正度所以子程序进行调试测试,进一步发现在显示子程序、通信子程序和提醒子程序之中的问题,其中涉及到的转移地址错误、死循环等问题进行分析,按照软件编译环境之中的错误提示进行调整,检查没问题之后再进行编译,最终显示的结果为0错误和0警告才行,如图5.3所示为整体系统软件调试的过程。
(2)在所有的功能模块测试完成之后,可以在许多相关功能上进行分析,随后再针对整体的编译环节,然后根据Keil软件提示的错误进行修改,多数的错误会出现在大小写,标点符号以及括号是否对应等小问题,这时候就需要很仔细去查看了,当发现是程序出了问题,可查看是否是配置参数、指针变量或者声明类型等常见类型的错误,直至最终编译显示0错误,0警告,软件调试部分主程序如图5.2所示。
(3)程序调试完成后,下一步就是将程序烧录至单片机。首先,在电脑上针对性安装串口驱动装置,开发板通过USB进行连接,就可以进行识别;随后,将写好的程序进行编译,此时会产生HEX文件;最后,使用相对应的程序烧录软件进行操作,选择对应的芯片类型,同时加载生成的HEX文件即可。
5.3 系统功能测试
完成硬件和软件的调试之后,就是对系统的整体测试了,这时候需要借助程序下载工具来完成,在下载时,需要注意选好单片机型号芯片、串口号以及波特率,下载成功后,观察单片机系统上出现的情况,接着对单个模块功能分别进行功能测试,观察是否成功实现功能,如果出现模块未能成功实现该功能,就需要去进行软件结合硬件的测试了,直到找到问题并解决。
5.3.1 液晶显示功能测试
在发送端和接收端的LCD12864液晶屏上均可以显示订单信息,图5.4所示为发送端所显示的菜品名称和单价,图5.5所示为接收端所显示的桌号以及菜品名称和数量。
5.3.2 无线传输功能测试
系统上电后,通过按键在发送端点餐,点餐完成后,按下确认键,菜单信息会发送到接收端。图5.6为点餐完成后的发送界面,图5.7为接单界面。
5.3.3 提醒模块功能测试
客户确认下单时,接收端的蜂鸣器会报警提醒,同时LED灯会闪烁如图5.8所示;当厨房确认订单完成时,发送端的蜂鸣器会报警提醒,同时LED灯会闪烁,如图5.9所示。
5.4 系统整体测试
对智能点餐系统的各个模块的功能测试完成之后就要进行整体测试,每隔一定距离完成50次点单与接单测试,测试结果如表5.2所示。经测试,在未加天线的情况下,无线模块的数据传输距离在100m左右,同时,传输距离又会随着发射头发射功率、接收头接收灵敏度等因素的变化而变化。
表5.2 智能点餐系统测试表
测试距离(m) | 发送成功次数 | 发送失败次数 | 接收成功次数 | 接收失败次数 |
10 | 48 | 2 | 46 | 4 |
40 | 47 | 3 | 44 | 6 |
70 | 46 | 4 | 45 | 5 |
100 | 44 | 6 | 41 | 9 |
130 | 0 | 50 | 0 | 50 |
5.5 本章小结
本章主要介绍了硬件模块的焊接、硬件调试、软件调试以及功能测试。经过多次测试,本系统能够实现其基本的功能,供电稳定,当系统正常运行时能够实时显示数据功能。
总结
2020年春节期间,新冠肺炎疫情突然暴发,对各个行业产生了深远影响,尤其是做公共服务的餐饮行业,根据餐饮行业发布的文件显示,在新冠肺炎期间有约八成的餐饮企业损失达到了100%以上。针对疫情期间,在用餐高峰期,传统的点餐方式会导致人员密集接触这一问题,进行了调查研究,并完成了此设计。以下为本次设计的所作的总结:
(1)前期通过实地调查,了解当前疫情大环境下餐饮行业的现状,发展趋势,存在的问题,进而确定了本次设计的总体设计方案。
(2)通过查阅文献和网站资料,确定了本次设计以单片机为控制芯片,搭配显示屏进行客户下单引导和点菜内容直观显示,在商家的主机端同样利用显示屏实现了客户点餐数据的远程显示,利用按键模块实现菜品的选择,在此基础上再搭建了无线模块以及报警模块,从而实现了无线点餐的功能。
(3)对硬件电路的主要元器件进行了选型,并进行了硬件电路设计和焊接,随后针对软件的整体设计和代码的编写,将编写好的代码烧录到单片机之中,最后进行整体系统的调试和模块化的功能测试行为,经过测试,该设计的各个功能均可实现。
经测试,无线传输模块的数据传输距离在空旷场所为100m左右,但在实际应用中隔墙传输距离会降低,因此后期可以外通过加天线来改进这一问题。
参考文献
[1]冯秀玲.智能点餐系统设计与应用[J].电子技术,2023,50(06):30-32.
[2]于晓默,覃安霆,黄秋吟等.智能点餐系统的设计[J].南方农机,2020,51(09):176+180.
[3]孔灵超.单片机技术应用的课程实践分析[J].电子技术,2023,50(10):88-89.
[4]李西,李立伟,刘含筱等.基于nRF2401实现高速无线通讯方案设计[J].电子设计工程,2019,27(22):175-178+183.
[5]曲镇帮,田江伟,郑琳.基于nrf2401的无线数据传输系统的设计与实现[J].卫星电视与宽带多媒体,2019(05):14-15.
[6]毛磊,李争祥,陈立钊.现代无线通讯技术发展现状和趋势[J].电子技术与软件工程,2023(10):23-24.
[7]Ying Lin, Yuhao Wang, Jian Zhang , Xingbo Gong. Design of A Smart Home Equipment Based on STM 32[J]. World Scientific Research Journal,2023,7(6).
[8]郭靖雯,彭振珊,徐庆庆,辛美果.疫情下高校智能就餐系统的设计与应用[J].佛山科学技术学院学报(自然科学版),2023,39(05):73-80.
[9]刘丹.单片机技术及应用课程的教育实践[J].集成电路应用,2023,38(09):264-265.
[10]张杰,徐兆军,那斌,尚征帆,倪申健,陆荣鑑.基于NRF2401的多功能地板的设计[J].传感器与微系统,2023,40(07):105-106+109.
[11]李耀乾,苗泽,付天华,李明涛.基于STM32的智能无线温度探测小车[J].大众科技,2019,21(04):56-58.
[12]高杨.基于单片机的气压温度感知系统研究[J].西藏科技,2019(10):64-67.
[13]李小明.我国餐饮业发展的现状及对策研究[J].科学咨询(科技·管理),2023(12):62-64.
[14]Dongwen Yan. Design of Intelligent Fire Extinguishing Car based on STM32 Single Chip Microcomputer[P]. 2020 4th International Conference on Computer Engineering, Information Science & Application Technology,2020.
[15]王晓彦.STM32单片机原理及硬件电路设计[J].南方农机,2020,51(14):163-164.
[16]施啸,史雷萌,胡威.基于nRF24L01的智能点滴输液报警器系统设计[J].物联网技术,2023,11(07):97-98+103.
[17]涂敦兰,王莎.基于Wi-Fi的智能点餐系统[J].电信快报,2020(10):41-43.
[18]Ruhua Shi, Chenrui Fu, Keshu Liu, Ilian Wang, Bujun Weng. Reflections on the Current Situation and Future of the Catering Industry under the Epidemic Situation in 2020[J]. Frontiers in Economics and Management,2023,2(11).
[19]史莉娟,邓萍,吴雄韬,谢媛英.基于网络点餐系统的食堂数字化管理设计与实现[J].无线互联科技,2023,18(08):55-56.
[20]林倩,胡单辉,陈思维.基于蓝牙技术的自动点餐系统的设计与实现[J].天津理工大学学报,2020,36(04):45-49.
1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。
2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。
原创文章,作者:1158,如若转载,请注明出处:https://www.447766.cn/chachong/76550.html,