一.系统概述

  1. 注册与识别:用户通过IC卡注册创建新账号,同时录入指纹数据。系统运行信息通过LCD1602液晶屏显示。
  2. 注销验证:在注销IC卡时,需要进行指纹验证,只要其中一个指纹通过验证,即可完成注销。
  3. 充值功能:系统允许对IC卡进行充值,并且在掉电的情况下,IC卡内的金额依旧保存。
  4. 充电桩选择与设置:用户可选择指定的充电桩,并设定充电的时长和费用(例如,1分钟对应1元、2分钟对应2元、3分钟对应3元)。
  5. 充电启动与安全管理:在确认充电桩和充电时长后,用户需刷卡并进行指纹验证(只需其中一个验证通过),方可启动充电;若充电过程中余额不足,则会触发蜂鸣器报警,充电结束时继电器断开,标志充电完成。

在这里插入图片描述

二.电路设计

电路图采用Altium Designer进行设计:

  1. 电路图采用Altium Designer进行设计,其核心部分为由STM32F103C8T6单片机构成的最小系统电路。
  2. 系统利用AS608模块完成指纹数据采集,该模块通过UART串口与单片机通信。
  3. 商品刷卡检测通过RC522模块实现,该模块采用SPI总线方式与单片机相连接。
  4. 通过0.96寸OLED12864显示屏进行数据显示,该显示屏采用IIC总线与单片机通信。
  5. 充断电功能通过继电器控制,继电器的数据输出端直接与单片机的GPIO口相联。
  6. 报警功能采用有源蜂鸣器,并通过NPN三极管对蜂鸣器进行驱动。

在这里插入图片描述

在这里插入图片描述

三.程序设计

#include “sys.h”
#include “delay.h”
#include “math.h”
#include “key.h”
#include “OLED_I2C.h”
#include “Control_Report_To_Police.h”

extern u8 TEXT_Buffer[4];
extern u8 balance;
extern unsigned char Care_Incre[4];
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
delay_init(); //延时函数初始化

 TIM4_Init(300,7200);     //定时器初始化
 
 IIC_GPIO_Init();
 balance=At24c02Read(1);
 Care_Incre[0]=At24c02Read(2);
 Care_Incre[1]=At24c02Read(3);
 Care_Incre[2]=At24c02Read(4);
 Care_Incre[3]=At24c02Read(5);
 KEY_Init();
 
 Relay_init();
 
 Beep_init();
 
 RC5222_GPIO_Init_analog_Spi();
 
 Beep=1;

 LCD1602_GPIO_Configuration();
 
 Usart1_Init(9600);
 
 RTC_Init();

while(1)
{
OLED_Display_Cotrol(); //显示控制函数
}
}

四.资料内容

在这里插入图片描述

24-32-82

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐