基于STM32控制的NRF24L01无线通信师生交互式教学平台设计
2018-01-18蒋鹏
蒋鹏
摘要:本项目教师端和学生端能够实现一对一或一对多的无线通信,具备了学生端自动签到,教师端提问、答疑提示以及无线抢答器功能。并且结构简单、成本较低、携带便利。
关键词:STM32;师生互动;NRF24L01
中图分类号:TP368 文献标识码:A 文章编号:1007-9416(2018)09-0009-01
基于对单片机的兴趣,加上平时上课的观察。我们认为现在学生的学习积极性不高,课堂上的师生互动较少,因此我们计划设计一套师生互动平台,应用于课堂教学中,辅助教师授课,活跃课堂气氛。该平台能够实现学生端自动签到、学生端提问提醒、教师端答疑提示、抢答等功能。我们认为该平台能够有效的帮助老师课堂授课并且能够提高学生的学习兴趣和教学过程中的参与度。
1 项目功能描述
该项目是围绕着辅助课堂教学进行设计的,因此项目具备以下基本功能:(1)识别学生是否在线,判断学生是否在教室上课。(2)能够通过教师端指定学生回答问题,学生端会出现相关提示。(3)能够实现抢答器功能。(4)在答疑过程中,有疑问的学生按下学生端相应的按键,该学生对应的信息就会出现在教师端平台上。
2 硬件选择
该项目的难点在于通信方式,如果采用有线方式,系统的组网会很困难,而且整个系统将会受到线路的限制,教师端也很难同时连接多个学生端。因此本项目采用NRF24L01模块进行无线通信,该模块具有通信距离远,并且能够实现一对一、一对多的通信模式,完全符合项目需求。NRF24L01是由NORDIC生产的单片无线收发器芯片,NFR24L01具有较高的通信速度,较远的通信距离。在项目中教师端的NRF24L01可以与多个学生端的NRF24L01进行通信,因为NRF24L01具有6个通道,在同一通信频率下一个主机可以和六个从机进行通信,也就意味着一个教师端可以与六个学生端进行通信。当需要更多的学生端时,可以通过增加一个教师端的NFR24L01,并且更改通信频率来实现,这样不同频率的NRF24L01组之间的通信就不会相互干扰。NRF24L01还能够开启自动应答功能,教师机挨个给学生机发送询问信息,开启了自动应答后学生机在收到教师机的询问信息后会自动应答,利用自动应答功能就能够实现互动平台的学生端在线签到功能。
该项目教师端需要显示较多的信息,如学生签到情况、答疑情况等,数码管和普通的液晶屏满足不了设计需求。因此本项目采用了TFTLCD3.5寸彩屏,该屏幕色彩丰富,亮度高,支持中英文显示并且可自定义字体及大小,非常适合应用于教师端。学生端则不需要配备显示器,只需要发光二极管及蜂鸣器即可,即可满足项目需求也能大大降低项目成本。
由于项目中采用了TFTLCD3.5寸彩屏,主控模块就需要有更快的运行速度来满足显示器的显示及信息刷新,并且还需要兼顾和NRF24L01的无线信息交换,这就要求主控模块还需要有更高的可靠性,因此该项目主控模块选择了STM32F103C8单片机,STM32系列单片机具有72MHZ的时钟频率,运行速度快、可靠性高,并且型号众多,用户可以根据需求选择最合适的型号,在同类产品中有较大的优势和较高的性价比。
3 硬件设计
该项目硬件分为教师端和学生端两个部分,教师端由:STM32F103C8、NRF24L01、TFTLCD3.5寸彩屏、按键构成,实现学生签到情况显示,学生抢答提示及指定学生回答问题功能。学生端由:STM32F103C8、NRF24L01、按键及蜂鸣器构成,实现签到、抢答及教师提问提示功能。
4 TFTLCD3.5接口電路设计
TFTLCD的数据口A0~A7与STM32F103C8单片机的PA0~PA7相连,进行数据交换。片选信号CS与PB0连接;复位信号RST与PB1连接;命令/数据选择位RS与PB2连接,由PB2决定发送信息的为命令还是数据;写信号WR与PB3连接,当该位有效时,单片机能够将命令、数据发送至显示器中;读信号RD与PB4连接,当该位有效时单片机能够读取显示器中的信息,接口电路如图1所示。
5 NRF24L01接口电路设计
NRF24L01的CE、CSN、IRQ、SCK、MISO、MOSI分别与STM32F103C8单片机的PB10~PB15相连,CE用于控制NRF24L01的状态,CSN为片选信号,IRQ是中断信号,SCK、MISO、MOSI用于高速数据传送。接口电路如图2所示。
6 软件设计
系统初始化流程图如图3所示,教师端和学生端的系统初始化流程基本相同。在初始化中分别对TFTLCD、NRF24L01、中断系统及延时程序和独立看门狗进行初始化,在学生端不需要TFTLCD初始化,因为本项目具有多个学生端,考虑成本问题在学生端中并没有配备TFTLCD屏。
教师端流程图如图4所示,教师端首先检测本身的NRF24L01是否正常,并且在显示屏显示NRF24L01状态。当NRF24L01在线时,教师端逐个检测学生端的NRF24L01是否应答,通过应答与否来判断学生是否在教室,实现在线签到功能,并且将结果显示在显示屏上。同时,教师端还要检测按键状态,当相应按键按下时执行对应的程序,如指定学生回答问题或者实现抢答器功能等。
7 结语
本项目经过软硬件调试,系统运行正常,已达到项目预期目标。教师端与学生端无线通信状态良好、数据传送稳定,基本功能使用正常,本项目具有一定的实用价值。
参考文献
[1]谭浩强.C程序设计(第二版)[M].清华大学出版社,1999.
[2]杨振江.基于STM32 ARM处理器的编程技术[M].西安电子科技大学出版社,2016.