基于STM32远程车锁控制系统
停车场车位锁设计有蓝牙控制功能,
可以通过蓝牙控制启动开锁,用步进电机模拟,开锁之后当车进行倒车的时候,
可以将超声波采集到的距离数据发送给APP,另外当光敏电阻监测到比较暗的时候,会控制LED灯亮,给车照明。
车停好之后可以远程控制车锁上,电机模拟。
车锁之后如果光电管监测到有车要进入车位的时候,控制蜂鸣器报警提示。






// [主函数代码]
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "hmi.h"
#include "adc.h"
#include "stdio.h"
#include "string.h"
#include "dht11.h"
#include "stdlib.h"
u8 table1[20];
u8 table2[20];
u8 table3[20];
u8 table4[20];
u8 table5[20];
u8 table6[20];
DHT11_Data_TypeDef DHT11_Data;
int main(void)
{
u16 adcx;
float temp;
float value=2.5;
delay_init(); //延时函数初始化
uart_init(9600); //串口初始化为9600
LED_Init(); //初始化与LED连接的硬件接口
Adc_Init(); //ADC初始化
DHT11_GPIO_Config();
HMISendstart();
while(1)
{
adcx=Get_Adc_Average(ADC_Channel_1,10);
sprintf((char*)table1,"%d",adcx);
HMISends("t3.txt=\""); //向串口屏发送电压值
HMISends(table1);
HMISends("\"");
HMISendb(0xff);
temp=(float)adcx*(3.3/4096);
sprintf((char*)table2,"%f",temp);
HMISends("t4.txt=\""); //向串口屏发送电压值
HMISends(table2);
HMISends("\"");
HMISendb(0xff);
if( Read_DHT11(&DHT11_Data)==SUCCESS)
{
LED0=!LED0;
sprintf((char*)table3,"%d",DHT11_Data.humi_int);
HMISends("t6.txt=\"");
HMISends(table3);
HMISends("\"");
HMISendb(0xff);
sprintf((char*)table4,"%d",DHT11_Data.temp_int);
HMISends("t8.txt=\"");
HMISends(table4);
HMISends("\"");
HMISendb(0xff);
}
if(USART_RX_STA&0x8000)
{
if(strcmp((char*)USART_RX_BUF,"moist")==0)
{
JDQ=0;
delay_ms(1000);
}
else
{
value=atof((char*)USART_RX_BUF);
}
memset(USART_RX_BUF,0,sizeof(USART_RX_BUF));
USART_RX_STA=0;
}
if((temp>value)||(temp>2.5))
{
JDQ=0;
BEEP=0;
}
else
{
JDQ=1;
BEEP=1;
}
delay_ms(250);
}
}
源码:
https://blog.csdn.net/m0_71369066/article/details/126415022