零基础学会制作 基于STM32/51单片机的Nb-IoT图书馆座位智能管理系统/图书馆管理系统/图书馆座位

项目介绍

本文是基于单片机的Nb-IoT技术的图书馆座位智能管理系统,选择STM32F103C8T6为主控芯片,通过使用红外检测模块作为输入部分,实现对座位使用信息的采集。通过使用LCD1602作为输出部分,实现对座位被预约情况的输出,再通过SIM7000Nb-IoT模块将输入部分得到的座位使用和预约数据进行上传,为了便于查看座位端的数据,本设计将数据上传至Tlink物联网平台,通过界面可查看座位使用情况并且对座位进行线上预约,实现了对座使用数据的统计和管理。通过实现图书馆座位的实时监控、预约、管理等功能,从而提高座位资源的利用率和管理的效率。

功能介绍

设计一款基于单片机的Nb-iot图书馆座位智能管理系统,该系统主要包括:处理器模块、传感器模块、电源模块等,能够实现对图书馆座位的智能化管理。
(1)实现对图书馆座位是否正在使用的检测,并在物联网平台显示;
(2)实现对座位信息向物联网平台的上传和使用历史数据统计。
(3)座位端可以显示当前座位是否有人预约,超时自动释放该座位使用权;

所用模块

本系统的核心在于采用STM32F103C8T6单片机作为主控制器,结合显示模块、传感器模块以及 Nb-IoT通信模块,通过数据线供电来实现整个系统的功能。
本系统采用基于单片机的Nb-iot图书馆座位智能管理系统的设计,主控制模块采用STM32F103C8T6单片机,负责整个系统的中心控制,包括数据处理、逻辑判断以及模块间的通信调度,通过传感器模块采集座位端信息,监测座位的占用情况,实现座位状态的实时更新。传感器模块将采集到的数据上传主控制器,通过主控制器将座位使用状态和系统信息更新到显示模块。主控制器通过 Nb-IoT模块,将座位使用情况上传到服务器,同时接收来自用户的预约请求和查询指令。用户交互功能由显示模块展示座位状态和系统消息,用户可以通过手机应用实现座位预约和状态查询此系统可以实时监测和更新座位使用状态,提高座位资源利用率,同时提供直观的座位状态显示和便捷的远程预约查询服务,改善用户体验。基于STM32F103C8T6单片机的Nb-IoT图书馆座位智能管理系统通过精心的设计和合理的技术选型,实现了图书馆座位的智能化管理。该系统不仅能够有效提升图书馆的服务质量和管理效率,同时也为用户提供了更加便捷、直观的服务体验,具有明显的社会价值和应用前景。

系统原理图

在这里插入图片描述

实物图

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

部分代码

#include “sys.h”
#include “delay.h”
#include “1602.h”
#include “usart.h”
#include “stdio.h”

#define key1 PBin(15)
#define key2 PBin(14)
#define key3 PBin(13)
#define key4 PBin(12)

#define LED0 PCout(13)

#define IN1 PAin(0)
#define IN2 PAin(3)
#define IN3 PAin(6)

#define LED1 PAout(1) //绿
#define LED2 PAout(2) //红
#define LED3 PAout(4)
#define LED4 PAout(5)
#define LED5 PBout(0)
#define LED6 PAout(7)

u32 data1[10];

//串口1
u8 U1data=0;
void USART1_IRQHandler(void)
{
if(USART1->SR&(1<<5)) //接收到数据
{
U1data = USART1->DR;//读取数据
switch( U1data )
{
case ‘!’: if(data1[0]==0)data1[0]=30; else data1[0]=0; break;
case ‘@’: if(data1[1]==0)data1[1]=30; else data1[1]=0; break;
case ‘#’: if(data1[6]==0)data1[6]=30; else data1[6]=0; break;
}
}
}

int main( void )
{
u32 data_time=0;
u8 sc=0;

//系统时钟设置
Stm32_Clock_Init(9);
//延时初始化
delay_Init(72);
//IO重定义
RCC->APB2ENR |= 1<<0;//打开复用功能时钟
AFIO->MAPR |= 1<<25;
delay_ms(100);
//LCD初始化
LCD1602_Init();
//串口1初始化 与IOT模块通信
USART1_Init(72,115200);

RCC->APB2ENR |= 1<<2;//打开PA时钟
RCC->APB2ENR |= 1<<3;//打开PB时钟
RCC->APB2ENR |= 1<<4;//打开PC时钟
GPIOA->CRL &= 0x00000000;//复位PA0 3输入 1 2 4 5输出
GPIOA->CRL |= 0x38338338;
GPIOA->CRH &= 0xFFFFFFFF;//复位PA
GPIOA->CRH |= 0x00000000;
GPIOB->CRL &= 0xFFFFFF00;//复位PB
GPIOB->CRL |= 0x00000033;
GPIOB->CRH &= 0x00000FFF;//复位PB15 14 13 12 11 10
GPIOB->CRH |= 0x88888000;
GPIOC->CRH &= 0xFF0FFFFF;//复位PC13
GPIOC->CRH |= 0x00300000;
PBout(15)=1; PBout(14)=1; PBout(13)=1; PBout(12)=1;
LED0=1; LED1=0; LED2=0; LED3=0; LED4=0; 

//标题显示
LCD1602_Show(0,0,"1:MA-00s        ");
LCD1602_Show(0,1,"2:MA-00s3:MA-00s");

//显示
LCD1602_Show(8,0,"IOT"); 
LCD1602_Show(12,0,"STOP");

while(1)
{
	//周期时间
	delay_ms(1);
	data_time++;

	if(data_time%500==0)
	{
		//定时控制 自动取消
		if(data1[0]!=0)data1[0]--;
		if(data1[1]!=0)data1[1]--;
		if(data1[6]!=0)data1[6]--;
		
		//显示预约状态
		if(data1[0]==0)LCD1602_Show(2,0,"--");else LCD1602_Show(2,0,"MA");
		if(data1[1]==0)LCD1602_Show(2,1,"--");else LCD1602_Show(2,1,"MA");
		if(data1[6]==0)LCD1602_Show(10,1,"--");else LCD1602_Show(10,1,"MA");
		//显示时间
		LCD1602_ShowNmber( 6,0,data1[0],2 );
		LCD1602_ShowNmber( 6,1,data1[1],2 );
		LCD1602_ShowNmber(13,1,data1[6],2 );
		//座位1传感器
		if( IN1==0 )
		{
			data1[2]=1;
			LED1=1;//绿灭
			LED2=0;//红开
		}else
		{
			data1[2]=0;
			LED1=0;//绿开
			LED2=1;//红灭
		}
		
		//座位2传感器
		if( IN2==0 )
		{
			data1[3]=1;
			LED3=1;//绿灭
			LED4=0;//红开
		}else
		{
			data1[3]=0;
			LED3=0;//绿开
			LED4=1;//红灭
		}
		
		//座位3传感器
		if( IN3==0 )
		{
			data1[7]=1;
			LED5=1;//绿灭
			LED6=0;//红开
		}else
		{
			data1[7]=0;
			LED5=0;//绿开
			LED6=1;//红灭
		}
		
		//数据上传
		if( sc==1 && data_time%2000==0 )
		{
			//上传 1号座位状态 2好座位状态 1号预约状态 2号预约状态
			if( data1[0]!=0 )data1[4]=1;else data1[4]=0;
			if( data1[1]!=0 )data1[5]=1;else data1[5]=0;
			if( data1[6]!=0 )data1[8]=1;else data1[8]=0;
			printf("#%d,%d,%d,%d,%d,%d#",data1[2],data1[3],data1[7],data1[4],data1[5],data1[8]);
			//指示灯闪烁
			LED0=!LED0;
		}
	}

资料下载链接

「实物制作资料 分享.rar」,来自夸克网盘分享。
夸克网盘无需下载在线播放视频,畅享原画5倍速,支持电视投屏。
/7b80346jCs😕
链接:https://pan.quark.cn/s/3e81858eda83
提取码:Ceiz

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值