行业资讯

博鱼·体育登录入口基于STM32+RC522设计的门禁系统

作者:小编 点击: 发布时间:2024-01-30 15:54:58

  博鱼·体育登录入口基于STM32+RC522设计的门禁系统门禁系统是现代社会中非常重要的安全控制系统之一,其功能是在保障建筑物安全的同时,为合法用户提供便利。当前设计一种基于STM32+RC522的门禁系统设计方案,通过RFID-RC522模块实现了对用户卡的注册、识别及身份验证,通过控制SG90舵机实现门锁的开关,具有较高的安全性和可靠性。实验结果表明,该门禁系统可以有效地保障建筑物的安全性。

  门禁系统广泛应用于各种建筑物、企事业单位,用于管理人员的进出、控制人员活动范围、实现安全监控等功能。传统的门禁系统采用密码输入或刷卡的方式进行身份验证,但存在易被破解的风险。基于RFID的门禁系统已经成为一种相对先进的安全控制方案。

  本次设计的STM32+RC522门禁系统,通过RFID-RC522模块对用户的卡进行注册、识别完成身份识别,对门锁进行开关。系统带了OLED显示屏,输入用户密码登录之后,可以对新卡片进行注册,添加新卡片,对不使用的卡片进行注销。在系统里,IC卡的数据都存储在卡的内部扇区里,通过卡的内部空间进行管理。

博鱼·体育登录入口基于STM32+RC522设计的门禁系统(图1)

  门禁系统由STM32F103C8T6单片机、RFID-RC522模块、SG90舵机、LCD1602液晶显示屏、键盘模块等组成。其中,STM32F103C8T6单片机作为系统的核心,控制程序的执行;RFID-RC522模块作为识别用户卡片的设备;SG90舵机作为门锁控制设备;OLED显示屏提供用户输入信息和系统信息的显示;键盘模块方便用户进行密码和卡片信息的输入。

  本系统采用卡的内部空间进行IC卡信息的管理。每个IC卡可以分为多个扇区,每个扇区包含多个块,每个块包含16个字节。扇区0是厂家已经预留好的,用于存储卡片的序列号,扇区1-15可以由用户自己配置,用于存储一些私有数据,如用户身份、车牌号、员工编号等。

  对于新卡片的注册,用户需要按下键盘上的“#”键进入注册模式,接着输入管理员密码,然后将新卡放到RFID读写器上,系统将读取卡片序列号,并在卡片的扇区中存储用户名和密码信息等。

  对于卡片的识别,当用户按下门禁系统的确认键时,系统将读取RFID模块中读取的卡片序列号,并去卡片扇区中查询用户名和密码信息,进行身份验证。如果卡片识别成功,系统将控制舵机旋转一圈实现开锁功能。

  对于注销卡片,管理员需要输入密码进行身份验证后,再将要注销的卡片放到RFID读写器上,系统将清空该卡片的扇区内所有数据。

  本门禁系统采用密码验证和卡片识别相结合的方式,提高了系统的安全性。具体来说,系统要求用户输入密码或刷卡进行身份验证,只有在验证成功后才能控制门锁进行开关操作。同时,系统还可以记录每一次开启门锁的时间和用户信息,以便管理员进行安全监控。

  本门禁系统采用SG90舵机控制门锁的开关,具有结构简单,控制方便的优点。在门锁控制过程中,系统对舵机控制信号的频率和占空比进行精细控制,以实现门锁的准确开关。

  STM32F103C8T6单片机是ST公司推出的一款基于Cortex-M3内核的可编程32位单片机,常常被广泛应用于工业控制、智能家居、嵌入式控制等领域。

博鱼·体育登录入口基于STM32+RC522设计的门禁系统(图2)

  1. Cortex-M3内核:STM32F103C8T6使用Cortex-M3内核,具有高性能、低功耗、硬实时等特点,可支持多个串口、I2C、SPI、USB等外设,为使用者带来更大的灵活性。

  2. 32位处理能力:STM32F103C8T6是一款32位单片机,具有比8位、16位单片机更高的数据运算能力、编程灵活度和计算精度。

  3. 较强的系统时间管理能力:STM32F103C8T6内部具备RTC实时时钟模块,可实现精准的时间管理和时间标记功能,在一些需要时间同步的应用场景下具有较大的优势。

  4. 大存储容量:STM32F103C8T6内置64K字节的闪存和20K字节的SRAM,能够满足大型嵌入式应用的存储需求。

  5. 丰富的外设接口:STM32F103C8T6支持多个外设接口,如SPI、I2C、CAN总线等,方便开发者扩展相关应用场景。

  6. 代码可移植性强:由于该芯片应用广泛博鱼·体育,可以使用多种开发工具进行开发,例如Keil、STM32CubeMX等,而且支持多种编程语言,如C语言、C++等,因此优点很容易在不同的平台、不同开发者之间实现代码的移植。

  RFID-RC522模块是一种低成本、高性价比的RFID读写模块。它具有高精度、快速读取等特点,广泛应用于门禁系统、智能卡管理、物流追踪等领域。

博鱼·体育登录入口基于STM32+RC522设计的门禁系统(图3)

  1. 高精度:RFID-RC522模块采用射频感应技术进行信号传输和读写,具有高精度、稳定性强等优点。

  2. 快速读取:RFID-RC522模块读取速度快,一般只需0.1秒左右就可以完成读取操作。

  5. 接口简单:RFID-RC522模块采用SPI接口进行通信,模块上的引脚有7个,具有很好的兼容性。

  6. 支持多种开发语言:RFID-RC522模块支持多种开发语言,如C++、Python等,方便开发者进行二次开发。

  RFID-RC522模块的使用需要配合相关的库文件,在Arduino、Raspberry Pi等开发板上进行代码编写和开发。常见的使用场景包括门禁系统、智能卡管理、出入库管理、物流追踪等领域。

  SG90舵机是一种小型舵机,体积小、重量轻、价格低廉,常常被用于模型飞机、小型机械臂、玩具模型等领域。它采用了直流电机,利用PID控制技术,以及精密的小齿轮减速箱实现转向角的控制。

博鱼·体育登录入口基于STM32+RC522设计的门禁系统(图4)

  2. 高精度:SG90舵机的控制精度比较高,可控制角度范围为0 ~ 180度,分辨率为1度,可以实现精确到角度的控制。

  4. 低功耗:SG90舵机的电机非常省电,一般使用3V到6V的电源,仅需20 mA的电流,可大大节省电力消耗。

  0.96寸SPI接口OLED显示屏是一种小型化的屏幕,属于OLED显示技术,采用SPI接口连接,外观尺寸约为12mm * 12mm,分辨率一般为128 * 64或者128 * 32。它可以用于各种小型电子设备,例如手持设备、小型仪器、智能家居控制面板等等。

  OLED即有机发光二极管,与传统的液晶显示屏相比,OLED具有响应速度快、视角范围广、色彩鲜艳、亮度高等优势。SPI接口则是一种串行外设接口,具有简单、灵活、高速等特点。

博鱼·体育登录入口基于STM32+RC522设计的门禁系统(图5)

  0.96寸SPI接口OLED显示屏的驱动芯片一般为SSD1306,有128个列和64个行的像素,还有一些有128个列和32个行的像素。其中,128 * 64像素的屏幕显示面积较大,在显示图像和文字时更加清晰和细腻。0.96寸SPI接口OLED显示屏具有小巧、高清、高速等优点,被广泛使用在各种小型电子设备中。

  IIC接口的4x4电容矩阵键盘模块是一种基于IIC总线通信的电容式按键模块,常常被应用在工控、家电、医疗器械等领域。

博鱼·体育登录入口基于STM32+RC522设计的门禁系统(图6)

  1. 采用IIC总线电容矩阵键盘模块通过IIC总线通信连接到MCU,简化了连接方式,方便使用。

  2. 采用电容式按键设计:每个按键上放置一个电容器,当手指触摸到按键时,电容器的电容值发生变化,通过检测电容的变化实现按键检测。

  3. 4x4矩阵排列式设计:4x4电容矩阵键盘模块采用矩阵排列式设计,一共有16个按键,可以满足较为复杂的应用场景。

  4. 接口简单:IIC接口的4x4电容矩阵键盘模块只需要SCL和SDA两条线. 高灵敏度:电容式按键设计使得按键检测更加灵敏,而且不会产生按键轻微弹起的误触情况,使用更加舒适。

  6. 代码简洁:使用该模块并不需要编写复杂的按键扫描程序,只需要通过读取IIC总线上的按键值即可。

  IIC接口的4x4电容矩阵键盘模块是一种方便易用、高灵敏度的按键模块,通过电容式按键设计实现按键的检测和响应,并且通过IIC总线通信简化了连接方式。它适合于应用于许多领域,如工控、家电和医疗器械等,能够为使用者的产品带来更为方便和高效的控制方式。

  下面是基于GPIO模拟时序控制STM32F103C8T6驱动SG90舵机旋转指定的角度的代码,并封装成子函数调用。

  其中,SG90_Init()函数用于初始化PA5口,并将其配置为输出模式。SG90_SetAngle()函数用于驱动舵机旋转到指定角度。在该函数中,首先根据所给的角度值计算出延时的时间temp(单位为微秒),然后使用GPIO口控制SG90舵机在temp延时时间内输出高电平,其余时间输出低电平。通过调整延时时间和按角度分配脉冲宽度,达到驱动SG90舵机旋转的目的。

  main()函数中的for循环控制舵机从0度到180度的循环旋转。代码中用到了delay_init()函数和delay_ms()、delay_us()函数。它们是自行编写的延时函数,可以实现毫秒和微秒级别的延时,具体代码如下:

  在代码中的SG90_SetAngle()函数中,需要精确控制GPIO的电平时间,使其产生相应的脉冲宽度,从而控制舵机转动角度。因此,需要配置GPIO口的输出模式和速度、设定delay_us()函数中根据角度计算的电平时间,使得舵机能够准确地执行旋转。

  代码中通过封装SPI相关操作和MFRC522库函数,实现了读取卡片信息和完成扇区读写的功能。

  一. 基本概念 1.IAP IAP是In Applica ti on Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的 通信 口对产品中的 固件 程序进行更新升级。 通常在用户需要实现IAP功能时,即用户程序运行中作自身的更新操作,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能操作,而只是通过某种通信管道(如USB、 USART )接收程序或数据,执行对第二部分代码的更新;第二个项目代码才是线.Bootloader 在上述IAP的概念中,bootloader就是其第一个项目程序。b

  Bootloader整理 /

  固件库 V3.5 IAR void NVIC_Configuration(void) { /***********************定时器2中断**********************************/ NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;//使能或者失能指定的 IRQ通道 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3;//设置了成员 NVIC_IRQChannel中的先占优先级 NVIC_InitStructure.NVIC_IRQChannelSubPriority =

  DAC 简介 DAC 模块是 12 位电压输出数模转换器。DAC 可以按 8 位或 12 位模式进行配置,并且可与 DMA 配合使用。在 12 位模式下,数据可以采用左对齐或右对齐。DAC 有两个输出 通道,每个通道各有一个转换器。在 DAC 双通道模式下,每个通道可以单独进行转换;当 两个通道组合在一起同步执行更新操作时,也可以同时进行转换。可通过一个输入参考电压引脚 VREF+ (与 ADC 共享)来提高分辨率。 DAC 主要特性 ● 两个 DAC 转换器:各对应一个输出通道 ● 12 位模式下数据采用左对齐或右对齐 ● 同步更新功能 ● 生成噪声波 ● 生成三角波 ● DAC 双通道单独或同时转换 ● 每个通道都具有

  学习笔记13——DAC /

  STM32低功耗分三种: SLEEP: 电压调节器开启,Cortex-M3内核停止运行,外设保持运行态; STOP: 电压调节器可选择性开启博鱼·体育,所有外设时钟、PLL、HSI和HSE被关闭,Cortex-M3内核和所有外设停止运行,保留SRAM和寄存器的内容; STANDBY: 待机模式Standby:电压调节器关闭、整个1.8v区域断电。除了备份区域和待机电路的寄存器以外,SRAM和寄存器的内容全部丢失。 在休眠状态下,MCU的代码并不会继续执行,而是进入休眠状态,等待唤醒,唤醒的过程会先执行IRQ中断服务函数,然后再执行WFI后的函数。 省电级别由低到高,standby休眠后会让我们的数据丢失,而SLEE

  串口DMA发送: 发送数据的流程: 前台程序中有数据要发送,则需要做如下几件事 1. 在数据发送缓冲区内放好要发送的数据,说明:此数据缓冲区的首地址必须要在DMA初始化的时候写入到DMA配置中去。 2. 将数据缓冲区内要发送的数据字节数赋值给发送DMA通道,(串口发送DMA和串口接收DAM不是同一个DMA通道) 3. 开启DMA,一旦开启,则DMA开始发送数据,说明一下:在KEIL调试好的时候,DMA和调试是不同步的,即不管Keil 是什么状态,DMA总是发送数据。 4. 等待发送完成标志位,即下面的终端服务函数中的第3点设置的标志位。或者根据自己的实际情况来定,是否要一直等待这个标志位,也可以通过状态机的方式来循

  USART串口DMA接收和发送模式 /

  一.dma常识. 1.作用:实现片内数据之间的高速传输。即是能够不占用cpu实现数据传输。 2.模式:外设到存储器传输、存储器到外设传输和存储器到存储器传输三种传输模式。 3.stm32中的dma支持外设通道选择,并且可以用仲裁器配置adc对数据流的处理顺序。 4.dma带有一个被称为fifo的东西,主要配置fifo来实现对传输双方要求字长不匹配的调整。即所谓 FIFO 对于要求源地址和目标地址数据宽度不同时非常有用,比如源数据是源源不断的字节数据,而目标地址要求输出字宽度的数据,即在实现数据传输时同时把原来 4 个 8 位字节的数据拼凑成一个 32 位字数据博鱼·体育。此时使用 FIFO 功能先把数据缓存起来,分别根据需要输出数据 5

  注意,CPU ID和Unique ID对ST来讲是不同的定义,CPU ID是CortexM3自带的,复位值是一致的,在PM0056.pdf中有定义说明。 Unique ID是每个芯片的不同ID,在RM0008.PDF中定义,像F103就在30.2节中定义。 Flash size register是芯片的Flash大小,在RM0008.PDF中定义,像F103就在30.1中定义。 可以推理,如果知道了Flash大小,就可以根据手册来推出Page的大小了,所以就不要找page size register了,没有这个专门的寄存器。 要注意的是,L15x系列的地址基址和F103不一样,要参考对应的手册。

  有人在使用STM32的UART收发并开启空闲中断时,有时会发现空闲中断相比预期多进一次的情况。比方,本来以为只会进3次空闲中断的结果进了4次;或者说根本没开启接收,一使能空闲中断就立即进一次中断服务程序;有时即使在使能空闲中断之前还特意做了空闲事件标志的清零也会发生类似情况。 下面我找了块STM32开发板,选择USART1做自发自收的测试。也的确可以重现问题。 下面是我的测试代码的main程序: #define Length (25) uint8_t Data_RX ={0}; uint32_t UART_Rx_Len; //the Number of received data by DMA uint32_t UART_

  开发板的UART收发空闲中断设计 /

  MP1在光伏逆变上的应用 target=_blank

  不完全手册_寄存器版本_V3.3 target=_blank

  -Mini的多路PWM target=_blank

  H7B3I-DK的步进电机闭环 target=_blank

  【下载】LAT1340 STM32H5读取温度传感器校准值时进HardFault的原因分析

  【新品】STM32H5-Arm® Cortex®-M33 内核,主频高达250MHz,提升性能与信息安全性

  【新品】STM32MP13X-支持Linux、RTOS和Bare Metal应用,新一代通用工业级MPU

  【新品】Arm® Cortex®-M33处理器内核,运行频率160 MHz,基于Armv8-M架构并带有TrustZone®

  【生态系统】STM32CubeProgrammer和STM32CubeIDE协同调试的方法

博鱼·体育登录入口基于STM32+RC522设计的门禁系统(图7)

  因为公司有一部分设备生产年代久远,用的PLC也是比较古老的,有一款东芝EX20 40的用的单片机是P8051AH,其CPU板的图片如下。因此想尽可能的 ...

  本文设计了一种基于无线单片机的无线射频收发系统。该系统由发送模块和接收模块组成。发送模块主要将要发送的数 ...

  1 引言在如今的快速嵌入式系统设计中,目前比较流行的方案是在FPGA内集成应用软件或是软IP平台,以简化工序、加速产品面市日程。为此,很 ...

  W78E516D为6T 12T 8051单片机系列,其特点为管脚兼容于传统12T 8051。W78E516D提供工业温度规格、宽电压工作范围 2 4V至5 5V,支持在线 ...

  目前市场上USB设备的种类繁多,但是这些设备会有一些共同的特性,根据这些特性可以把USB设备划分为不同的类,如显示设备、通信设备、音 ...

博鱼·体育登录入口基于STM32+RC522设计的门禁系统(图8)

  站点相关:综合资讯51单片机PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程


相关标签:
热门产品