• 毕业设计 STM32远程车锁控制系统 -物联网 单片机


    基于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);	
    	}											    
    }
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89

    源码:
    https://blog.csdn.net/m0_71369066/article/details/126415022

  • 相关阅读:
    合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(一)
    linux下的永久保存行号
    DRF统一返回格式
    Android 使用 MediaPlayer 播放声音
    3.harbor仓库安装
    找兼职那些事(在家办公)
    Vue3路由的使用
    韩国LetinAR新进展:单镜片4.55g,光效达10%
    热赛道上的冷思考:乘数效应才是东数西算的根本要求
    C++IO流
  • 原文地址:https://blog.csdn.net/m0_71369066/article/details/126520453